Versionado de Ramas
ArcGIS Pipeline Referencing (APR) al inicio se basaba en el modelo tradicional de transacciones de geodatabase con versionado. Sin embargo, como una de las aplicaciones de próxima generación de ArcGIS, APR añadió compatibilidad con el versionado de ramas en ArcGIS Enterprise 10.6.1 con ArcGIS Pro 2.2. En lanzamientos posteriores, capacidades más nuevas como la edición basada en servicios, integración con Utility Network y prevención de conflictos requieren el versionado de ramas. APR con versionado de ramas es el patrón de implementación recomendado y preferido para organizaciones de tuberías.
- El versionado de ramas sigue una arquitectura basada en servicios para visualizar y editar datos. Facilita transacciones largas en la base de datos usando feature services, aprovechando el servicio Version Management de ArcGIS Server.
- El acceso directo SQL a la base de datos relacional no está soportado ni recomendado con este modelo de transacciones de geodatabase.
- Las Vistas de Base de Datos son más aplicables al versionado tradicional y a uniones o integraciones a nivel de datos. En ausencia de vistas multi-versionadas, las actualizaciones/inserciones/eliminaciones usando SQL no deben aplicarse sobre clases de entidades que hayan sido versionadas por rama. Esto puede causar corrupción de datos y otros comportamientos inesperados dentro de las aplicaciones ArcGIS.
- La herramienta Create Database View acepta geodatabases versionadas por rama como espacio de trabajo de entrada. Sin embargo, la herramienta no reconoce el versionado por rama.
Consideraciones de Diseño
Los usuarios ven oportunidades en este nuevo entorno basado en servicios que ofrece numerosos beneficios. Pero tareas fundamentales como generar informes e interfaces para integración con bases de datos son clave para ejecutar procesos empresariales. Los arquitectos de soluciones y gerentes GIS han re-evaluado cuidadosamente las necesidades del negocio y han trabajado utilizando una mezcla de los patrones más nuevos. Consulte Utility Network Journey: Branch Versioning and SQL por @RobertKrisher para obtener más información.
- REST API: El método soportado para consultar datos versionados por rama es a través del REST API, por ejemplo Query (Feature Service/Layer), cuando sea apropiado y satisfaga la necesidad. Se han desarrollado métodos específicos en REST y clientes ArcGIS para asegurar la integridad de los datos al acceder a los datos versionados por rama.
- Scripting en Python: La API ArcGIS para Python reconoce el versionado por rama y se pueden usar scripts para generar informes desde geodatabases versionadas por rama. Los scripts pueden ejecutarse como trabajos programados, frecuentemente fuera del horario laboral para compilar informes de datos.
- Geodatabase Publicación No Versionada: Los conjuntos de datos requeridos pueden replicarse a una geodatabase publicación no versionada que puede usarse para informes, vistas SQL, integración, etc. Tenga en cuenta que existe una sobrecarga del proceso de replicación y mantenimiento de una copia secundaria de la geodatabase. Por lo tanto, se recomienda un diseño cuidadoso basado en los requisitos de la capa, frecuencia de replicación, cambios delta y análisis general costo-beneficio.
- Vistas SQL: Se puede usar lógica SQL adicional para definición de vistas (solo lectura) para acceder a datos versionados por rama. El documento Branch Version SQL Views presenta varios ejemplos:
- Crear Vistas Materializadas y actualizar Vistas
- Crear Tabla para Reportes y actualizar Tablas
Tenga en cuenta que la opción Vistas SQL se considera secundaria para operaciones heredadas a nivel base de datos, y la funcionalidad INSERT, UPDATE y DELETE no está disponible. La consulta basada en REST API es la mejor práctica recomendada hacia adelante para arquitectura basada en servicios.
Reflexiones finales (cortesía xkcd)
