Qué tiene de nuevo NewSQL

La mayoría de los programadores están familiarizados con SQL y los sistemas de gestión de bases de datos relacionales o RDBMS, como MySQL o PostgreSQL. Los principios básicos para tales arquitecturas han existido por décadas. Más tarde, alrededor del año 2000, llegaron las soluciones NoSQL, como MongoDB o Cassandra, desarrolladas para necesidades de datos distribuidos y escalables.

Sin embargo, durante los últimos años, apareció un nuevo chico en el barrio y su nombre es NewSQL. En el siguiente post te decimos qué tiene de nuevo NewSQL

NewSQL es un nuevo enfoque de las bases de datos relacionales que busca combinar las garantías transaccionales ACID (atomicidad, consistencia, aislamiento, durabilidad) de los buenos RDBMS y la escalabilidad horizontal de NoSQL. Suena como una solución perfecta, ¿Pero en verdad lo será?

A medida que la escala de datos creció y las interacciones en tiempo real a través de Internet se generalizó, las necesidades básicas de las bases de datos comenzaron a dividirse en dos categorías principales que son: OLAP y OLTP, Procesamiento analítico en línea y Procesamiento de transacciones en línea, respectivamente.

Las bases de datos OLAP se conocen comúnmente como almacenes de datos. Almacenan una huella histórica para fines de análisis estadístico en operaciones de inteligencia de negocios. Las bases de datos OLAP se centran, por lo tanto, en cargas de trabajo de solo lectura con consultas ad hoc para el procesamiento por lotes.

El número de usuarios que consultan la base de datos es considerablemente bajo, ya que generalmente, solo los empleados de una empresa tienen acceso a la información histórica.

Las bases de datos OLTP corresponden al procesamiento de datos transaccional altamente concurrente, caracterizado por consultas de corta duración y predefinidas promulgadas por usuarios en tiempo real. Las búsquedas que realiza un usuario habitual en un sitio web de comercio electrónico y la compra de artículos son ejemplos básicos de procesamiento transaccional.

Si bien los usuarios acceden a un subconjunto más pequeño de los datos en comparación con los usuarios de OLAP, la cantidad de usuarios es considerablemente mayor y las consultas pueden incluir operaciones de lectura y escritura. Las consideraciones importantes en las bases de datos OLTP son la alta disponibilidad, la concurrencia y el rendimiento.

Para la mayoría de los sitios web, para un momento dado, hay cientos o miles de usuarios que realizan consultas simultáneas sobre la base de datos. Con esta escala en mente, el sistema debe estar altamente disponible, ya que cada minuto de inactividad puede costar a las compañías más grandes miles o incluso millones de dólares.

En los sitios web, las consultas realizadas por los usuarios están predefinidas; los usuarios no tienen acceso al terminal de la base de datos para ejecutar cualquier consulta que deseen. Las consultas están enterradas en la lógica de la aplicación. Esto permite optimizaciones hacia un alto rendimiento.

Sin embargo ahora con el nuevo ecosistema de bases de datos donde la escalabilidad es una métrica importante, y la alta disponibilidad es esencial para obtener ganancias, las bases de datos NoSQL se ofrecieron como una solución para lograr una escalabilidad más fácil y un mejor rendimiento, optando por un diseño AP a partir del teorema de CAP.

 

Sin embargo, esto significa renunciar a una consistencia sólida y a las propiedades transaccionales de ACID ofrecidas por RDMBS a favor de una consistencia eventual en la mayoría de los diseños NoSQL.



Deja un comentario