Open main menu

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 more powerful computers or to 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.

HistoryEdit

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]

ApplicationsEdit

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).[9]

However, some support hybrid transactional/analytical processing (HTAP) applications. Such systems improve performance and scalability by omitting heavyweight recovery or concurrency control.[10]

FeaturesEdit

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 as their primary interface.[11]

NewSQL systems can be loosely grouped into three categories:[2][12]

New architecturesEdit

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 enginesEdit

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 shardingEdit

These systems automatically split databases across multiple nodes using Raft or Paxos consensus algorithm.

See alsoEdit

ReferencesEdit

  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.