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.
Indexes in SequoiaDB use conventional B-trees. An index has the following fields:
name
: a unique name for the index on the data collectionkey
: a JSON object that defines the indexing criteria and directionunique
: an optional flag, default false
, indicating if the indexing fields must be unique fields on the data collectionenforced
: 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.
https://github.com/SequoiaDB/SequoiaDB
http://doc.sequoiadb.com/cn/sequoiadb
SequoiaDB Corporation
2011