scql

module
v0.0.0-...-d04bc5a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 24, 2024 License: Apache-2.0

README

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

Documentation

Docker Image Release

  • Official release docker image: secretflow/scql
  • We also have mirrors at Alibaba Cloud: secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/scql:[tag]

Contribution Guidelines

If you would like to contribute to SCQL, please see the Contribution guidelines.

This documentation also contains instructions for build and testing

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.

Citing SCQL

If you think SCQL is helpful for your research or development, please consider citing our paper:

@article{scql,
  author       = {Wenjing Fang and
                  Shunde Cao and
                  Guojin Hua and
                  Junming Ma and
                  Yongqiang Yu and
                  Qunshan Huang and
                  Jun Feng and
                  Jin Tan and
                  Xiaopeng Zan and
                  Pu Duan and
                  Yang Yang and
                  Li Wang and
                  Ke Zhang and
                  Lei Wang},
  title        = {SecretFlow-SCQL: {A} Secure Collaborative Query pLatform},
  journal      = {Proc. VLDB Endow.},
  volume       = {17},
  number       = {12},
  pages        = {3987--4000},
  year         = {2024},
  url          = {https://www.vldb.org/pvldb/vol17/p3987-fang.pdf},
}

Acknowledgments

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

Directories

Path Synopsis
cmd
contrib
agent/kusciastub/mock_kusciaapi
Package mock_kusciaapi is a generated GoMock package.
Package mock_kusciaapi is a generated GoMock package.
pkg
executor
Package executor is a generated GoMock package.
Package executor is a generated GoMock package.
parser/ast
Package ast is the abstract syntax tree parsed from a SQL statement by parser.
Package ast is the abstract syntax tree parsed from a SQL statement by parser.
parser/goyacc
Goyacc is a version of yacc generating Go parsers.
Goyacc is a version of yacc generating Go parsers.
scdb/client
Package client is a generated GoMock package.
Package client is a generated GoMock package.
util/brokerutil
Due to circular references, please avoid moving this file to testutil.
Due to circular references, please avoid moving this file to testutil.
proto-gen

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL