Harman Patil (Editor)

SequoiaDB

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit
SequoiaDB

SequoiaDB is a document-oriented NOSQL database that supports JSON transaction processing and SQL. The database is horizontally scalable and provides high performance. SequoiaDB supports real time query and data analysis, also integrates well with Spark, Hadoop/Cloudera.SequoiaDB’s first release is in 2013, and the latest release is version V1.10. SequoiaDB was open-source in December 2014.

Contents

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.

Infraustructure

SequoiaDB applies distributed structure. 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.

Features

1) Transaction: Transaction performs as a complete unit of work. The operations in transaction execute either all succeed or all fail. SequoiaDB performs distributed transactions by implementing two-phrase commit (2PC) transactions.

2) Data Model: Instead of storing in relational structures, SequoiaDB can store data in JSON format document, and is also called ‘Record’ .

3) Replication: One or multiple data nodes can constitute a Replica set. In a Replica set, data in all data node is eventually consistent. Data Replica set is also called shard. Different shards store different data. Every shard contains one or multiple data nodes. When there are several nodes in it, asynchronous replication is fulfilled. In a shard, there are master node and several slave nodes. Master nodes allows read and write operations. Slave nodes allows read operations.

4) Disaster Recovery: Native multi data center replication support, achieving disaster recovery.

Programming Supports

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

SequoiaDB is also certified with CDH5 of Cloudera

References

SequoiaDB Wikipedia