# scql **Repository Path**: firstone001/scql ## Basic Information - **Project Name**: scql - **Description**: 隐语的MPC SQL数据分析引擎,提供SQL语法的多方安全联合的数据分析能力。 - **Primary Language**: Go - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 4 - **Created**: 2023-07-14 - **Last Updated**: 2024-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # SCQL [![CircleCI](https://dl.circleci.com/status-badge/img/gh/secretflow/scql/tree/main.svg?style=svg)](https://dl.circleci.com/status-badge/redirect/gh/secretflow/scql/tree/main) 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](./docs/imgs/scql_workflow.png) ## Contents - [Documentation](https://www.secretflow.org.cn/docs/scql/en/) - [Build and Test](#build) ## Build ### Prerequisite #### Docker ```sh ## 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 ```sh # 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 ./pkg/... ``` ### Build docs ```sh # 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 ``` ## Hardware Requirements The following requirements only apply to SCQLEngine. - CPU * x86_64: minimum required AVX instruction set. For FourQ based PSI, the AVX2 instruction set is required. ## 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](https://github.com/pingcap/tidb) for providing a powerful SQL parser and planner.