Administración de transacciones de geodatabases

Las transacciones son los paquetes de trabajo que realizan los cambios en las bases de datos. Las bases de datos de los sistemas de información geográfica (SIG), como otras aplicaciones de base de datos, deben admitir transacciones de actualización que hagan cumplir la integridad de datos y el comportamiento de la aplicación. En muchos casos, los usuarios pueden utilizar el marco de transacciones del sistema de administración de bases de datos (DBMS) para administrar las ediciones y actualizaciones en las geodatabases.

Sin embargo, los usuarios de SIG tienen también universalmente algunos requisitos transaccionales especializados. Por ejemplo:

Además, los usuarios necesitan poder deshacer y rehacer los cambios. Las sesiones de edición pueden abarcar varias horas o incluso días. A menudo, las ediciones se deben realizar en un sistema que está desconectado de la base de datos central, compartida.

Dado que los procesos de flujo de trabajo de SIG pueden abarcar días o meses, la base de datos SIG debe permanecer continuamente disponible para las operaciones cotidianas, donde cada usuario podría tener una vista o un estado personal de la base de datos SIG compartida. En una base de datos multiusuario, las transacciones SIG se deben administrar en el marco de transacciones cortas del DBMS. La tecnología ArcSDE representa un papel clave durante estas operaciones administrando las complejas transacciones de alto nivel del SIG en el marco simple de transacciones del DBMS.

Los usuarios de SIG tienen muchos casos en los que son críticos los flujos de trabajo de transacciones largas. En la mayoría de los casos, son posibles mediante el uso de un DBMS multiusuario y ArcSDE para administrar las actualizaciones de la base de datos SIG central utilizando control de versiones, sobre el que puede leer más a continuación.

Los siguientes son ejemplos de flujos de trabajo de compilación de datos SIG que requieren un modelo de transacciones basado en versiones:

El modelo de transacciones de geodatabases: control de versiones

El mecanismo de geodatabases para administrar éstos y otros mucho flujos de trabajo críticos de SIG consiste en mantener varios estados en la geodatabase y, lo que es más importante, hacerlo garantizando la integridad de la información geográfica, las reglas y el comportamiento. Esta capacidad para administrar, trabajar con y ver varios estados se basa en el control de versiones. Como el nombre implica, el control de versiones registra explícitamente versiones de entidades individuales y objetos a medida que se modifican, se agregan y se retiran a través de varios estados. Cada versión registra explícitamente cada estado de una entidad u objeto como una fila en una tabla, junto con información importante de la transacción. Cualquier número de usuarios pueden trabajar simultáneamente con varias versiones y administrarlas.

Las versiones permiten registrar todas las transacciones como una serie de cambios en la base de datos a través del tiempo. Esto significa que varios usuarios pueden trabajar con varias vistas o estados de la geodatabase. El objetivo es el acceso abierto, de alto rendimiento, multiusuario. Por ejemplo, el sistema debe ser rápido y dar soporte de manera productiva al uso de datasets que contienen centenares de millones de registros a los que acceden miles de usuarios simultáneos.

El modelo de transacción de geodatabases basado en versiones es relativamente simple: las actualizaciones se registran en tablas de cambios.

Las versiones registran explícitamente los estados de los objetos de una geodatabase en dos tablas delta:

Se utilizan consultas simples para ver y trabajar con cualquier estado deseado de la geodatabase, por ejemplo, para ver el estado de la base de datos en un momento en el tiempo o para ver la versión actual de un usuario determinado con sus ediciones.

ArcSDE desempeña un papel crítico en las aplicaciones de geodatabase con control de versiones, y se utiliza para administrar las transacciones largas en cada DBMS aprovechando su marco de transacciones cortas, así como para trabajar con DBMS diferentes.

Tablas de versiones en la geodatabase

En el ejemplo de la tabla de versiones, una parcela (número 45) se actualiza para convertirse en la parcela número 47. Utilizando el control de versiones, la parcela original se guarda en la tabla de eliminaciones y la nueva parcela se guarda en la tabla de adiciones. Otras metatablas registran información de versión sobre la transacción, tal como la hora y la secuencia de cada actualización, el nombre de la versión y el ID de estado de cada actualización. Cada versión tiene también su propia seguridad y sus propios privilegios de acceso.

Esto permite que la mayoría de los usuarios trabajen con la versión predeterminada mientras varios editores están realizando actualizaciones simultáneamente en sus propias versiones de la base de datos a lo largo del tiempo.

Se pueden realizar numerosas actualizaciones en cada versión, y los usuarios se conectan y trabajan con la versión de actualización cuando realizan ediciones adicionales de los datos. Cuando los usuarios están listos para compartir las actualizaciones con el resto de la empresa, se realiza una operación de conciliación y publicación para confirmar las ediciones que contiene la versión de actualización en la versión principal (predeterminada). Se utiliza un proceso de resolución para identificar y conciliar los conflictos potenciales durante este proceso.

Para obtener más información sobre la versión, vea Información sobre el control de versiones.


3/6/2012