From 5613c5044819fee55e959f109feef00b274c385a Mon Sep 17 00:00:00 2001 From: auxten Date: Fri, 17 May 2019 12:39:14 +0800 Subject: [PATCH 1/4] Readme collapse --- README.md | 117 +++++++++++++++++++++++++++++++----------------------- 1 file changed, 68 insertions(+), 49 deletions(-) diff --git a/README.md b/README.md index da2488202..79ad9b7bc 100644 --- a/README.md +++ b/README.md @@ -43,8 +43,15 @@ CovenantSQL(CQL) is a Decentralized, GDPR-compliant, Trusted, SQL database with ## Quick Start -#### MacOS +CQL clients supports: + +- macOS X 10.9+ +- Linux 2.6.23+ (x86, x86_64, armeabi-v7a, arm64-v8a) +
Guide for Developers +

+ +#### MacOS - 🍺 Homebrew users can just run: ```bash @@ -67,6 +74,21 @@ CovenantSQL(CQL) is a Decentralized, GDPR-compliant, Trusted, SQL database with #### To continue: [TestNet Quickstart](https://developers.covenantsql.io/docs/en/quickstart) +#### Connectors + +CovenantSQL is still under construction and Testnet is already released, [have a try](https://developers.covenantsql.io/docs/quickstart). + + +- [Golang](client/) +- [Java](https://github.com/CovenantSQL/covenant-connector) +- [NodeJS](https://github.com/CovenantSQL/covenantsql-proxy-js) +- [Python](https://github.com/CovenantSQL/python-driver) +- [Microsoft Excel (by community)](https://github.com/melancholiaforever/CQL_Excel) + +

+
+ + ## How CQL works ### 3 Layers Arch @@ -83,6 +105,10 @@ CovenantSQL(CQL) is a Decentralized, GDPR-compliant, Trusted, SQL database with - Each Database has its own independent distributed engine. - Mainly responsible for: database storage & encryption, query processing & signature, efficient indexing. + +
For more details +

+ ### Consensus Algorithm CQL supports 2 kinds of consensus algorithm: @@ -122,6 +148,42 @@ CQL database consistency mode and node count can be selected in database creatio fio --debug=io --loops=1 --size=8m --filename=../mnt/fiotest.tmp --stonewall --direct=1 --name=Seqread --bs=128k --rw=read --name=Seqwrite --bs=128k --rw=write --name=4krandread --bs=4k --rw=randread --name=4krandwrite --bs=4k --rw=randwrite ``` +### Network Stack + +[DH-RPC](rpc/) := TLS - Cert + DHT + +| Layer | Implementation | +|:-------------------|:--------------:| +| RPC | `net/rpc` | +| Naming | [**C**onsistent **S**ecure **DHT**](https://godoc.org/github.com/CovenantSQL/CovenantSQL/consistent) | +| Pooling | Session Pool | +| Multiplex | [smux](https://github.com/xtaci/smux) | +| Transport Security | [**E**nhanced **TLS**](https://github.com/CovenantSQL/research/wiki/ETLS(Enhanced-Transport-Layer-Security)) | +| Network | TCP or KCP for optional later | + +### Test Tools we use + - [**G**lobal **N**etwork **T**opology **E**mulator](https://github.com/CovenantSQL/GNTE) is used for network emulating. + - [Liner Consistency Test](https://github.com/anishathalye/porcupine) + +## Papers + +Our team members published: + +- [Thunder crystal: a novel crowdsourcing-based content distribution platform](https://dl.acm.org/citation.cfm?id=2736085) +- [Analyzing streaming performance in crowdsourcing-based video service systems](https://ieeexplore.ieee.org/abstract/document/7114727/) +- [Performance Analysis of Thunder Crystal: A Crowdsourcing-Based Video Distribution Platform](https://ieeexplore.ieee.org/abstract/document/7762143/) + +that inspired us: + +- [Bitcoin: A Peer-to-Peer Electronic Cash System](https://bitcoin.org/bitcoin.pdf) +- [S/Kademlia](https://github.com/thunderdb/research/wiki/Secure-Kademlia) + - [S/Kademlia: A practicable approach towards secure key-based routing](https://ieeexplore.ieee.org/document/4447808/) +- [vSQL: Verifying arbitrary SQL queries over dynamic outsourced databases](https://ieeexplore.ieee.org/abstract/document/7958614/) + + +

+
+ ## Performance Strong consistency bench result (2 miners, 8 core aws c5.2xlarge): @@ -140,6 +202,9 @@ As seen above, the concurrency pressure on the database increased gradually in t ## Use cases +
Traditional App & ĐApp use cases +

