NewSQL

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

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[edit]

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[edit]

Typical applications typically 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).[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[edit]

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[edit]

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. Example systems in this category are Amazon Aurora, Google Spanner, TiDB[13][14][15], CockroachDB, Altibase, Apache Ignite, GridGain, Clustrix, VoltDB, MemSQL, NuoDB,[16] YugaByte DB and Trafodion.[17]

SQL engines[edit]

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[edit]

These systems provide a sharding middleware layer to automatically split databases across multiple nodes. Examples are ScaleBase and Vitess.

See also[edit]

References[edit]

  1. ^ Aslett, Matthew (2011). "How Will The Database Incumbents Respond To NoSQL And NewSQL?" (PDF). 451 Group (published 2011-04-04). Retrieved 2012-07-06.
  2. ^ a b Pavlo, Andrew; et al. (2016). "What's Really New with NewSQL?" (PDF). SIGMOD Record.
  3. ^ 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.
  4. ^ Hoff, Todd (2012-09-24). "Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In". Retrieved 2012-10-07.
  5. ^ a b Aslett, Matthew (2010). "What we talk about when we talk about NewSQL". 451 Group (published 2011-04-06). Retrieved 2012-10-07.
  6. ^ Lloyd, Alex (2012). "Building Spanner". Berlin Buzzwords (published 2012-06-05). Archived from the original on 2012-10-06. Retrieved 2012-10-07.
  7. ^ Aslett, Matthew (2008). "Is H-Store the future of database management systems?" (published 2008-03-04). Retrieved 2012-07-05.
  8. ^ Dignan, Larry (2008). "H-Store: Complete destruction of the old DBMS order?". Retrieved 2012-07-05.
  9. ^ 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.
  10. ^ 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.
  11. ^ 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.
  12. ^ Venkatesh, Prasanna (2012). "NewSQL - The New Way to Handle Big Data" (published 2012-01-30). Retrieved 2012-10-07.
  13. ^ Zhang, Jinpeng. "TiDB: Performance-tuning a distributed NewSQL database". InfoWorld. Retrieved 2018-03-07.
  14. ^ "Meet TiDB: An open source NewSQL database". Opensource.com. Retrieved 2018-11-14.
  15. ^ Xu, Kevin. "How TiDB combines OLTP and OLAP in a distributed database". InfoWorld. Retrieved 2018-11-14.
  16. ^ "New dog, new tricks: HarperDB debuts hybrid SQL/NoSQL database, targets IoT workloads". 2018.
  17. ^ "Trafodion: Transactional SQL-on-HBase". 2014.