La versión 4 de MongoDB tendrá soporte para transacciones ACID multi documentos

La versión 4 de MongoDB tendrá soporte para transacciones ACID multi documentos NoSQL, MongoDB noticias

MongoDB finalmente está recibiendo soporte para transacciones ACID de múltiples documentos (atomicidad, consistencia, aislamiento, durabilidad). Eso es algo que la comunidad MongoDB ha estado pidiendo durante años y MongoDB Inc, la compañía detrás del proyecto, ahora está a punto de hacer esto realidad.

Como anunció la compañía en un evento el día de hoy, el soporte para las transacciones ACID se lanzará cuando envíe la versión 4.0 de su base de datos NoSQL en el verano. Hasta entonces, los desarrolladores pueden usar una versión beta, para ver cómo pueden hacer uso de esta nueva función.

Las transacciones en MongoDB se sentirán como las transacciones que los desarrolladores están familiarizados con las bases de datos relacionales. Serán declaraciones múltiples, con sintaxis similar (por ejemplo, start_transaction y commit_transaction), haciéndolas familiares para cualquier persona con experiencia previa en transacciones. Los cambios en MongoDB que permiten transacciones de varios documentos no afectarán el rendimiento de las cargas de trabajo que no los requieren. La versión MongoDB 4.2 admitirá las transacciones en una implementación fragmentada.

En esencia, MongoDB es una base de datos de documentos y, casi por defecto, este tipo de bases de datos no son compatibles con ACID, especialmente cuando se trata de transacciones con varios documentos (a nivel de documentos, MongoDB ya admite transacciones ACID). En su mayor parte, eso no es un gran problema para las empresas que usan sistemas de bases de datos como MongoDB porque no están tratando de escribir en múltiples documentos al mismo tiempo.

Debido a esto, sin embargo, muchos usuarios de MongoDB todavía ejecutan bases de datos relacionales en paralelo con su base de datos de documentos.

De hecho, como dijo el co-fundador de MongoDB y CTO Eliot Horowitz, esa fue una de las principales motivaciones detrás de este proyecto. “La razón por la que no necesitamos esto es porque el modelo de documento niega la necesidad de transacciones ACID, no para todas, sino para la mayoría de ellas“, me dijo. Pero, al mismo tiempo, hay casos de uso claros en los que los desarrolladores quieren transacciones para sus casos de uso de misión crítica. Horowitz también argumenta que algunos desarrolladores que comienzan a trabajar con MongoDB “tienen este miedo persistente de que pueden necesitarlo en el futuro“. Este lanzamiento obvio quita ese miedo.

Las garantías transaccionales han sido una característica fundamental para las bases de datos relacionales durante décadas, pero por lo general han estado ausentes de las alternativas no relacionales, lo que ha obligado a los usuarios a elegir entre transacciones y la flexibilidad y versatilidad que ofrecen las bases de datos no relacionales“. dijo Stephen O’Grady, analista principal de RedMonk. “Con su soporte para transacciones ACID de múltiples documentos, MongoDB está diseñado para clientes que quieren tener su pastel y comérselo también“.

Horowitz hizo hincapié en que no cree que los desarrolladores simplemente activen esta función por defecto y que la mayoría solo la habilitará para casos de uso muy específicos. “No espero que sea una forma común de escribir a MongoDB“, dijo.

La construcción de esta nueva característica fue un esfuerzo de varios años que comenzó con la adquisición de WiredTiger y el motor de almacenamiento de bases de datos de esa compañía hace tres años. Para habilitarlo, el equipo tocó prácticamente todos los componentes del sistema de la base de datos.

Si quieres probarlo tú mismo, puedes unirte al programa beta aquí.