Por qué Nosql no es ácido
Publicado: 2022-11-19Hay mucho debate sobre si las bases de datos NoSQL son "ácidas" o no. El principal argumento en contra de que las bases de datos NoSQL sean ácidas es que no soportan todas las características de una base de datos relacional tradicional. Las bases de datos NoSQL a menudo están diseñadas para ser más escalables y fáciles de usar que una base de datos relacional, pero sacrifican algunas de las características que hacen que una base de datos relacional sea más sólida. Por ejemplo, las bases de datos NoSQL no suelen admitir transacciones, lo cual es una característica importante de una base de datos relacional. Esto significa que si está utilizando una base de datos NoSQL, es posible que deba renunciar a algunas de las funciones a las que está acostumbrado en una base de datos relacional.
Una base de datos NoSQL no es compatible con ACID. Un estado mental consistente en el sentido de que es maleable, suave y consistente. Como resultado, si Amazon usara esta función, siempre podrías comprarles libros, pero no podrían predecir cuándo se llenarán. Su objetivo es refutar el teorema de Brewer.
Oracle, MySQL, PostgreSQL y Microsoft SQL son capaces de admitir propiedades ACID en transacciones. Echemos un vistazo a una historia típica de NoSQL.
Se puede utilizar una base de datos NoSQL para almacenar datos ACID . En su diseño original, el sistema no incluía el componente 'Sistema de gestión' de un DBMS.
¿Nosql tiene propiedades ácidas?

No hay una respuesta definitiva a esta pregunta, ya que depende de la implementación específica de NoSQL. Algunas bases de datos NoSQL tienen propiedades ácidas, mientras que otras no.
El término atomicidad se refiere al hecho de que una transacción debe realizarse en ausencia de una pluralidad de operaciones. La consistencia de los datos se refiere al hecho de que todos los datos en una base de datos deben registrarse exactamente como estaban cuando se realizó la transacción. Consideramos que el aislamiento es un estado de total confidencialidad que evita que cualquier otra transacción interfiera con nuestro trabajo en curso. La durabilidad de una transacción indica que las demás transacciones que se completaron junto con ella seguirán funcionando. El enfoque NoSQL para la gestión de bases de datos es contrario a la estricta regla ACID . Como resultado, las bases de datos NoSQL no son la mejor opción para quienes desean ejecutarse en entornos estrictos. Una base de datos que se adhiere a los estándares ACID es generalmente más confiable y eficiente, además de brindar una experiencia más consistente a los usuarios.
¿Nosql es ácido o base?

Las propiedades ACID (Atomicidad, Consistencia, Aislamiento y Durabilidad) de una base de datos relacional son fuertemente seguidas por las propiedades ACID (Atribución, Consistencia, Aislamiento y Durabilidad) de una base de datos NoSQL.
Existe una fuerte demanda de bases de datos productoras de ACID. En la era de Big Data, necesitamos tecnologías que puedan escalar. Una base de datos NoSQL puede manejar datos grandes y complejos de manera más eficiente. A diferencia de los RDBMS tradicionales , estas soluciones no utilizan relaciones tabulares y, por lo tanto, no plantean los mismos problemas con el almacenamiento. Es natural que a veces prefiramos la disponibilidad a la consistencia. Cuando el modelo ACID es excesivo, es preferible tener una propiedad base. Si necesita consistencia pero prefiere una estructura rígida, una base de datos relacional es una buena opción. No es necesario elegir entre RDBMS y NoSQL para cada sistema, como hacen muchos.
La base de datos NoSQL es un nuevo tipo de base de datos que no depende de transacciones ACID. (En términos generales, se define como disponibilidad, estado suave y consistencia eventual). Los datos generalmente están disponibles en el sentido general. Si una solicitud no es respondida, es posible que sea rechazada. Es el tipo más común de sistema de base de datos que realiza transacciones ACID. Se admiten MySQL, PostgreSQL, SQLite, SQL Server y otras bases de datos. Las bases de datos orientadas a objetos son un nuevo tipo de base de datos que no requiere procesamiento de transacciones ACID. Sin embargo, cuando se recibe una respuesta a una solicitud, una respuesta no puede garantizar la disponibilidad de los datos. Si los datos no se pueden obtener, estarán disponibles en algún momento. En estado suave, las actualizaciones de los datos no son permanentes; esta característica permite actualizaciones continuas de datos. La consistencia es fundamental: garantiza que los datos estén siempre actualizados, incluso si hay muchas actualizaciones.

Soporte de propiedades ácidas de Mongodb
El término consistencia se refiere a cuánto tiempo los datos deben permanecer consistentes con múltiples operaciones de lectura cuando se escriben en la base de datos. La base de datos debe poder garantizar que todas las transacciones que se ejecutan simultáneamente no tendrán un impacto entre sí, como se describe anteriormente. La durabilidad de una base de datos indica que podrá funcionar incluso después de un corte de energía u otro evento catastrófico. En otras palabras, aunque MongoDB no es una base de datos compatible con ACID, admite algunas de las características clave de ACID, como atomicidad y durabilidad.
¿Por qué Mongodb no es ácido?
MongoDB no es ácido porque no admite transacciones. Las transacciones son una parte fundamental del cumplimiento ácido . MongoDB tampoco admite claves foráneas, otra parte importante del cumplimiento ácido.
MongoDB 4.0 agrega transacciones ACID de múltiples documentos. PostgreSQL tiene compatibilidad nativa con el cumplimiento de ACID , mientras que MongoDB no ha podido hacerlo durante mucho tiempo. No nos queda claro si MongoDB hace de ACID una prioridad principal o si a los usuarios les importa. La versión 4.0 de MongoDB incluye garantías de transacciones ACID de múltiples documentos. Según Eliot Horowitz, el modelo de documento elimina la necesidad de transacciones ACID. Grigori Melnik, vicepresidente de productos, servidores y herramientas empresariales, cree que esta es una forma novedosa de escribir en MongoDB. En la versión V4.2 de MongoDB, las transacciones serán posibles en múltiples implementaciones de fragmentos múltiples.
A pesar de que MongoDB admitió varios motores de almacenamiento de datos en el pasado, solo WiredTiger puede usarse para transacciones. ¿Por qué ACID es tan importante para MongoDB? No estamos seguros de lo que podemos decir sobre el compromiso de EDB con las transacciones ACID, pero podemos decirle una cosa: se toma muy en serio las transacciones ACID. A pesar del estado No.7, el hecho es que el uso de un lenguaje de consulta estándar como SQL aún proporciona un valor significativo. A medida que desarrolle más aplicaciones para acceder a sus datos, se verá obligado a construirlas en un patrón de expansión, aumentando la complejidad. PostgreSQL, como la base de datos de uso general más popular, sigue siendo la mejor opción.
¿Cumple Mongodb Totalmente Ácido?
Las transacciones ACID de múltiples instrumentos, por otro lado, están disponibles para casos de uso que las requieran. Aprecian la flexibilidad de poder modelar sus datos de una manera que normalmente no requiere transacciones de múltiples documentos, pero que es posible cuando lo hacen.
¿Nosql admite ácido?
Las bases de datos Nosql no admiten transacciones ácidas. Esto significa que no pueden garantizar que una transacción se procesará correctamente y que los datos pueden perderse o dañarse durante una transacción.
Bases de datos Nosql: el modelo base es más duradero y consistente
La mayoría de las bases de datos Nosql no son compatibles con las propiedades ACID, y prefieren usar un modelo base que pueda soportar el abuso y ser más duradero.