La compresión de la geodatabase quita las filas y los estados que no son necesarios de las tablas de sistema de geodatabase que rastrean las versiones tradicionales y las ediciones versionadas.
¿Qué es la compresión de geodatabase?
La compresión elimina los estados a los que ya no se hace referencia en una versión tradicional y permite mover las filas de las tablas delta a la tabla de negocios. Solo el administrador de la geodatabase puede comprimir la geodatabase, pero la compresión actúa sobre 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 se va editando la geodatabase que usa el versionado tradicional, 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, el administrador de la geodatabase debe comprimir periódicamente la geodatabase para eliminar los datos no utilizados.
Puede utilizar el comando Comprimir de ArcGIS Desktop, la herramienta de geoprocesamiento Comprimir o un script de Python.
¿Qué sucede durante la compresión?
Primero, la compresión escanea a 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.
En el siguiente paso, contrae cualquier linaje de estados de candidatos a un solo 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 corresponde, mueve 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, dado que la operación se ha diseñado 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 a la geodatabase.
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 Predeterminada. Como administrador de la geodatabase, puede ver en qué orden se deben conciliar las versiones abriendo la subpestaña Orden de conciliación de la pestaña Versiones en el cuadro de diálogo Administración de la geodatabase en ArcMap. Consulte Propiedades de versiones para obtener más información sobre la subpestaña Orden de conciliación.
- Elimine las versiones descendentes después de que haya conciliado y publicado las ediciones.
- Asegúrese de que no haya ningún usuario conectado a la geodatabase.
- Comprima la geodatabase.
Puede ver el resultado de cada compresión en ArcGIS Desktop en la tabla sde_compress_log. También puede consultar la tabla sde_versions de la base de datos para ver si el Id. de estado de la versión predeterminada ha vuelto 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 la compresión. 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 la jerarquía de estado y, por lo tanto, estos estados no se quitan durante la compresión de la geodatabase. Puede comprimir correctamente sin realizar todos estos pasos y aún verá mejoras en el rendimiento.
Frecuencia de la compresión
La frecuencia de la compresión de la geodatabase depende de la cantidad de edición que se realice en ella. 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
Actualice las estadísticas de 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 de los datasets editados.