SequoiaDB

From HandWiki
Short description: Database

SequoiaDB is a multi-model NewSQL database.

SequoiaDB provides distributed NewSQL, distributed file system and object storage, and high-performance NoSQL storage modes, corresponding to distributed online transactions, unstructured data and content management, as well as massive data management and high performance access scenarios.

SequoiaDB's first release is in 2013, SequoiaDB was open-source in December 2014. The latest release of SequoiaDB is v3.0.

In 2017 and 2018, SequoiaDB is listed in Gartner’s database report, and is the first Chinese database vendor listed.[1]

License

SequoiaDB database engine is under GNU Affero General Public License (AGPL V 3.0) license, and the clients, drivers and connectors are under Apache License V2.0.[2]

Infrastructure

SequoiaDB infrastructure

SequoiaDB applies distributed structure.[3] In a client terminal (or an application terminal), local or/and remote applications are linked to SequoiaDB client library. Local or/and remote applications communicate with catalog node under TCP/IP protocol. Catalog node doesn't store any user data. It is only a node that receive requests and distribute them to target data nodes. Coord node store system metadata information. Coord nodes get the location of data on data nodes by communicating with catalog nodes. Data nodes are used to store users' data information.

SequoiaDB 3.0 uses a "Storage-SQL" architecture, which SQL layer and storage engine layer are independent of each other, similar architectures also appear on many new-generation distributed databases such as AWS's Aurora.

Features

Transactions and ACID: SequoiaDB provide full ACID support and transactions cross nodes/clusters. ACID is the basis of a transactional database. SequoiaDB 3.0 has fully supported ACID and 100% support atomicity, consistency, isolation, and durability (ACID).

Standard SQL Support: SequoiaDB provides a distributed SQL engine plugin called SequoiaSQL, which supports standard SQL-2003 and MySQL/PostgreSQL both on syntax and protocol level.

Multi-Model: SequoiaDB supports both relational(structured), object data (unstructured) and JSON (semi-structured) data at the same time. For storage engine, SequoiaDB uses JSON document-oriented data storage model. JSON-based storage is perfect for integrating the heterogeneous data within the enterprise provides a standard way.

HTAP: The operational DBMS is then evolving, with new, innovative entrants and incumbents supporting the in-DBMS analytical capability. SequoiaDB has its Spark connector to integrate with Spark. It can be used as a data source of Spark and support Spark SQL.

Disaster Recovery: SequoiaDB uses MPP architecture to serve GDPS natively. It has the flexibility to be deployed based on the customer High Availability requirements. SequoiaDB supports the active-active data centers depending on the network capacity. SequoiaDB deployment for dual data centers in the same city works perfectly. But it's hard if the data centers are far away, for instance, data centers in different cities.

Programming language support

SequoiaDB supports a lot of programming languages, including C, C++, C#, Java, PHP, Python etc.[4]

References

  1. Other Vendors to Consider of OPDBMS 2017--Gartner
  2. [1] Github SequoiaDB Licence
  3. [2] SequoiaDB Infrastructure
  4. [3] SequoiaDB Drivers

External links