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

Database Entry

SequoiaDB


SequoiaDB is a distributed relational database with a storage layer and a computing layer.[05][06]

Source Code
https://github.com/SequoiaDB/SequoiaDB[02]
Developer
Country of Origin
CN
Start Year
2011 [10]
Project Types
Commercial, Open Source
Written in
C++
Supported Languages
C, C#, C++, Java, PHP, Python
Compatible With
MySQL, PostgreSQL, Spark SQL
Operating System
Linux
License
AGPL v3

The storage layer is a database storage engine that uses the Raft algorithm to achieve data consistency across a distributed environment.

The computing layer consists of relational database instances such as a MySQL instance, semi-structured data access instances such as via JSON APIs, and/or unstructured data storage model instances such as with AWS S3.

Key features of SequoiaDB include

  • Distributed OLTP with availability and consistency guarantees
  • Petabyte-level horizontal scalability
  • Hybrid Transactional / Analytical Processing (HTAP)
  • 2-region 3-data-center recovery mechanisms

Database Entry

SequoiaDB


SequoiaDB is a distributed relational database with a storage layer and a computing layer.

The storage layer is a database storage engine that uses the Raft algorithm to achieve data consistency across a distributed environment.

The computing layer consists of relational database instances such as a MySQL instance, semi-structured data access instances such as via JSON APIs, and/or unstructured data storage model instances such as with AWS S3.

Key features of SequoiaDB include[05][06]

  • Distributed OLTP with availability and consistency guarantees
  • Petabyte-level horizontal scalability
  • Hybrid Transactional / Analytical Processing (HTAP)
  • 2-region 3-data-center recovery mechanisms

Data Model[07][08]


SequoiaDB supports relational, semi-structured (e.g. JSON), and unstructured (e.g. POSIX file) data storage.

Indexes[08][09]


Indexes in SequoiaDB use conventional B-trees. An index has the following fields:

  • name: a unique name for the index on the data collection
  • key: a JSON object that defines the indexing criteria and direction
  • unique: an optional flag, default false, indicating if the indexing fields must be unique fields on the data collection
  • enforced: an optional flag, default false, only effective if unique is set to true, indicating if the indexed fields must not be NULL

In addition to regular indexes, SequoiaDB supports full-text searching via Elasticsearch.

System Architecture


Revision #13