Ejemplos ?
Existe un tipo de software exclusivamente dedicado a tratar con bases de datos relacionales, conocido como Sistema de Gestión de Bases de Datos Relacionales (SGBDR, o RDBMS del inglés Relational Database Management System), también llamados manejadores o gestores de las BDR.
Sobre Apache, mod ruby puede mejorar considerablemente el rendimiento, aunque su uso no se recomienda porque no es seguro utilizar múltiples aplicaciones RoR sobre Apache. Dada que la arquitectura Rails favorece el uso de bases de datos se recomienda usar un SGBDR para almacenamiento de datos.
Su integración como mecanismo de almacenamiento en MySQL permite el acceso de los usuarios de este SGBDR y a herramientas avanzadas de BI.
De las cuatro propiedades ACID de un Sistema de gestión de bases de datos relacionales (SGBDR) la de aislamiento es la que más frecuentemente se relaja.
La mayor parte de los SGBDR ofrecen unos ciertos niveles de aislamiento que controlan el grado de bloqueo durante el acceso a los datos.
Para obtener el mayor nivel de aislamiento, un SGBDR generalmente hace un bloqueo de los datos o implementa un Control de concurrencia mediante versiones múltiples (MVCC), lo que puede resultar en una pérdida de concurrencia.
Cuando la transacción 1 intenta cometer, el SGBDR verifica si el resultado de cometer la transacción 1 sería equivalente a la ejecución serie T1, T2.
En él se permiten las lecturas sucias (ver más abajo), por lo que una transacción pude ver cambios no cometidos aún por otra transacción. El nivel de aislamiento por defecto de distintos SGBDR varía ampliamente.
Cada vez se van ampliando más los tipos de limitantes de integridad que se pueden utilizar en los SGBDR, aunque hasta hace poco eran muy escasos.
Cuando se hace una implementación no basada en bloqueos, si el SGBDR detecta una colisión de escritura entre transacciones sólo a una de ellas se le autoriza cometer.
En este nivel de aislamiento, un SGBDR que implemente el control de concurrencia basado en bloqueos mantiene los bloqueos de lectura y escritura -de los datos seleccionados- hasta el final de la transacción.
La mayoría de bases de datos que gestionan transacciones permiten al usuario establecer cualquier nivel de aislamiento. Algunos SGBDR requieren sintaxis especial cuando se realiza una operación SELECT que efectúa bloqueos (e.g.