HOME

TheInfoList



OR:

NewSQL is a class of relational
database management system In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and an ...
s that seek to provide the scalability of
NoSQL NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
systems for
online transaction processing Online transaction processing (OLTP) is a type of database system used in transaction-oriented applications, such as many operational systems. "Online" refers to the fact that such systems are expected to respond to user requests and process them i ...
(OLTP) workloads while maintaining the
ACID An acid is a molecule or ion capable of either donating a proton (i.e. Hydron, hydrogen cation, H+), known as a Brønsted–Lowry acid–base theory, Brønsted–Lowry acid, or forming a covalent bond with an electron pair, known as a Lewis ...
guarantees of a traditional database system. Many
enterprise systems Enterprise (or the archaic spelling Enterprize) may refer to: Business and economics Brands and enterprises * Enterprise GP Holdings, an energy holding company * Enterprise plc, a UK civil engineering and maintenance company * Enterpri ...
that handle high-profile data (e.g., financial and order processing systems) are too large for conventional relational databases, but have transactional and consistency requirements that are not practical for NoSQL systems. The only options previously available for these organizations were to either purchase more powerful computers or to develop custom
middleware Middleware is a type of computer software program that provides services to software applications beyond those available from the operating system. It can be described as "software glue". Middleware makes it easier for software developers to imple ...
that distributes requests over conventional
DBMS In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and ana ...
. Both approaches feature high infrastructure costs and/or development costs. NewSQL systems attempt to reconcile the conflicts.


History

The term was first used by 451 Group analyst Matthew Aslett in a 2011 research paper discussing the rise of a new generation of database management systems. One of the first NewSQL systems was the
H-Store H-Store is an experimental database management system (DBMS). It was designed for online transaction processing applications. H-Store was developed by a team at Brown University, Carnegie Mellon University, the Massachusetts Institute of Technolog ...
parallel database system.


Applications

Typical applications are characterized by heavy
OLTP Online transaction processing (OLTP) is a type of database system used in transaction-oriented applications, such as many operational systems. "Online" refers to the fact that such systems are expected to respond to user requests and process them i ...
transaction volumes. OLTP transactions; * are short-lived (i.e., no user stalls) * touch small amounts of data per transaction * use indexed lookups (no table scans) * have a small number of forms (a small number of queries with different arguments). However, some support hybrid transactional/analytical processing (HTAP) applications. Such systems improve performance and scalability by omitting heavyweight recovery or
concurrency control In information technology and computer science, especially in the fields of computer programming, operating systems, multiprocessors, and databases, concurrency control ensures that correct results for concurrent operations are generated, whil ...
.


List of NewSQL-databases

* Apache Trafodion *
Clustrix Clustrix, Inc. is a San Francisco-based private company founded in 2006 that developed a database management system marketed as NewSQL. History Clustrix was founded in November 2006, and is sometimes called ''Sprout-Clustrix'' as it formed with ...
*
CockroachDB CockroachDB is a source-available distributed SQL database management system developed by Cockroach Labs. The relational functionality is built on top of a distributed, transactional, consistent key-value store that can survive a variety of d ...
*
Couchbase Couchbase Server, originally known as Membase, is a source-available, distributed ( shared-nothing architecture) multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serv ...
*
CrateDB CrateDB is a distributed SQL database management system that integrates a fully searchable document-oriented data store. It is open-source, written in Java, based on a shared-nothing architecture, and designed for high scalability. CrateDB inclu ...
* Google Spanner * MySQL Cluster *
NuoDB NuoDB is a cloud-native distributed SQL database company based in Cambridge, Massachusetts. Founded in 2008 and incorporated in 2010, NuoDB technology has been used by Dassault Systèmes, as well as FinTech and financial industry entities incl ...
* Pivotal GemFire XD *
SequoiaDB 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 con ...
*
SingleStore SingleStore (formerly MemSQL) is a Distributed database, distributed, Comparison of relational database management systems, relational, Structured Query Language, SQL database management system (RDBMS) that features ANSI Structured Query Language, ...
was formerly known as MemSQL. * TIBCO Active Spaces *
TiDB TiDB (/’taɪdiːbi:/, "Ti" stands for Titanium) is an open-source NewSQL database that supports Hybrid Transactional and Analytical Processing ( HTAP) workloads. Designed to be MySQL compatible, it is developed and supported primarily by Ping ...
*
TokuDB TokuDB is an open-source, high-performance storage engine for MySQL and MariaDB. It achieves this by using a fractal tree index. It is scalable, ACID and MVCC compliant, provides indexing-based query improvements, offers online schema modifi ...
*
TransLattice TransLattice was a software company based in Santa Clara, California that operated from 2007 to around 2016. It geographically distributed databases and applications for enterprise, cloud, and hybrid environments. TransLattice offered a NewSQL ...
Elastic Database *
VoltDB Volt Active Data (formerly VoltDB) is an in-memory database designed by Michael Stonebraker, Sam Madden, and Daniel Abadi. It is an ACID-compliant RDBMS that uses a shared-nothing architecture, and is derived from work done by Stonebraker ...
* YDB *
YugabyteDB YugabyteDB is a high-performance transactional distributed SQL database for cloud-native applications, developed by Yugabyte. History Yugabyte was founded by ex-Facebook engineers Kannan Muthukkaruppan, Karthik Ranganathan, and Mikhail Bau ...


Features

The two common distinguishing features of NewSQL database solutions are that they support online scalability of NoSQL databases and the relational data model (including ACID consistency) using
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
as their primary interface. NewSQL systems can be loosely grouped into three categories:


New architectures

NewSQL systems adopt various internal architectures. Some systems employ a cluster of shared-nothing nodes, in which each node manages a subset of the data. They include components such as distributed concurrency control, flow control, and distributed query processing.


SQL engines

The second category are optimized storage engines for
SQL Structured Query Language (SQL) (pronounced ''S-Q-L''; or alternatively as "sequel") is a domain-specific language used to manage data, especially in a relational database management system (RDBMS). It is particularly useful in handling s ...
. These systems provide the same programming interface as SQL, but scale better than built-in engines.


Transparent sharding

These systems automatically split databases across multiple nodes using
Raft A raft is any flat structure for support or transportation over water. It is usually of basic design, characterized by the absence of a hull. Rafts are usually kept afloat by using any combination of buoyant materials such as wood, sealed barre ...
or Paxos consensus algorithm.


See also

*
Transaction processing In computer science, transaction processing is information processing that is divided into individual, indivisible operations called ''transactions''. Each transaction must succeed or fail as a complete unit; it can never be only partially c ...
*
Partition (database) A partition is a division of a logical database or its constituent elements into distinct independent parts. Database partitioning refers to intentionally breaking a large database into smaller ones for scalability purposes, distinct from network ...
* Distributed Relational Database Architecture * Distributed SQL


References

{{Databases Data management Distributed data stores Database management systems