+ ### Traditional App #### Privacy data @@ -173,54 +238,8 @@ Thanks to the CQL data history is immutable, CQL can be used as a storage for se Storing data on Bitcoin or Ethereum is quite expensive ($4305 / MB on Ethereum 2018-05-15). Programming is very complicated due to the lack of support for structured data storage. CQL gives you a low-cost structured SQL database and also provides more room for ĐApp to exchange data with real-world. -## Papers - -Our team members published: - -- [Thunder crystal: a novel crowdsourcing-based content distribution platform](https://dl.acm.org/citation.cfm?id=2736085) -- [Analyzing streaming performance in crowdsourcing-based video service systems](https://ieeexplore.ieee.org/abstract/document/7114727/) -- [Performance Analysis of Thunder Crystal: A Crowdsourcing-Based Video Distribution Platform](https://ieeexplore.ieee.org/abstract/document/7762143/) - -that inspired us: - -- [Bitcoin: A Peer-to-Peer Electronic Cash System](https://bitcoin.org/bitcoin.pdf) -- [S/Kademlia](https://github.com/thunderdb/research/wiki/Secure-Kademlia) - - [S/Kademlia: A practicable approach towards secure key-based routing](https://ieeexplore.ieee.org/document/4447808/) -- [vSQL: Verifying arbitrary SQL queries over dynamic outsourced databases](https://ieeexplore.ieee.org/abstract/document/7958614/) - - -## Libs - -### Network Stack - -[DH-RPC](rpc/) := TLS - Cert + DHT - -| Layer | Implementation | -|:-------------------|:--------------:| -| RPC | `net/rpc` | -| Naming | [**C**onsistent **S**ecure **DHT**](https://godoc.org/github.com/CovenantSQL/CovenantSQL/consistent) | -| Pooling | Session Pool | -| Multiplex | [smux](https://github.com/xtaci/smux) | -| Transport Security | [**E**nhanced **TLS**](https://github.com/CovenantSQL/research/wiki/ETLS(Enhanced-Transport-Layer-Security)) | -| Network | TCP or KCP for optional later | - - -#### Test Tools - - [**G**lobal **N**etwork **T**opology **E**mulator](https://github.com/CovenantSQL/GNTE) is used for network emulating. - - [Liner Consistency Test](https://github.com/anishathalye/porcupine) - - -#### Connector - -CovenantSQL is still under construction and Testnet is already released, [have a try](https://developers.covenantsql.io/docs/quickstart). - - -- [Golang](client/) -- [Java](https://github.com/CovenantSQL/covenant-connector) -- [NodeJS](https://github.com/CovenantSQL/covenantsql-proxy-js) -- [Python](https://github.com/CovenantSQL/python-driver) -- [Microsoft Excel (by community)](https://github.com/melancholiaforever/CQL_Excel) -- Coding for more…… +

+
## TestNet From 011d8bec04a685506189cdcccb9835d9827966f5 Mon Sep 17 00:00:00 2001 From: auxten Date: Fri, 17 May 2019 12:40:31 +0800 Subject: [PATCH 2/4] Update README.md --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index 79ad9b7bc..1fcc26cc3 100644 --- a/README.md +++ b/README.md @@ -194,7 +194,6 @@ As seen above, the concurrency pressure on the database increased gradually in t ## Demos - [CovenantForum](https://demo.covenantsql.io/forum/) -- [Twitter Bot @iBlockPin](https://twitter.com/iblockpin) - [Weibo Bot @BlockPin](https://weibo.com/BlockPin) - [Markdown Editor with CovenantSQL sync](https://github.com/CovenantSQL/stackedit) - [Web Admin for CovenantSQL](https://github.com/CovenantSQL/adminer) From fee0dc3d8aae4d48b6d1978bc3bf6d347ea8612e Mon Sep 17 00:00:00 2001 From: auxten Date: Fri, 17 May 2019 13:42:41 +0800 Subject: [PATCH 3/4] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1fcc26cc3..8bd677456 100644 --- a/README.md +++ b/README.md @@ -43,12 +43,12 @@ CovenantSQL(CQL) is a Decentralized, GDPR-compliant, Trusted, SQL database with ## Quick Start -CQL clients supports: +CQL client supports: - macOS X 10.9+ - Linux 2.6.23+ (x86, x86_64, armeabi-v7a, arm64-v8a) -
Guide for Developers +
Developer Guide

#### MacOS From d9dfb2f192ef9a815c11465cbe2b3eda7b1bd1ce Mon Sep 17 00:00:00 2001 From: auxten Date: Fri, 17 May 2019 14:16:52 +0800 Subject: [PATCH 4/4] Update README.md --- README.md | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 8bd677456..c0788c554 100644 --- a/README.md +++ b/README.md @@ -37,9 +37,9 @@ CovenantSQL(CQL) is a Decentralized, GDPR-compliant, Trusted, SQL database with ## What is CQL? -- Open source alternative of [Amazon QLDB](https://aws.amazon.com/qldb/) +- Open source alternative of Amazon QLDB - Low cost DBaaS -- Just like [filecoin](https://filecoin.io/) + [IPFS](https://ipfs.io/) is the decentralized file system, CQL is the decentralized database +- Just like filecoin + IPFS is the decentralized file system, CQL is the decentralized database ## Quick Start @@ -74,10 +74,9 @@ CQL client supports: #### To continue: [TestNet Quickstart](https://developers.covenantsql.io/docs/en/quickstart) -#### Connectors - -CovenantSQL is still under construction and Testnet is already released, [have a try](https://developers.covenantsql.io/docs/quickstart). +#### SDKs +CovenantSQL Testnet is already released, [have a try](https://developers.covenantsql.io/docs/quickstart). - [Golang](client/) - [Java](https://github.com/CovenantSQL/covenant-connector)