DBDB.io The Encyclopedia of Database Systems · Est. 2017
Database of Databases

Database Entry

CovenantSQL


CovenantSQL is a decentralized SQL database management system derived from SQLite and 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 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.[04]

Source Code
https://github.com/CovenantSQL/CovenantSQL[02]
Developer
Country of Origin
CN
Start Year
2018
Project Types
Commercial, Open Source
Written in
Go
Supported Languages
Go, Java, JavaScript, Python, SQL
Derived From
SQLite
Operating Systems
Linux, macOS
License
Apache v2

Database Entry

CovenantSQL


CovenantSQL is a decentralized SQL database management system derived from SQLite and 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 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.[04]

History[02]


CovenantSQL was developed and made open source in 2018.

Checkpoints[05]


Individual miners run SQLite.

Concurrency Control[05]


Individual miners run SQLite.

Data Model[05]


Individual miners run SQLite.

Foreign Keys[05]


Individual miners run SQLite.

Indexes[05]


Individual miners run SQLite.

Isolation Levels[05]


Same as SQLite.

Joins[05]


Same as SQLite.

Logging[05]


Individual miners run SQLite.

Query Compilation[05]


Individual miners run SQLite.

Query Execution[05]


Individual miners run SQLite.

Query Interface[05]


SQL

CovenantSQL supports the same set of standard SQLite commands.

Storage Architecture[05]


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

Storage Model[05]


Individual miners run SQLite.

Stored Procedures[05]


Same as SQLite.

System Architecture[06]


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.

Views[05]


Same as (SQLite).

Revision #13 Last Updated: