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.[1][2][3][4]
Many enterprise systems 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.[5][6] The only options previously available for these organizations were to either purchase a more powerful computers or develop custom middleware that distributes requests over conventional DBMS. Both approaches feature high 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.[5] One of the first NewSQL systems was the H-Store parallel database system.[7][8]
Applications
Typical applications typically are characterized have 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).[9]
However, some support hybrid transactional/analytical processing (HTAP) applications. Such systems improve performance and scalability by omitting heavyweight recovery or concurrency control.[10]
Features
NewSQL systems adopt various internal architectures. The two common distinguishing features are that they support the relational data model (including ACID consistency) and use SQL as their primary interface.[11]
NewSQL systems can be loosely grouped into three categories:[2][12]
New architectures
Some systems employ a distributed 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. Example systems in this category are Amazon Aurora, Google Spanner, TiDB[13][14][15], CockroachDB, Altibase, Apache Ignite, GridGain, Clustrix, VoltDB, MemSQL, NuoDB, HarperDB,[16] YugaByte DB and Trafodion[17]
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 engine such as InnoDB. Examples include MySQL Cluster, Infobright, TokuDB, MyRocks, SQL Server (with ColumnStore and InMemory features) and MariaDB Columnstore.
Transparent sharding
These systems provide a sharding middleware layer to automatically split databases across multiple nodes. Examples are ScaleBase and Vitess.
See also
References
- ^ Aslett, Matthew (2011). “How Will The Database Incumbents Respond To NoSQL And NewSQL?” (PDF). 451 Group (published 2011-04-04). Retrieved 2012-07-06.
- ^ a b Pavlo, Andrew; et al. (2016). “What’s Really New with NewSQL?” (PDF). SIGMOD Record.
- ^ Stonebraker, Michael (2011-06-16). “NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps”. Communications of the ACM Blog. Retrieved 2012-07-06.
- ^ Hoff, Todd (2012-09-24). “Google Spanner’s Most Surprising Revelation: NoSQL is Out and NewSQL is In”. Retrieved 2012-10-07.
- ^ a b Aslett, Matthew (2010). “What we talk about when we talk about NewSQL”. 451 Group (published 2011-04-06). Retrieved 2012-10-07.
- ^ Lloyd, Alex (2012). “Building Spanner”. Berlin Buzzwords (published 2012-06-05). Archived from the original on 2012-10-06. Retrieved 2012-10-07.
- ^ Aslett, Matthew (2008). “Is H-Store the future of database management systems?” (published 2008-03-04). Retrieved 2012-07-05.
- ^ Dignan, Larry (2008). “H-Store: Complete destruction of the old DBMS order?”. Retrieved 2012-07-05.
- ^ Stonebraker, Mike; et al. (2007). “The end of an architectural era: (it’s time for a complete rewrite” (PDF). VLDB ’07: Proceedings of the 33rd international conference on Very large data bases. Vienna, Austria.
- ^ Stonebraker, M.; Cattell, R. (2011). “10 rules for scalable performance in ‘simple operation’ datastores”. Communications of the ACM. 54 (6): 72. doi:10.1145/1953122.1953144.
- ^ Cattell, R. (2011). “Scalable SQL and NoSQL data stores” (PDF). ACM SIGMOD Record. 39 (4): 12. CiteSeerX 10.1.1.692.2621. doi:10.1145/1978915.1978919.
- ^ Venkatesh, Prasanna (2012). “NewSQL – The New Way to Handle Big Data” (published 2012-01-30). Retrieved 2012-10-07.
- ^ Zhang, Jinpeng. “TiDB: Performance-tuning a distributed NewSQL database”. InfoWorld. Retrieved 2018-03-07.
- ^ “Meet TiDB: An open source NewSQL database”. Opensource.com. Retrieved 2018-11-14.
- ^ Xu, Kevin. “How TiDB combines OLTP and OLAP in a distributed database”. InfoWorld. Retrieved 2018-11-14.
- ^ “New dog, new tricks: HarperDB debuts hybrid SQL/NoSQL database, targets IoT workloads”. 2018.
- ^ “Trafodion: Transactional SQL-on-HBase”. 2014.