NewSQL es una clase de sistemas de administración de bases de datos relacionales que buscan proporcionar la escalabilidad de los sistemas NoSQL para cargas de trabajo de procesamiento de transacciones en línea (OLTP) mientras se mantienen las garantías ACID de un sistema de base de datos tradicional. [1] [2] [3] [4]
Muchos sistemas empresariales que manejan datos de alto perfil (por ejemplo, sistemas financieros y de procesamiento de pedidos) son demasiado grandes para las bases de datos relacionales convencionales, pero tienen requisitos transaccionales y de coherencia que no son prácticos para los sistemas NoSQL. [5] [6] Las únicas opciones disponibles anteriormente para estas organizaciones eran comprar computadoras más potentes o desarrollar middleware personalizado que distribuye solicitudes a través de DBMS convencionales . Ambos enfoques presentan altos costos de infraestructura y / o costos de desarrollo. Los sistemas NewSQL intentan reconciliar los conflictos.
Historia
El término fue utilizado por primera vez por el analista de 451 Group , Matthew Aslett, en un artículo de investigación de 2011 que analizaba el surgimiento de una nueva generación de sistemas de gestión de bases de datos. [5] Uno de los primeros sistemas NewSQL fue el sistema de base de datos paralela H-Store . [7] [8]
Aplicaciones
Las aplicaciones típicas se caracterizan por grandes volúmenes de transacciones OLTP . Transacciones OLTP;
- son de corta duración (es decir, no hay paradas de usuarios)
- tocar pequeñas cantidades de datos por transacción
- usar búsquedas indexadas (sin escaneos de tablas)
- tener una pequeña cantidad de formularios (una pequeña cantidad de consultas con diferentes argumentos). [9]
Sin embargo, algunos admiten aplicaciones de procesamiento híbrido transaccional / analítico (HTAP). Dichos sistemas mejoran el rendimiento y la escalabilidad al omitir la recuperación pesada o el control de concurrencia . [10]
Lista de bases de datos NewSQL
- Clustrix
- NuoDB
- VoltDB
- SingleStore se conocía anteriormente como MemSQL.
- Base de datos elástica TransLattice
- ActorDB
- Pivotal GemFire XD
- Apache Trafodion
- TokuDB
- Espacios activos TIBCO
- Agildata dbShards
- Google Spanner
- CucarachaDB
- TiDB
- YugabyteDB
Características
Las dos características distintivas comunes de las soluciones de bases de datos NewSQL son que admiten la escalabilidad en línea de las bases de datos NoSQL y el modelo de datos relacionales (incluida la coherencia ACID) utilizando SQL como su interfaz principal. [11]
Los sistemas NewSQL se pueden agrupar libremente en tres categorías: [2] [12]
Nuevas arquitecturas
Los sistemas NewSQL adoptan varias arquitecturas internas. Algunos sistemas emplean un grupo de nodos de nada compartido , en el que cada nodo administra un subconjunto de los datos. Incluyen componentes como control de simultaneidad distribuida , control de flujo y procesamiento de consultas distribuidas.
Motores SQL
La segunda categoría son los motores de almacenamiento optimizados para SQL . Estos sistemas proporcionan la misma interfaz de programación que SQL, pero escalan mejor que los motores integrados.
Fragmentación transparente
Estos sistemas dividen automáticamente las bases de datos en varios nodos utilizando el algoritmo de consenso de Raft o Paxos .
Ver también
- Procesamiento de transacciones
- Partición (base de datos)
- Arquitectura de base de datos relacional distribuida
- SQL distribuido
Referencias
- ^ Aslett, Matthew (2011). "¿Cómo responderán los titulares de la base de datos a NoSQL y NewSQL?" (PDF) . 451 Group (publicado el 4 de abril de 2011) . Consultado el 22 de febrero de 2020 .
- ^ a b Pavlo, Andrew; Aslett, Matthew (2016). "¿Qué es realmente nuevo con NewSQL?" (PDF) . Registro SIGMOD . Consultado el 22 de febrero de 2020 .
- ^ Stonebraker, Michael (16 de junio de 2011). "NewSQL: una alternativa a NoSQL y Old SQL para nuevas aplicaciones OLTP" . Comunicaciones del Blog ACM . Consultado el 22 de febrero de 2020 .
- ^ Hoff, Todd (24 de septiembre de 2012). "Revelación más sorprendente de Google Spanner: NoSQL está fuera y NewSQL está en" . Consultado el 22 de febrero de 2020 .
- ^ a b Aslett, Matthew (6 de abril de 2011). "De qué hablamos cuando hablamos de NewSQL" . 451 Grupo . Consultado el 22 de febrero de 2020 .
- ^ Lloyd, Alex (2012). "Building Spanner" (PDF) . Berlin Buzzwords (publicado el 5 de junio de 2012) . Consultado el 22 de febrero de 2020 .
- ^ Aslett, Matthew (4 de marzo de 2008). "¿Es H-Store el futuro de los sistemas de gestión de bases de datos?" . Consultado el 22 de febrero de 2020 .
- ^ Monash, Curt (20 de febrero de 2008). "H-Store: ¿Destrucción completa del antiguo pedido de DBMS?" . ZDNet . Consultado el 22 de febrero de 2020 .
- ^ Stonebraker, Michael ; et al. (2007). "El fin de una era arquitectónica (es hora de una reescritura completa)" (PDF) . VLDB '07: Actas de la 33ª conferencia internacional sobre bases de datos muy grandes . Viena, Austria . Consultado el 22 de febrero de 2020 .
- ^ Stonebraker, Michael; Cattell, R. (2011). "10 reglas para un rendimiento escalable en almacenes de datos de 'operación simple'" . Comunicaciones de la ACM . 54 (6): 72. doi : 10.1145 / 1953122.1953144 .
- ^ Cattell, R. (2011). "Almacenes de datos escalables SQL y NoSQL" (PDF) . Registro ACM SIGMOD . 39 (4): 12-27. CiteSeerX 10.1.1.692.2621 . doi : 10.1145 / 1978915.1978919 . S2CID 3357124 . Consultado el 22 de febrero de 2020 .
- ^ Venkatesh, Prasanna (30 de enero de 2012). "NewSQL - La nueva forma de manejar Big Data" . Consultado el 22 de febrero de 2020 .