Capítulo 7. Transacciones

Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com

Algunos autores han afirmado que la confirmación general en dos fases es demasiado cara de soportar, debido a los problemas de rendimiento o disponibilidad que conlleva. Creemos que es mejor que los programadores de aplicaciones se ocupen de los problemas de rendimiento debidos al uso excesivo de transacciones a medida que surgen cuellos de botella, en lugar de codificar siempre en torno a la falta de transacciones.

James Corbett y otros, Spanner: La base de datos distribuida globalmente de Google (2012)

En la dura realidad de los sistemas de datos, muchas cosas pueden ir mal:

  • El software o hardware de la base de datos puede fallar en cualquier momento (incluso en medio de una operación de escritura).

  • La aplicación puede bloquearse en cualquier momento (incluso a mitad de una serie de operaciones).

  • Las interrupciones en la red pueden aislar inesperadamente la aplicación de la base de datos, o un nodo de la base de datos de otro.

  • Varios clientes pueden escribir en la base de datos al mismo tiempo, sobrescribiendo los cambios de los demás.

  • Un cliente puede leer datos que no tienen sentido porque sólo se han actualizado parcialmente.

  • Las condiciones de carrera entre clientes pueden provocar fallos sorprendentes.

Para ser ...

Get Diseño de aplicaciones intensivas en datos now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.