El historial de versionado en rama proporciona un relato detallado de todos los cambios agregados a la tabla de negocios para almacenar y administrar las ediciones de la versión predeterminada desde que el dataset fue registrado como versionado en rama.
Para el versionado en rama, el flujo de trabajo administrativo se optimiza gracias a un modelo de datos simplificado.El versionado en rama opera en un modelo temporal (relacionado con el tiempo) de solo inserción, donde todas las ediciones se registran en una sola tabla. El modelo de solo inserción implica que cada operación de edición da como resultado una inserción con una marca de tiempo correspondiente, lo que permite un registro histórico completo de todas las modificaciones, incluidas las eliminaciones. Este método permite la visualización y el análisis de los datos que evolucionan a lo largo del tiempo.
A diferencia del versionado tradicional, que se basa en tablas delta y las une con otras tablas del sistema para representar datos de una versión particular, las clases de entidad versionadas en rama están diseñadas para admitir el archivado de forma nativa utilizando un modelo de tabla única. Una vez que un dataset se registra como versionado en rama, el archivado se habilita automáticamente y se agregan campos adicionales a la tabla de negocios para almacenar y administrar las ediciones entre versiones.
Para administrar todas las ediciones (inserciones, actualizaciones y eliminaciones), se agregan seis campos de sistema específicos a la tabla de negocios de la tabla o clase de entidad versionada en rama.
- GDB_BRANCH_ID— Identifica la versión en la que se realizó la edición.
- GDB_FROM_DATE— Registra la fecha y la hora exactas en que se realiza una edición.
- GDB_IS_DELETE— Indica si se ha eliminado una entidad mediante un valor binario (0 para no eliminada / 1 o 2 para eliminada).
- GDB_DELETED_AT— Registra la fecha y la hora en que se elimina una entidad.
- GDB_DELETED_BY— Registra al usuario que eliminó la entidad.
- GDB_ARCHIVE_OID— Identifica de forma única cada fila de la tabla y rastrea cada edición con un Id. distinto.

