NewByVector / scql

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

Home Page:https://www.secretflow.org.cn/docs/scql/en/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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 /bin/bash

# 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'
# Build documentation in English
make doc

# Build documentation in Chinese
make doc-cn

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.

https://www.secretflow.org.cn/docs/scql/en/

License:Apache License 2.0


Languages

Language:Go 73.5%Language:C++ 19.2%Language:Yacc 5.3%Language:Starlark 1.2%Language:Python 0.3%Language:Shell 0.3%Language:Makefile 0.1%Language:Dockerfile 0.0%Language:C 0.0%