Fue una especie de sueño en medio de un grupo ruidoso de nuevas tecnologías de gestión de datos, pero NewSQL es nuevo de nuevo.
Las bases de datos NewSQL ponen especial énfasis en las transacciones SQL, con atomicidad, consistencia y otros atributos de procesamiento. Al mismo tiempo, distribuyen cargas de trabajo de datos en un nuevo estilo del que fueron pioneros Google, Yahoo y otros. A medida que se prestó atención a Hadoop y NoSQL en los primeros años de esta década, las alternativas de bases de datos de NewSQL se desconectaron silenciosamente.
Un avance rápido hasta el día de hoy, y el ruidoso equipo de NoSQL y Hadoop ha adquirido más y más características de SQL. Por esta y otras razones, NewSQL puede estar recibiendo una segunda mirada en algunos sectores. Al igual que con las alternativas Hadoop y NoSQL más publicitadas, la distribución global de datos, el análisis en tiempo real y el aprendizaje automático son los impulsores clave.
Entre los jugadores de NewSQL, cada uno con un giro tecnológico diferente, se encuentran Clustrix Inc., NuoDB Inc., Splice Machine y VoltDB Inc. Cada uno de ellos ha estado ocupado mejorando su base de datos NewSQL. Clustrix aumentó recientemente su soporte para la resiliencia de clústeres. NuoDB mejoró su optimizador de consultas. VoltDB amplió un programa que ofrece acceso a su versión empresarial para desarrollo y pruebas. Y Splice Machine lanzó su plataforma de base de datos en Amazon Web Services Marketplace.
Ingrese al aprendizaje automático
Por su parte, en la Conferencia Strata Data del mes pasado en Nueva York, el proveedor de NewSQL MemSQL Inc. dijo que mejoraría el soporte de la biblioteca de aprendizaje automático para su motor de base de datos MemSQL 6. Las mejoras incluirán puntuación de modelos en tiempo real, reconocimiento de imágenes y agrupación de K-means en SQL, según Gary Orenstein, director de marketing de MemSQL.
El aprendizaje automático en tiempo real es un objetivo para la personalización, los motores de recomendación y otras aplicaciones basadas en la web que conectan el análisis predictivo con las operaciones transaccionales, algo que según Orenstein es de creciente interés para los equipos de big data que están bien versados en las capacidades de bases de datos SQL.
«Queremos incorporar más aprendizaje automático a la base de datos», dijo. «Muchos de los algoritmos de aprendizaje automático se pueden implementar de manera muy simplificada con SQL».
Las mejoras a las bases de datos NewSQL se pueden ver en el reflejo de los desarrollos recientes de NoSQL. Las bases de datos en el campo NoSQL comenzaron su vida como motores diseñados para un propósito, despojados de SQL. A medida que avanzan para casos de uso más amplios, las bases de datos como Cassandra y MongoDB han agregado características, incluidos tipos de compatibilidad con SQL.
Incluso cuando MongoDB, hijo del póster de NoSQL, estaba preparando una oferta pública inicial que hizo este mes, hubo signos de una consolidación largamente esperada entre los muchos jugadores de NoSQL. Durante el verano, la empresa de gestión del rendimiento de ventas CallidusCloud adquirió al proveedor de NoSQL OrientDB, y el sitio de juegos de azar en línea Bet365 compró los activos de tecnología de base de datos Riak NoSQL de Basho.
Analítica en la mezcla
«Ya es difícil agrupar los productos NoSQL en casos de uso específicos», dijo el analista de Gartner Nick Heudecker. «Antes, podía mirar algo como Cassandra y decir ‘es bueno para casos de uso intensivos en escritura’ o algo como MongoDB y decir ‘es bueno para casos de uso intensivos en lectura'».
Eso está cambiando a medida que diferentes bases de datos NoSQL se mueven a los mismos mercados y se vuelven menos diferenciadas, sugirió Heudecker. «Ahora los ve manejando cargas de trabajo mixtas que incluyen análisis, incluso análisis de gráficos», dijo.
Pero, cuando la analítica está en la mezcla y los pilotos entran en producción, SQL tiene atractivo. Eso es cierto no solo para los sistemas NoSQL, dijo Heudecker, sino también para el ecosistema Hadoop. Como otro ejemplo más de la influencia duradera de SQL, señaló la reciente actualización del marco Kafka del proveedor de datos de transmisión Confluent, que agregó compatibilidad con SQL.
«Puede crear aplicaciones usando NoSQL o Hadoop, pero al final del día, debe asegurarse de haber hecho algo con los datos», dijo Heudecker. «La lengua franca es SQL. Ninguna plataforma se puede terminar hasta que tenga una interfaz SQL robusta».
Después de la explosión cámbrica
Orenstein ha observado cómo los proveedores de Hadoop y NoSQL han comenzado a construir interfaces SQL para sistemas que no son SQL en el fondo. Ese fue un factor de diseño clave para la base de datos MemSQL, que apareció por primera vez en 2013.
Señaló, con cierta ironía, que Google, la empresa que ayudó a ser pionera en el trabajo en las tiendas NoSQL modernas y que tuvo la inspiración original para lo que se denominó Hadoop, siguió su trabajo en las tiendas de valores clave NoSQL y archivos distribuidos. sistemas con Spanner, una base de datos relacional transaccional distribuida. Iniciado hace una década y detallado por Google en un artículo de investigación publicado en 2012, Spanner se utilizó por primera vez internamente, antes de ser lanzado comercialmente como Google Cloud Spanner en mayo pasado.
«Se puede atribuir al sistema de archivos de Google y MapReduce la explosión del Cámbrico de los proyectos de almacenamiento y análisis de datos de Apache Hadoop», dijo Orenstein. «Pero, en 2007 y con la aparición de Hadoop 1.0, Google ya estaba centrado en Spanner, una base de datos SQL».
Gary Orensteindirector de marketing de MemSQL
Más organizaciones están recurriendo de manera similar a SQL nuevamente ahora, afirmó Orenstein. «El mundo está volviendo al punto de partida», dijo. «De la misma manera que Google comenzó a enfocarse en Spanner, vemos la industria hoy con menos énfasis en Hadoop y más énfasis en los sistemas transaccionales que escalan. La plataforma Hadoop no fue diseñada para transacciones».
Orenstein ve a SQL como una puerta de enlace, una forma de mover más fácilmente los pilotos de datos a las operaciones de los sistemas. «Ahora, la gente se está dando cuenta de que tiene que hacer más que crear maravillosos modelos de datos; tienen que crear cosas que puedan poner en producción», dijo.
Llave inglesa en las obras
Google otorgó un tipo de respaldo a las bases de datos NewSQL cuando lanzó formalmente Google Cloud Spanner como producto.
Mientras escala para aplicaciones web, Cloud Spanner también ofrece valor en su soporte para la consistencia relacional de una manera familiar para los desarrolladores de SQL, según un usuario de una empresa francesa de servicios financieros en línea.
«Lo que queríamos era la fuerte consistencia de SQL», dijo Raphael Simon, CTO y cofundador de Shine.fr, que se lanzará este otoño como un banco web que automatiza el trabajo administrativo de los autónomos.
«SQL es un lenguaje universal», dijo. «Cuando coloca algo en la base de datos, quiere estar seguro de que el valor será verdadero. Con NoSQL, puede hacer una escritura, pero no está seguro de cuándo será cierto. Con las transacciones bancarias, es muy importante que el los datos son consistentes «.
Una ventaja adicional de Google Cloud Spanner es la integración con Google Cloud y sus herramientas asociadas, agregó Simon. «Con NoSQL, a menudo queda mucha integración por hacer por el desarrollador».
Capacidades superpuestas
Algunos creen que Google Cloud Spanner confirma la existencia de un sector que buscaba una definición más clara.
«Durante algún tiempo, las empresas NewSQL tuvieron dificultades para articular su valor», dijo Heudecker de Gartner. «Pero ahora, con Google Cloud Spanner, hay algo con lo que pueden comparar sus bases de datos».
Pero las comparaciones se están volviendo más difíciles en el mundo NoSQL, agregó. «Ahora hay una gran cantidad de capacidades superpuestas con los productos de las empresas NoSQL».
Al mismo tiempo, señaló Heudecker, las capacidades de NoSQL se están sumergiendo junto con SQL en las ofertas de los proveedores de bases de datos más grandes. Citó como ejemplo la llamada base de datos multimodelo Azure Cosmos DB, lanzada por Microsoft a principios de este año.