ventajas que español desventajas caracteristicas .net transactions mongodb norm

.net - que - ¿Transacciones MongoDB?



mongodb español (4)

MongoDB no es compatible con transacciones complejas de documentos múltiples. Si eso es algo que absolutamente necesitas, probablemente no sea una buena opción para ti.

En la mayoría de los casos, sin embargo, descubrimos que las transacciones complejas no son un requisito. Todas las operaciones en MongoDB son atómicas en un único documento, y admitimos agradables modificadores de actualización , que hacen que muchas operaciones necesiten una transacción fácil de implementar (y rápida).

Jugando con MongoDB y NoRM en .NET.

Cosa que me confundió: no hay transacciones
(No puedo simplemente decir MongoConnection.Begin/EndTransaction o algo así).

Deseo utilizar el patrón de unidad de trabajo y los cambios de reversión en caso de que algo falle.

¿Todavía hay una manera limpia de enriquecer mi repositorio con ITransaction?


Es cierto que MongoDB no admite transacciones de forma inmediata, pero puede implementar transacciones optimistas por su cuenta. Se ajustan bien a la unidad de trabajo. Escribí un ejemplo de Java y algunas explicaciones sobre un GitHub para que puedas repetir fácilmente en C #.


Algunas notas para el registro.

Si bien MongoDB no tiene soporte para transacciones, admite atomicidad en un solo documento :

MongoDB tiene soporte para operaciones atómicas dentro de un solo documento. Dadas las posibilidades que brindan los documentos anidados, esta característica brinda soporte para una gran cantidad de casos de uso.

Además, la entrada manual sobre " Aislar la secuencia de operaciones " podría ser interesante. P.ej:

sin embargo, puede aislar una única operación de escritura que afecte a múltiples documentos utilizando el operador de aislamiento.


Puede usar MongoDb TokuMX en su lugar.

http://www.tokutek.com/products/tokumx-for-mongodb/

TokuMXTM es una distribución de alto rendimiento y código abierto de MongoDB que ha mejorado drásticamente el rendimiento y la eficiencia operativa en comparación con el MongoDB básico. TokuMX es un reemplazo directo para MongoDB, y ofrece mejoras de rendimiento 20X, reducción del 90% en el tamaño de la base de datos y soporte para transacciones ACID con MVCC.