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 distributed nodes.

The computing layer consists of relational database instances, which can be a MySQL instance, a semi-structured data access interface via, for example, JSON APIs, or an unstructured data storage interface with, for example, AWS S3.

Key features of SequoiaDB include distributed OLTP with availability and consistency guarantees, petabyte-level horizontal scalability, Hybrid Transactional / Analytical Processing (HTAP), and 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 distributed nodes.

The computing layer consists of relational database instances, which can be a MySQL instance, a semi-structured data access interface via, for example, JSON APIs, or an unstructured data storage interface with, for example, AWS S3.

Key features of SequoiaDB include distributed OLTP with availability and consistency guarantees, petabyte-level horizontal scalability, Hybrid Transactional / Analytical Processing (HTAP), and 2-region 3-data-center recovery mechanisms.[05][06]

Data Model[07][08]


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

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 #15