Nota:
Los campos GDB_DELETED_AT y GDB_DELETED_BY se agregan a la clase de entidad o tabla y permiten el rastreo de las eliminaciones; funcionan junto con los campos de rastreo del editor estándar.
Los datos archivados tienen diversos usos, entre ellos los siguientes:
- Realizar análisis históricos y elaborar informes
- Garantizar el cumplimiento mediante auditorías
- Exportar el dataset tal como existía en un momento específico
Eliminar historial de versionado en rama
Con el tiempo, los datos de la tabla de negocios crecen debido al modelo de versionado en rama, que rastrea todos los cambios insertando nuevos registros para cada edición, lo que posiblemente genere una acumulación significativa de datos. Eliminar el historial de un dataset versionado en rama implica eliminar registros históricos que ya no son necesarios, optimizar el almacenamiento y mejorar el rendimiento.
Esta eliminación es necesaria para gestionar el crecimiento de datos históricos, que pueden consumir una cantidad considerable de almacenamiento a lo largo del tiempo. Se recomienda eliminar los registros archivados de un dataset en determinadas circunstancias, como las siguientes:
- Cuando los datos históricos ya no son necesarios para fines operativos
- Para liberar espacio de almacenamiento eliminando registros históricos innecesarios
- Para reducir los costes de almacenamiento
A partir de ArcGIS Pro 3.5, puede administrar y optimizar el almacenamiento de datasets versionados en rama mediante la herramienta de geoprocesamiento Eliminar historial de versionado en rama. La herramienta Eliminar historial de versionado en rama ofrece un control más granular, lo que le permite determinar qué registros específicos conservar en función de ciertos criterios establecidos, como al configurar la opción Eliminar antes de fecha.
Cómo funciona la herramienta Eliminar historial de versionado en rama
La herramienta Eliminar historial de versionado en rama ha sido diseñada para administrar datos históricos de manera eficaz. Las siguientes son sus funcionalidades principales:
- Eliminación de datos históricos: esta herramienta permite a los usuarios eliminar datos históricos de las clases según una fecha específica. Todos los datos retirados que sean anteriores a esta fecha se eliminarán del historial. Una fila retirada se define como una fila del archivo para la cual existe una representación más reciente, o la última representación es de la entidad que se está eliminando. Esto significa que la fila ya no es la versión más actual de los datos y ha sido reemplazada por una actualización más reciente o marcada para su eliminación. Esto resulta especialmente útil para administrar el tamaño de la base de datos eliminando información obsoleta e innecesaria.
- Retención de filas activas actuales: una de las características clave de la herramienta Eliminar historial de versionado en rama es que garantiza que no se eliminen filas activas. Una fila activa se define como la última representación de una entidad que no ha sido eliminada. Esta fila representa el estado actual de los datos y no está marcada como eliminada. Si había una entidad presente antes de la fecha especificada y aún está activa, se conservará. La herramienta se centra en eliminar únicamente los datos históricos que ya no son relevantes.
- Protección de datos referenciados: la herramienta evita eliminar cualquier dato al que aún hagan referencia las versiones activas. Si una versión apunta a un momento que incluye datos más antiguos, dichos datos no se eliminarán hasta que ya no se haga referencia a ellos.
- Conciliación: para las versiones que han existido durante mucho tiempo, puede ser necesaria una conciliación para garantizar que se puedan eliminar los datos. Esto es especialmente relevante cuando la herramienta se utiliza para gestionar datos que han estado en el sistema durante un período de tiempo prolongado. Si el antecesor común y el antecesor anterior son anteriores al momento de la eliminación, debe conciliar la versión dos veces.
- Conservación personalizable del historial: las organizaciones pueden determinar cuántos datos históricos conservar. Por ejemplo, pueden optar por mantener el historial de los últimos dos o cinco años y eliminar todo lo que supere este rango de tiempo. Esta adaptabilidad permite lograr un equilibrio entre la conservación de datos históricos valiosos y la gestión del tamaño general de la base de datos.
La herramienta Eliminar historial de versionado en rama es similar a la herramienta Recortar historial de archivos, que es compatible con datasets archivados no versionados. Sin embargo, la herramienta Eliminar historial de versionado en rama ha sido creada explícitamente para datasets registrados como versionados en rama. La herramienta Eliminar historial de versionado en rama permite generar un informe con el parámetro Solo informe , que proporciona el recuento total de registros de archivo elegibles sin eliminar realmente ningún registro. Además, puede elegir Tablas del sistema de eliminación solamente. Cuando esta opción está activada, solo se eliminarán o registrarán las tablas internas del sistema elegibles de los datasets del controlador.
Conceptos y consideraciones clave para eliminar el historial de versionado en rama
Es importante comprender algunos conceptos relacionados con el historial de versionado en rama y la herramienta Eliminar historial de versionado en rama. Estos conceptos se analizan con más detalle en las siguientes secciones, e incluyen lo siguiente:
Eliminar antes de fecha
Eliminar antes de fecha es un parámetro de fecha y hora definido por el usuario que marca el límite según el cual tener en cuenta los datos para la eliminación. Al configurar Eliminar antes de fecha, todos los registros anteriores a este momento son candidatos para ser eliminados por la operación de eliminación, siempre que no entren en conflicto con ningún momento referenciado.
Antes de utilizar la herramienta Eliminar historial de versionado en rama, es importante tener un propósito claro en mente y elegir una fecha de eliminación adecuada que refleje sus necesidades específicas, como un requisito legal.
Por ejemplo, si Eliminar antes de fecha se establece en el 1 de enero de 2022, todos los datos retirados anteriores a esta fecha estarán sujetos a la eliminación.
Momentos referenciados
Un momento referenciado es un punto en el tiempo que impide que se eliminen ciertos registros. Estos momentos son importantes para mantener la integridad de los datos y garantizar que no se eliminen los registros históricos necesarios.
La herramienta Eliminar historial de versionado en rama examina registros históricos de entidades en la base de datos. Si la herramienta informa de un momento referenciado, significa que hay una versión o réplica del servicio de entidades que utiliza un momento referenciado anterior a la fecha de eliminación solicitada. Este momento referenciado puede evitar que se eliminen registros del dataset. El registro de salida informará del momento más temprano que se puede utilizar, incluido el momento referenciado, la réplica del servicio de entidades y la versión que bloqueó la herramienta.
Para resolver esto, puede ajustar Eliminar antes de fecha en una fecha anterior, conciliar las versiones o sincronizar las réplicas del servicio de entidades. Este paso garantiza la conservación de todos los registros necesarios y evita los momentos referenciados.
Por ejemplo, hace un año se agregó una nueva parcela a un dataset de parcela registrado como versionado en rama. Posteriormente, la parcela se actualizó hace seis meses y hoy se ha vuelto a actualizar. Si configura Eliminar antes de fecha en tres meses atrás, la herramienta identificará qué filas son candidatas para la eliminación en función de sus tiempos de actualización. Se puede eliminar cualquier representación de la parcela que sea más antigua que el valor de Eliminar antes de fecha y que no sea la representación actual del dataset de parcela.
Cuando se actualiza una entidad, la herramienta garantiza que la representación actual de la entidad no se devuelva en las consultas. Si la representación actual es una eliminación, la fila debe eliminarse, ya que no hay ninguna representación actual que se pueda devolver en el momento de la eliminación.
Por ejemplo, si una parcela fue eliminada hace seis meses, su representación actual se marca como eliminada. Esta fila se convierte en candidata para la eliminación porque no hay ninguna representación actual que se pueda devolver.
Versiones con nombre y conciliación
Cuando se crea una versión con nombre, se registran la fecha y la hora de ese momento y sirven como antecesor común para la conciliación. Durante una conciliación, la herramienta debe volver al momento inicial para determinar si los cambios se realizaron en la versión predeterminada o en la versión con nombre. Este proceso implica registrar los tiempos iniciales y nuevos y actualizar el antecesor común.
Nota:
La herramienta Eliminar historial de versionado en rama solo elimina los registros archivados retirados de la versión predeterminada.
Por ejemplo, si tiene una versión con nombre creada hace seis meses. Durante una conciliación, el sistema compara el estado actual de la versión en rama predeterminada y la versión con nombre para determinar si se han producido cambios en alguna de ellas. Esto ayuda a garantizar que todos los cambios se reflejen con precisión y evita los momentos referenciados.
Réplicas de servicios de entidades
Las réplicas del servicio de entidades también contienen momentos referenciados y avanzan en el tiempo a medida que se sincronizan. La herramienta garantiza que no se eliminen las filas necesarias para la sincronización. Esto incluye el mantenimiento de los registros históricos necesarios para la detección de conflictos.
Por ejemplo, si una réplica de un servicio de entidades fue creada hace un año y se sincronizó varias veces, la herramienta garantiza que las filas necesarias para estas sincronizaciones no sean eliminadas. Esto ayuda a mantener la integridad de los datos en diferentes réplicas.
Modelo de transacciones
La herramienta Eliminar historial de versionado en rama requiere un bloqueo exclusivo en el dataset y eliminará todas las filas de candidatos con fecha anterior al valor especificado de Eliminar antes de fecha. Si la herramienta encuentra un error durante la operación de eliminación, tendrá que resolver el error antes de volver a ejecutar la herramienta. Este flujo de trabajo garantiza que la base de datos mantenga la coherencia y que no queden vacíos en los registros históricos.
Cuando se elimina un dataset de entidades o tablas del sistema, cada tabla o clase de entrada se confirmará a medida que se lleve a cabo la operación en cada objeto individual. Por ejemplo, si la herramienta detecta un problema de memoria durante la eliminación, el proceso se detendrá. Luego puede abordar y resolver el problema y volver a ejecutar la herramienta, lo que hará que se reanude la eliminación desde donde la dejó.
Dependiendo del volumen de filas de candidatos que se estén eliminando, podría ser preciso aumentar los recursos de base de datos, como el espacio en disco, para compatibilizar de forma eficaz el tamaño de la transacción.
Momento del antecesor común y el antecesor anterior
Las propiedades de versiones de antecesor común y antecesor anterior son importantes para administrar los datos versionados en rama, rastrear el historial de cambios, evitar los momentos referenciados y garantizar que se recupere la versión correcta de las entidades durante las consultas. Estas propiedades de versiones se pueden ver al abrir la vista Versiones para una capa de entidades web en el mapa activo desde el panel Contenido. La información presentada en estas columnas también puede ayudarle a resolver problemas relacionados con los momentos referenciados que impiden la eliminación al utilizar la herramienta Eliminar historial de versionado en rama.
- Antecesor común: el antecesor común marca el último momento que comparten dos versiones en rama antes de divergir, así como la fecha y la hora en que la versión hizo referencia al mismo momento como predeterminado.
- Antecesor anterior: el antecesor anterior muestra la fecha y la hora anteriores a la última conciliación, cuando la versión y la versión predeterminada hacían referencia al mismo momento. Se convierte en el antecesor común anterior después de que se complete una nueva conciliación.
Si se detectan conflictos durante una conciliación, los momentos del antecesor común y del antecesor anterior ayudan a determinar si se realizaron cambios en la misma entidad tanto en la versión actual como en la versión predeterminada.
Cuando se utiliza la herramienta Eliminar historial de versionado en rama, los momentos del antecesor común y del antecesor anterior pueden evitar que se eliminen ciertos registros si una versión o una réplica del servicio de entidades hace referencia a ellos. Esto garantiza que no se eliminen inadvertidamente datos históricos importantes. Si la herramienta Eliminar historial de versionado en rama devuelve un error que indica que el valor de Eliminar antes de fecha no es válido debido a un momento referenciado, compruebe los momentos del antecesor común y del antecesor común anterior en el administrador de versiones. Identificar estos momentos en el administrador de versiones puede ayudarlo a comprender por qué no se pueden eliminar ciertos registros, lo que le permitirá tomar medidas como conciliar versiones o sincronizar réplicas del servicio de entidades para actualizar y avanzar el momento referenciado.
Obtenga más información sobre cómo crear, ver y administrar réplicas de servicios de entidades.
Preservación del historial
Siga las recomendaciones siguientes para conservar datos históricos o filas archivadas antes de ejecutar la herramienta Eliminar historial de versionado en rama.
- Realice copias de seguridad periódicas de su geodatabase corporativa.
Sugerencia:
Probar periódicamente su plan de copia de seguridad y recuperación de bases de datos también es una buena práctica. Consulte la documentación de su RDBMS para obtener detalles específicos y pasos relacionados con las opciones del plan de copia de seguridad y recuperación de bases de datos.
- Utilice la opción Solo informe de la herramienta Eliminar historial de versionado en rama para identificar posibles problemas antes de la eliminación.
- Antes de la eliminación, guarde los registros históricos exportados en una base de datos o archivo externos para referencias futuras.
Exportación de registros históricos
Para conservar los registros históricos antes de la eliminación, puede exportar las filas de clases archivadas utilizando un momento anterior. El flujo de trabajo para exportar registros históricos implica lo siguiente:
- Agregue la clase de archivo a un mapa.
- Utilice el campo GDB_FROM_DATE para ordenar e identificar registros anteriores al momento de la eliminación.
- Seleccione y exporte todos los registros anteriores a Eliminar antes de fecha.
Consulte Eliminar historial de versionado en rama para obtener más información sobre los requisitos previos y el flujo de trabajo para usar la herramienta Eliminar historial de versionado en rama.