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 (OLTP) workloads while maintaining the
ACID 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 group ...
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 c ...
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 span ...
. 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
451 Group is a New York City-based technology industry research firm. Through its Uptime Institute operating unit, the company provides research for data center operators. In December 2019, 451 Group sold an operating division, 451 Research, to in ...
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 parallel database systemRubato 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 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, while ...
.
List of NewSQL-databases
*
Apache Trafodion
*
Clustrix
*
CockroachDB
*
Couchbase
*
Google Spanner
Spanner is a distributed SQL database management and storage service developed by Google. It provides features such as global transactions, strongly consistent reads, and automatic multi-site replication and failover. Spanner is used in Google F ...
*
NuoDB
*
Pivotal GemFire XD
Rubato DB*
SingleStore was formerly known as MemSQL.
*
TIBCO Active Spaces
*
TiDB
*
TokuDB
*
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.
H ...
Elastic Database
*
VoltDB
*
YugabyteDB
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 ...
(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 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 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 compl ...
*
Partition (database)
*
Distributed Relational Database Architecture
*
Distributed SQL
References
{{Databases
Data management
Distributed data stores