CovenantSQL

CovenantSQL is a decentralized SQL database management system built on top of a blockchain. It supports most of the SQL-92 features. Each party interacting with CovenantSQL is either a client, a Block Producer, or a miner. When a client sends a connection request, the request is directed to one node among a group of nodes called Block Producers. The Block Producers form a public block chain. When a Block Producer receives a request, it allocates a number of CovenantSQL nodes, called miners. The miners self-organize into a separate block chain, called a shard chain, which runs SQL queries from the client. Each miner is an independent database engine running SQLite. CovenantSQL uses Go's driver for SQLite to interact with individual miners.

History

CovenantSQL was developed and made open source in 2018.

System Architecture

Shared-Nothing

CovenantSQL uses a three-level architecture, consisting of a main block chain, many shard chains, and individual miners. The main block chain is a group of nodes called Block Producers, responsible for matching clients to shard chains. Each shard chain, which is a group of computing nodes called miners, is a single database. Each miner is a standalone database engine that is responsible for storage and query processing. The miners reach consensus using a variant of Byzantine Fault-Tolerated Raft, which the developers call Kayak.

Query Interface

SQL

Data Model

Relational

Storage Architecture

Disk-oriented In-Memory

Clients can specify the storage architecture through a parameter in the connection request to the database.

CovenantSQL Logo
Website

https://covenantsql.io/

Source Code

https://github.com/CovenantSQL/CovenantSQL

Tech Docs

https://godoc.org/github.com/CovenantSQL/CovenantSQL,http://developers.covenantsql.io/docs/en/intro

Developer

Covenant Labs

Country of Origin

CN

Start Year

2018

Project Type

Commercial, Open Source

Written in

Go

Supported languages

Go, Java, JavaScript, Python, SQL

Derived From

SQLite

Operating Systems

Linux, OS X

Licenses

Apache v2