Sí Daniel, Hay NoSQL Con ACID

Recientemente me encontré con esta pregunta de Yehuda-Daniel Korotkin en el foro NoSQL de Linkedin preguntando » ¿Crees que es posible realizar transacciones en NoSQL?»

Encuentro esta pregunta de una forma u otra casi todo el tiempo y los encuestados generalmente dirigen a la persona a los muchos recursos que muestran que, bastante razonablemente, se puede hacer una transacción con NoSQL if si la tecnología de base de datos está diseñada para comenzar a soportarla.

Esta vez, sin embargo, uno de los primeros comentarios comenzó a descartar la necesidad del requisito: «El soporte para transacciones ácidas hace que las bases de datos NoSQL sean un poco inútiles porque se vuelven significativamente más lentas y ofrecen mucha menos funcionalidad que las bases de datos tradicionales.»

No No No! No se preocupe, Daniel, ¡puede realizar transacciones con NoSQL! Y a diferencia de la leyenda esperanzadora de Virginia y Santa Claus, donde la respuesta es sobre la fe, se puede, de manera muy tangible y sin renunciar a la funcionalidad, tenerlo hoy con Enterprise NoSQL.

Aquí hay un resumen rápido de mi publicación en ese hilo:

  1. ¡Sí, puedes tener ÁCIDO con NoSQL!
  2. No tenerlo significa que el sistema no consideró la parte del «Sistema de gestión» del DBMS en su diseño original
  3. MarkLogic hace esto con Control de concurrencia de varias versiones (control de marca de tiempo sobre el clúster), escalabilidad horizontal de nada compartido (para simplificar las actualizaciones y potenciar el procesamiento de consultas verdaderamente en paralelo) y clústeres a clústeres para administrar incluso los conjuntos de datos más grandes. Y estamos encantados de mostrarle a cualquiera cómo lo hacemos, aquí hay un artículo en profundidad sobre exactamente lo que MarkLogic hace bajo el capó.
  4. Esto no es teoría (o fe): algunas de las bases de datos más grandes de MarkLogic son un clúster 1024 que mantuvo el rendimiento a medida que se ampliaba y una base de datos de documentos de 36 mil millones donde se reflejó una única actualización del valor del documento en la siguiente búsqueda o consulta . . . Sin mencionar las 100 aplicaciones de misión crítica impulsadas por MarkLogic en las que las personas confían en la constancia de los datos para dirigir su negocio.
  5. Sin ACID, transacciones y consistencia de datos en la base de datos, crear y administrar esta funcionalidad se deja como un ejercicio para los desarrolladores. Los resultados son fáciles de ver para cualquiera cuya actualización de LinkedIn no se pegó o las publicaciones de Facebook vienen aleatoriamente y por duplicado. Y esas son excelentes empresas de tecnología centradas en la ingeniería, ¡solo piense en lo que sucede en lugares cuyo negocio principal no es la tecnología!

Así que comience con el DBMS correcto y sí, Daniel, usted (y todos los demás que buscan la nueva generación de bases de datos) puede tener NoSQL con ACID.

Ahora, en cuanto a esa otra gran pregunta en esta época del año here aquí hay un post muy antiguo sobre Santa (y en realidad actualizaciones por lotes con transacciones) que sin duda me pone en el campamento de Virginia!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.