saltar al contenido

Aislamiento de instantáneas (MVCC)

¿Se encuentra en una situación en la que necesita tener varias solicitudes de lectura mientras las actualizaciones deben continuar? ¿Quieres poder seguir escribiendo sin interrupciones? RDM proporciona una solución a los problemas anteriores mediante el uso de MVCC (Control de concurrencia de múltiples versiones) mediante el uso del aislamiento de instantáneas.

Aislamiento de instantáneas Control simultáneo de múltiples versiones

¿Qué es el aislamiento de instantáneas y cómo funciona en RDM? 

El aislamiento de instantáneas permite lecturas simultáneas de la base de datos cuando se producen transacciones de actualización. En general, RDM actualiza mediante "Copiar en escrito”Y, por lo tanto, se puede manejar una instantánea de los datos dando acceso a los datos antiguos sin modificar. Los datos no modificados se pueden leer sin detener las escrituras. En cualquier momento, el usuario puede emitir una instantánea de tablas específicas llamando a nuestro rdm_dbStartSnapshot () API. Una vez hecho esto, RDM El sistema usará la vista anterior de las tablas especificadas donde los cambios a esas tablas no se reflejarán en la instantánea. El usuario tiene la libertad de emitir escrituras en esa tabla fuera de la instantánea y las lecturas dentro de la vista de instantánea no esperarán a que se completen esas escrituras ni evitarán que finalicen esas escrituras. Una vez que la instantánea ya no sea necesaria, rdm_dbEnd () ¹ se puede llamar para liberar el acceso a los datos antiguos sin modificar. Esta función proporciona al usuario final la mayor cantidad de escrituras y lecturas posibles simultáneamente.

 

¹ rdm_transEnd () también se puede usar en el caso de que se haya recuperado un identificador de rdm_dbStartSnapshoot ()

 

por Sverre Hvammen Johansen y Daigoro Toyama