NewSQL
   HOME

TheInfoList



OR:

NewSQL is a class of relational
database management system In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases span ...
s that seek to provide the scalability of
NoSQL A NoSQL (originally referring to "non- SQL" or "non-relational") database provides a mechanism for storage and retrieval of data that is modeled in means other than the tabular relations used in relational databases. Such databases have existed ...
systems for
online transaction processing In online transaction processing (OLTP), information systems typically facilitate and manage transaction-oriented applications. This is contrasted with online analytical processing. The term "transaction" can have two different meanings, both of wh ...
(OLTP) workloads while maintaining the
ACID In computer science, ACID ( atomicity, consistency, isolation, durability) is a set of properties of database transactions intended to guarantee data validity despite errors, power failures, and other mishaps. In the context of databases, a sequ ...
guarantees of a traditional database system. Many
enterprise systems Enterprise software, also known as enterprise application software (EAS), is computer software used to satisfy the needs of an organization rather than individual users. Such organizations include businesses, schools, interest-based user groups, ...
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 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 implement co ...
that distributes requests over conventional
DBMS In computing, a database is an organized collection of data stored and accessed electronically. Small databases can be stored on a file system, while large databases are hosted on computer clusters or cloud storage. The design of databases spa ...
. 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
Rubato DB
developed at the University of Alberta, provides the similar scalable performance of NoSQL systems while still maintaining the ACID guaratees of classical database systems.


Applications

Typical applications are characterized by heavy
OLTP In online transaction processing (OLTP), information systems typically facilitate and manage transaction-oriented applications. This is contrasted with online analytical processing. The term "transaction" can have two different meanings, both of w ...
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 Hybrid transaction/analytical processing (HTAP) is a term created by Gartner Inc., an information technology research and advisory company, in its early 2014 research report ''Hybrid Transaction/Analytical Processing Will Foster Opportunities for ...
(HTAP) applications. Such systems improve performance and scalability by omitting heavyweight
recovery Recovery or Recover may refer to: Arts and entertainment Books * ''Recovery'' (novel), a Star Wars e-book * Recovery Version, a translation of the Bible with footnotes published by Living Stream Ministry Film and television * ''Recovery'' (fil ...
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 computing, concurrent operations a ...
.


List of NewSQL-databases

*
Apache Trafodion Apache Trafodion is an open-source Top-Level Project at the Apache Software Foundation. It was originally developed by the information technology division of Hewlett-Packard Company and HP Labs to provide the SQL query language on Apache HBase ...
*
Clustrix Clustrix, Inc. is a San Francisco-based private company founded in 2006 that develops a database management system marketed as NewSQL. History Clustrix was founded in November 2006, and is sometimes called ''Sprout-Clustrix'' as it formed with t ...
*
CockroachDB CockroachDB is a commercial distributed SQL database management system, developed by Cockroach Labs. History Cockroach Labs was founded in 2015 by ex-Google employees Spencer Kimball, Peter Mattis, and Ben Darnell. Cockroach Labs founders Kim ...
*
Couchbase Couchbase Server, originally known as Membase, is an open-source, distributed ( shared-nothing architecture) multi-model NoSQL document-oriented database software package optimized for interactive applications. These applications may serve many ...
* Google Spanner *
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 inclu ...
* Pivotal GemFire XD
Rubato DB
*
SingleStore SingleStore (formerly MemSQL) 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 ...
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. It is MySQL compatible and can provide horizontal scalability, strong consistency ...
*
TokuDB TokuDB is an open-source software, open-source, high-performance storage engine for MySQL and MariaDB. It achieves this by using a fractal tree index. It is Scalability#Database scalability, scalable, ACID and Multiversion concurrency control, M ...
*
TransLattice TransLattice is a software company based in Santa Clara, California. It geographically distributes databases and applications for enterprise, cloud and hybrid environments. TransLattice offers a NewSQL database and an application platform. Hi ...
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 on O ...
*
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 Baut ...


Features

The two common distinguishing features of NewSQL database solutions are that they support online scalability of NoSQL databases and the
relational data model The relational model (RM) is an approach to managing data using a structure and language consistent with first-order predicate logic, first described in 1969 by English computer scientist Edgar F. Codd, where all data is represented in terms of tu ...
(including ACID consistency) using SQL 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 A shared-nothing architecture (SN) is a distributed computing architecture in which each update request is satisfied by a single node (processor/memory/storage unit) in a computer cluster. The intent is to eliminate contention among nodes. Nodes do ...
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. 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 barrel ...
or
Paxos Paxos ( gr, Παξός) is a Greek island in the Ionian Sea, lying just south of Corfu. As a group with the nearby island of Antipaxos and adjoining islets, it is also called by the plural form Paxi or Paxoi ( gr, Παξοί, pronounced in Engl ...
consensus algorithm.


See also

*
Transaction processing Transaction processing is information processing in computer science 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 comple ...
*
Partition (database) A partition is a division of a logical database or its constituent elements into distinct independent parts. Database partitioning is normally done for manageability, performance or availability reasons, or for load balancing. It is popular in d ...
* Distributed Relational Database Architecture *
Distributed SQL A distributed SQL database is a single relational database which replicates data across multiple servers. Distributed SQL databases are strongly consistent and most support consistency across racks, data centers, and wide area networks including c ...


References

{{Databases Data management Distributed data stores