Ir al contenido

NewSQL

De Wikipedia, la enciclopedia libre

Esta es una versión antigua de esta página, editada a las 16:45 4 feb 2014 por Alan (discusión · contribs.). La dirección URL es un enlace permanente a esta versión, que puede ser diferente de la versión actual.

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

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. One of the first known NewSQL systems is the H-Store parallel database system.[5][6]

NewSQL systems can be loosely grouped into three categories: [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

  1. 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
  2. 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. 
  3. 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. 
  4. Lloyd, Alex (5 de junio de 2012). «Building Spanner». Berlin Buzzwords.  Parámetro desconocido |fechaaceso= ignorado (se sugiere |fechaacceso=) (ayuda)
  5. «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)
  6. Dignan, Larry (2008). «H-Store: Complete destruction of the old DBMS order?». Consultado el 5 de julio de 2012. 
  7. Venkatesh, Prasanna (30 de enero de 2012). «NewSQL - The New Way to Handle Big Data». Consultado el 7 de octubre de 2012. 
  8. Levari, Doron (2011). «The NewSQL Market Breakdown». Consultado el 8 de abril de 2012. 
  9. Proctor, Seth (2013). «Exploring the Architecture of the NuoDB Database, Part 1». Consultado el 12 de julio de 2013. 
  10. Proctor, Seth (2013). «Exploring the Architecture of the NuoDB Database, Part 2». Consultado el 17 de julio de 2013. 
  11. 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. 
  12. Darrow, Barb (2012). «Akiban goes wider with its cool NewSQL database».  Parámetro desconocido |fecha de acceso= ignorado (se sugiere |fechaacceso=) (ayuda)

Enlaces externos