NewSQL

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

NewSQL is a class of modern relational database management systems that seek to provide the same scalable performance of NoSQL systems for online transaction processing (OLTP) read-write workloads while still maintaining the ACID guarantees of a traditional database system.[1][2][3]

History[edit]

The term was first used by 451 Group analyst Matthew Aslett in a 2011 research paper discussing the rise of new database systems as challengers to established vendors.[1] Many enterprise systems that handle high-profile data (e.g., financial and order processing systems) also need to be able to scale but are unable to use NoSQL solutions because they cannot give up strong transactional and consistency requirements. [1][4] The only options previously available for these organizations were to either purchase a more powerful single-node machine or develop custom middleware that distributes queries over traditional DBMS nodes. Both approaches are prohibitively expensive and thus are not an option for many. Thus, in this paper, Aslett discusses how NewSQL upstarts are poised to challenge the supremacy of commercial vendors, in particular Oracle.

Systems[edit]

Although NewSQL systems vary greatly in their internal architectures, the two distinguishing features common amongst them is that they all support the relational data model and use SQL as their primary interface.[5] The applications targeted by these NewSQL systems are characterized as having a large number of transactions that (1) are short-lived (i.e., no user stalls), (2) touch a small subset of data using index lookups (i.e., no full table scans or large distributed joins), and (3) are repetitive (i.e. executing the same queries with different inputs).[6] These NewSQL systems achieve high performance and scalability by eschewing much of the legacy architecture of the original IBM System R design, such as heavyweight recovery or concurrency control algorithms.[7] One of the first known NewSQL systems is the H-Store parallel database system.[8][9]

NewSQL systems can be loosely grouped into three categories: [10][11]

New architectures[edit]

The first type of NewSQL systems are completely new database platforms. These are designed to operate in a distributed cluster of shared-nothing nodes, in which each node owns a subset of the data. These databases are often written from scratch with a distributed architecture in mind, and include components such as distributed concurrency control, flow control, and distributed query processing. Example systems in this category are Google Spanner, Clustrix, VoltDB, MemSQL, Pivotal's SQLFire and GemFire XD, SAP HANA,[12] FoundationDB, NuoDB,[13][14] TransLattice, ActorDB,[15] and Trafodion.[16]

SQL Engines[edit]

The second category are highly optimized storage engines for SQL. These systems provide the same programming interface as SQL, but scale better than built-in engines, such as InnoDB. Examples of these new storage engines include TokuDB and InfiniDB.

Transparent sharding[edit]

These systems provide a sharding middleware layer to automatically split databases across multiple nodes. Examples of this type of system includes dbShards, Scalearc, and ScaleBase.

See also[edit]

References[edit]

  1. ^ a b c Aslett, Matthew (2011). "How Will The Database Incumbents Respond To NoSQL And NewSQL?". 451 Group (published 2011-04-04). Retrieved 2012-07-06. 
  2. ^ 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. 
  3. ^ Hoff, Todd (2012-09-24). "Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In". Retrieved 2012-10-07. 
  4. ^ Lloyd, Alex (2012). "Building Spanner". Berlin Buzzwords (published 2012-06-05). Retrieved 2012-10-07. 
  5. ^ Cattell, R. (2011). "Scalable SQL and NoSQL data stores". ACM SIGMOD Record 39 (4): 12. doi:10.1145/1978915.1978919.  edit
  6. ^ 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. 
  7. ^ 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.  edit
  8. ^ Aslett, Matthew (2008). "Is H-Store the future of database management systems?" (published 2008-03-04). Retrieved 2012-07-05. 
  9. ^ Dignan, Larry (2008). "H-Store: Complete destruction of the old DBMS order?". Retrieved 2012-07-05. 
  10. ^ Venkatesh, Prasanna (2012). "NewSQL - The New Way to Handle Big Data" (published 2012-01-30). Retrieved 2012-10-07. 
  11. ^ Levari, Doron (2011). "The NewSQL Market Breakdown". Retrieved 2012-04-08. 
  12. ^ "SAP HANA". SAP. Retrieved 17 July 2014. 
  13. ^ Proctor, Seth (2013). "Exploring the Architecture of the NuoDB Database, Part 1". Retrieved 2013-07-12. 
  14. ^ Proctor, Seth (2013). "Exploring the Architecture of the NuoDB Database, Part 2". Retrieved 2013-07-17. 
  15. ^ "ActorDB a distributed SQL database". 2014. 
  16. ^ "Trafodion: Transactional SQL-on-HBase". 2014.