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

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

Indexes

B+Tree

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.

Data Model

Relational Document / XML

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

System Architecture

Shared-Disk

SequoiaDB Logo
Website

http://www.sequoiadb.com

Source Code

https://github.com/SequoiaDB/SequoiaDB

Tech Docs

http://doc.sequoiadb.com/cn/sequoiadb

Developer

SequoiaDB Corporation

Country of Origin

CN

Start Year

2011

Project Type

Commercial, Open Source

Written in

C++

Supported languages

C, C#, C++, Java, PHP, Python

Compatible With

MySQL, PostgreSQL, Spark SQL

Operating Systems

Linux

Licenses

AGPL v3

Wikipedia

https://en.wikipedia.org/wiki/SequoiaDB