Skip to content

SCQL (Secure Collaborative Query Language) is a system that allows multiple distrusting parties to run joint analysis without revealing their private data.

License

Notifications You must be signed in to change notification settings

CodeWilliamHuang/scql

 
 

Repository files navigation

SCQL

CircleCI

Secure Collaborative Query Language (SCQL) is a system that translates SQL statements into Secure Multiparty Computation (SMC) primitives and executes them on a federation of database systems.

SCQL Workflow

Contents

Build

Prerequisite

Docker

## start dev container
docker run -d -it --name scql-dev-$(whoami) \
         --mount type=bind,source="$(pwd)",target=/home/admin/dev/ \
         -w /home/admin/dev \
         --cap-add=SYS_PTRACE --security-opt seccomp=unconfined \
         --cap-add=NET_ADMIN \
         --privileged=true \
         secretflow/scql-ci:latest

# attach to dev container
docker exec -it scql-dev-$(whoami) bash

Build & UnitTest

# build SCQL engine as release
bazel build //engine/exe:scqlengine -c opt

# test

# run unittests for SCQL engine
bazel test //engine/...

# update scdb proto
make pb

# build scdb code
make

# run scdb unit tests
go test ./...

Build docs

# prerequisite
pip3 install -U -r docs/requirements.txt

# Build HTML docs, and the result is placed in directory 'docs/_build/html'
cd docs
make html

Disclaimer

Non-release versions of SCQL are prohibited to use in any production environment due to possible bugs, glitches, lack of functionality, security issues or other problems.

Acknowledgments

  • Thanks TiDB for providing a powerful SQL parser and planner.

About

SCQL (Secure Collaborative Query Language) is a system that allows multiple distrusting parties to run joint analysis without revealing their private data.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 76.4%
  • C++ 15.8%
  • Yacc 6.3%
  • Starlark 1.2%
  • Python 0.1%
  • Shell 0.1%
  • Other 0.1%