NewSQL
NewSQL es una clase de sistemas de gestión de bases de datos de relación moderna que tratan de conseguir el mismo rendimiento escalable de sistemas NoSQL para el procesamiento de transacciones en línea (lectura-escritura), manteniendo durante las cargas de trabajo las garantías ACID de un sistema de base de datos tradicional. [1][2][3]
Historia
El término fue utilizado por primera vez por el analista Matthew Aslett de 451 Group en un trabajo de investigación en 2011, discutiendo la aparición de nuevos sistemas de base de datos como aspirantes a los vendors establecidos.[1] Muchos sistemas empresariales que manejan datos de alto perfil (por ejemplo, financieras) también debían ser capaces de escalar, pero no son capaces de utilizar las soluciones NoSQL porque no pueden renunciar a los fuertes requerimientos transaccionales y de consistencia. [1][4]
Las únicas opciones disponibles anteriormente para estas organizaciones eran adquirir una máquina de un solo nodo más potente o desarrollar middleware personalizado para distribuir las consultas por más nodos DBMS tradicionales. Ambos enfoques son prohibitivamente caros y por lo tanto no son una opción para muchos. Por lo tanto, en este trabajo, Aslett analiza cómo está preparado NewSQL para desafiar la supremacía de los proveedores comerciales, en particular, Oracle.
Sistemas
Aunque los sistemas de NewSQL varían mucho en sus arquitecturas internas, las dos señas de identidad comunes entre ellos es que todos ellos apoyan el modelo de datos relacionales y utilizan SQL como su interfaz principal. Uno de los sistemas NewSQL más conocidos es el H-Store. [5][6]
Los sistemas NewSQL pueden ser agrupados en tres categorías: [7] [8]
Nuevas arquitecturas
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. Though many of the new databases have taken different design approaches, there are two primary categories evolving. The first type of system sends the execution of transactions and queries to the nodes that contain the needed data. SQL queries are split into query fragments and sent to the nodes that own the data. These databases are able to scale linearly as additional nodes are added.
- General-purpose databases — These maintain the full functionality of traditional databases, handling all types of queries. 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. This includes Google Spanner, Clustrix, NuoDB[9][10] and TransLattice.
- In-memory databases — 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).[11] These NewSQL systems achieve high performance and scalability by eschewing much of the legacy architecture of the original System R design, such as heavyweight recovery or concurrency control algorithms. Two example systems in this category are VoltDB and GoPivotal's SQLFire.
Motores MySQL
The second category are highly optimized storage engines for SQL. These systems provide the same programming interface as MySQL, but scale better than built-in engines, such as InnoDB. Examples of these new storage engines include TokuDB, MemSQL, and Akiban.[12]
Referencias
- ↑ a b c
Aslett, Matthew (4 de abril de 2011). «How Will The Database Incumbents Respond To NoSQL And NewSQL?» (en inglés). 451 Group. Consultado el 6 de julio de 2011.
Error en la cita: Etiqueta
<ref>
no válida; el nombre «aslett2010» está definido varias veces con contenidos diferentes - ↑ Stonebraker, Michael (16 de junio de 2011). «NewSQL: An Alternative to NoSQL and Old SQL for New OLTP Apps». Communications of the ACM Blog. Consultado el 6 de julio de 2012.
- ↑ Hoff, Todd (24 de septiembre de 2012). «Google Spanner's Most Surprising Revelation: NoSQL is Out and NewSQL is In». Consultado el 7 de octubre de 2012.
- ↑
Lloyd, Alex (5 de junio de 2012). «Building Spanner». Berlin Buzzwords. Parámetro desconocido
|fechaaceso=
ignorado (se sugiere|fechaacceso=
) (ayuda) - ↑
«Is H-Store the future of database management systems?». 2008. Consultado el 5 de julio de 2012. Parámetro desconocido
|Nombre=
ignorado (se sugiere|nombre=
) (ayuda); Parámetro desconocido|Apellido=
ignorado (se sugiere|apellido=
) (ayuda); Parámetro desconocido|fecha publicación=
ignorado (ayuda) - ↑ Dignan, Larry (2008). «H-Store: Complete destruction of the old DBMS order?». Consultado el 5 de julio de 2012.
- ↑ Venkatesh, Prasanna (30 de enero de 2012). «NewSQL - The New Way to Handle Big Data». Consultado el 7 de octubre de 2012.
- ↑ Levari, Doron (2011). «The NewSQL Market Breakdown». Consultado el 8 de abril de 2012.
- ↑ Proctor, Seth (2013). «Exploring the Architecture of the NuoDB Database, Part 1». Consultado el 12 de julio de 2013.
- ↑ Proctor, Seth (2013). «Exploring the Architecture of the NuoDB Database, Part 2». Consultado el 17 de julio de 2013.
- ↑ Stonebraker, Mike; et al. (2007). «The end of an architectural era: (it's time for a complete rewrite». VLDB '07: Proceedings of the 33rd international conference on Very large data bases. Viena, Austria.
- ↑
Darrow, Barb (2012). «Akiban goes wider with its cool NewSQL database». Parámetro desconocido
|fecha de acceso=
ignorado (se sugiere|fechaacceso=
) (ayuda)
Enlaces externos
- NewSQL en Sourceforge
- NuoDB
- Esta obra contiene una traducción parcial derivada de «NewSQL» de Wikipedia en inglés, concretamente de esta versión, publicada por sus editores bajo la Licencia de documentación libre de GNU y la Licencia Creative Commons Atribución-CompartirIgual 4.0 Internacional.