La compresión de la geodatabase quita las filas y los estados que no son necesarios de las tablas del sistema que rastrean las versiones y las ediciones versionadas.
¿Qué es la compresión de la geodatabase?
La compresión quita los estados a los que una versión ya no hace referencia y permite mover las filas de las tablas delta a la tabla de negocios. Solo el administrador de la geodatabase puede comprimirla, pero la compresión funciona con todos los estados de la geodatabase, independientemente del propietario de la versión.
La compresión es necesaria porque, como con el transcurso del tiempo la geodatabase se edita, las tablas delta aumentan de tamaño y aumenta la cantidad de estados. Mientras más grandes sean las tablas y más estados tengan, más datos debe procesar ArcGIS cada vez que se visualiza o consulta una versión. Por lo tanto, el mayor impacto en el rendimiento no es la cantidad de versiones sino la cantidad de cambios contenidos en las tablas delta para cada versión. Como resultado, las versiones pueden tener diferentes tiempos de respuesta a la consulta.
Para mantener el rendimiento de la base de datos, el administrador de la geodatabase debe comprimir periódicamente para quitar los datos sin utilizar.
Puede utilizar el comando Comprimir de ArcGIS for Desktop, la herramienta de geoprocesamiento Comprimir o la secuencia de comandos de Python.
¿Qué sucede durante la compresión?
Primero la compresión escanea en la memoria la configuración de la jerarquía de estado de la instancia. Con esta información, la compresión elimina todos los estados que no participan dentro de un linaje de versión. Al eliminar un estado se eliminan todas las filas de las tablas delta que están asociadas con ese estado.
A continuación, se contrae cualquier linaje candidato de estados en un estado. Un linaje candidato es un conjunto de estados que se pueden comprimir en un estado sin que afecte la representación lógica de ninguna tabla en una versión dada.
El paso final, si procede, consiste en mover las filas de las tablas delta a las tablas base (o de negocios).
Por cada paso de la operación, se inician y se detienen transacciones de la base de datos para cada tabla que se comprime. La transacción verifica que cada tabla sea consistente durante cada paso del proceso.
La compresión se puede detener mientras se está ejecutando porque la operación está diseñada para ser consistente de manera transaccional. Por lo tanto, si la operación encuentra un error, falla o finaliza abruptamente, las tablas versionadas que se están comprimiendo siguen siendo lógicamente correctas con respecto a la representación de cualquier versión. Un motivo por el que puede detener la compresión es si la ejecuta cuando los usuarios están conectados a la geodatabase y después descubre que la compresión consume una gran cantidad de recursos del sistema. En ese caso, puede detener la operación y ejecutarla nuevamente cuando haya menos o ningún usuario conectado.
Reconstruya los índices agrupados en las tablas base después de ejecutar la compresión, ya que puede ocurrir la fragmentación de la tabla de negocios.
Comprimir por completo una geodatabase
En una geodatabase completamente comprimida, no hay filas en las tablas delta y la jerarquía de estado está recortada en cero. La mejora en el rendimiento es mayor si la geodatabase está comprimida por completo. Para lograrlo, realice lo siguiente:
- Concilie y publique todos los cambios pendientes de las versiones secundarias en la versión DEFAULT. Como administrador de la geodatabase, puede ver en qué order se deben conciliar las versiones de manera predeterminada al abrir la subpestaña Conciliar orden de la pestaña Versiones en el cuadro de diálogo Administración de la geodatabase. Consulte Propiedades de la versión para obtener información sobre la subpestaña Conciliar orden.
- Elimine las versiones después de que haya conciliado y publicado las modificaciones.
- Asegúrese de que ningún usuario esté conectado.
- Realice la operación de compresión.
Puede ver los resultados de cada compresión en ArcGIS for Desktop, en la tabla SDE_compress_log. También puede comprobar la tabla SDE_versions para ver si el Id. de estado de la versión DEFAULT ha regresado a cero. Si es así y no hay otras versiones pendientes, se ha logrado la compresión completa.
Tal vez no sea siempre posible conciliar, publicar, eliminar versiones y desconectar a todos los usuarios antes de comprimir. Por ejemplo, si está rastreando el historial mediante versiones o necesita mantener las versiones de diseño para un proyecto, las versiones de diseño e históricas mantienen un estado en el árbol de estado y, por lo tanto, estos estados no se quitarán durante la compresión de la geodatabase. Puede comprimir correctamente sin realizar todos estos pasos y aún verá algunas mejoras en el rendimiento.
Frecuencia de la compresión
La frecuencia con que debe realizar una compresión de la geodatabase depende de la cantidad de modificaciones que ocurren en la geodatabase. Si tiene un alto volumen de modificaciones, es posible que deba comprimir la geodatabase una vez al día. Para volúmenes de edición promedio o bajos, debe comprimirla al menos una vez por semana.
Después de comprimir una geodatabase
Actualizar las estadísticas de la geodatabase después de comprimir. El administrador de la geodatabase debe actualizar las estadísticas en las tablas de sistema de versionado y los usuarios individuales pueden actualizar las estadísticas en los datasets modificados.