SequoiaDB

Last updated

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.

Contents

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 infrastructure.jpg
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]

Related Research Articles

<span class="mw-page-title-main">MySQL</span> SQL database engine software

MySQL is an open-source relational database management system (RDBMS). Its name is a combination of "My", the name of co-founder Michael Widenius's daughter My, and "SQL", the acronym for Structured Query Language. A relational database organizes data into one or more data tables in which data may be related to each other; these relations help structure the data. SQL is a language that programmers use to create, modify and extract data from the relational database, as well as control user access to the database. In addition to relational databases and SQL, an RDBMS like MySQL works with an operating system to implement a relational database in a computer's storage system, manages users, allows for network access and facilitates testing database integrity and creation of backups.

<span class="mw-page-title-main">IBM Db2</span> Relational model database server

Db2 is a family of data management products, including database servers, developed by IBM. It initially supported the relational model, but was extended to support object–relational features and non-relational structures like JSON and XML. The brand name was originally styled as DB/2, then DB2 until 2017 and finally changed to its present form.

Multi-master replication is a method of database replication which allows data to be stored by a group of computers, and updated by any member of the group. All members are responsive to client data queries. The multi-master replication system is responsible for propagating the data modifications made by each member to the rest of the group and resolving any conflicts that might arise between concurrent changes made by different members.

<span class="mw-page-title-main">Mnesia</span>

Mnesia is a distributed, soft real-time database management system written in the Erlang programming language. It is distributed as part of the Open Telecom Platform.

SAP IQ is a column-based, petabyte scale, relational database software system used for business intelligence, data warehousing, and data marts. Produced by Sybase Inc., now an SAP company, its primary function is to analyze large amounts of data in a low-cost, highly available environment. SAP IQ is often credited with pioneering the commercialization of column-store technology.

Sphinx is a fulltext search engine that provides text search functionality to client applications.

Operational database management systems, are used to update data in real-time. These types of databases allow users to do more than simply view archived data. Operational databases allow you to modify that data, doing it in real-time. OLTP databases provide transactions as main abstraction to guarantee data consistency that guarantee the so-called ACID properties. Basically, the consistency of the data is guaranteed in the case of failures and/or concurrent access to the data.

An embedded database system is a database management system (DBMS) which is tightly integrated with an application software; it is embedded in the application. It is a broad technology category that includes:

<span class="mw-page-title-main">Exasol</span> Database management software company

Exasol is an analytics database management software company. Its product is called Exasol, an in-memory, column-oriented, relational database management system

<span class="mw-page-title-main">Couchbase Server</span> Open-source NoSQL database

Couchbase Server, originally known as Membase, is a source-available, distributed multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many concurrent users by creating, storing, retrieving, aggregating, manipulating and presenting data. In support of these kinds of application needs, Couchbase Server is designed to provide easy-to-scale key-value, or JSON document access, with low latency and high sustainability throughput. It is designed to be clustered from a single machine to very large-scale deployments spanning many machines.

<span class="mw-page-title-main">Actian Zen</span>

Actian Zen is an ACID-compliant, Zero-DBA, Embedded, Nano-footprint, Multi-Model, Multi-Platform database management system (DBMS) developed originally by Pervasive Software, which was acquired by Actian Corporation in 2013.

<span class="mw-page-title-main">SingleStore</span> Database management system

SingleStore is a proprietary, cloud-native database designed for data-intensive applications. A distributed, relational, SQL database management system (RDBMS) that features ANSI SQL support, it is known for speed in data ingest, transaction processing, and query processing.

<span class="mw-page-title-main">Oracle NoSQL Database</span> Distributed database

Oracle NoSQL Database is a NoSQL-type distributed key-value database from Oracle Corporation. It provides transactional semantics for data manipulation, horizontal scalability, and simple administration and monitoring.

NewSQL is a class of relational database management systems that seek to provide the scalability of NoSQL systems for online transaction processing (OLTP) workloads while maintaining the ACID guarantees of a traditional database system.

Aerospike Database is a real-time, high performance NoSQL database. Designed for applications that cannot experience any downtime and require high read & write throughput. Aerospike is optimized to run on NVMe SSDs capable of efficiently storing large datasets. Aerospike can also be deployed as a fully in-memory cache database. Aerospike offers Key-Value, JSON Document, and Graph data models. Aerospike is open source distributed NoSQL database management system, marketed by the company also named Aerospike.

In the field of database design, a multi-model database is a database management system designed to support multiple data models against a single, integrated backend. In contrast, most database management systems are organized around a single data model that determines how data can be organized, stored, and manipulated. Document, graph, relational, and key–value models are examples of data models that may be supported by a multi-model database.

The following outline is provided as an overview of and topical guide to MySQL:

<span class="mw-page-title-main">ArangoDB</span> Multi-model database

ArangoDB is a graph database system developed by ArangoDB Inc. ArangoDB is a multi-model database system since it supports three data models with one database core and a unified query language AQL. AQL is mainly a declarative language and allows the combination of different data access patterns in a single query.

<span class="mw-page-title-main">YugabyteDB</span> Transactional distributed SQL database

YugabyteDB is a high-performance transactional distributed SQL database for cloud-native applications, developed by Yugabyte.

RavenDB is an open-source fully ACID document-oriented database written in C#, developed by Hibernating Rhinos Ltd. It is cross-platform, supported on Windows, Linux, and Mac OS. RavenDB stores data as JSON documents and can be deployed in distributed clusters with master-master replication.

References