Branch Versioning
ArcGIS Pipeline Referencing (APR) was bij de lancering gebaseerd op het traditionele versiebeheer transactie model van de geodatabase. Echter, als een van de volgende generatie ArcGIS-applicaties, voegde APR compatibiliteit met branch versioning toe in ArcGIS Enterprise 10.6.1 met ArcGIS Pro 2.2. Bij latere releases vereisen nieuwere mogelijkheden zoals services-based editing, Utility Network integratie en conflictpreventie branch versioning. APR met branch versioning is het aanbevolen en geprefereerde implementatiepatroon voor pijpleidingorganisaties.
- Branch versioning volgt een services-based architectuur voor het bekijken en bewerken van data. Het faciliteert lange database transacties via feature services, gebruikmakend van de Version Management service van ArcGIS Server.
- Directe SQL-toegang tot de relationele database wordt niet ondersteund of aanbevolen met dit geodatabase transactie model.
- Database Views zijn meer toepasbaar op traditioneel versiebeheer en data-niveau joins of integraties. Bij afwezigheid van multi-versioned views mogen updates/inserts/deletes via SQL niet worden toegepast op feature classes die branch versioned zijn. Dit kan datacorruptie en ander onverwacht gedrag binnen ArcGIS applicaties veroorzaken.
- Create Database View geoprocessing tool accepteert branch versioned GDB als input workspace. De tool is echter niet branch version aware.
Ontwerp Overwegingen
Gebruikers zien kansen in dit veranderde services-based landschap dat talrijke voordelen biedt. Maar fundamentele taken zoals rapportage genereren en database-integratie interfaces zijn essentieel voor bedrijfsprocessen. Solution architects en GIS-managers hebben de zakelijke behoeften zorgvuldig herbeoordeeld en werken met een mix van nieuwere ontwerp patronen. Raadpleeg Utility Network Journey: Branch Versioning and SQL door @RobertKrisher voor aanvullende inzichten.
- REST API: De ondersteunde methode om branch versioned data te query'en is via de REST API, bijvoorbeeld Query (Feature Service/Layer), waar passend en nodig. Specifieke methoden zijn ontwikkeld in REST en ArcGIS clients om dataintegriteit te waarborgen bij toegang tot branch versioned data.
- Python Scripting: De ArcGIS API for Python is branch version aware en scripts kunnen worden gebruikt om rapporten te genereren uit branch versioned geodatabases. De scripts kunnen als geplande taken worden uitgevoerd, vaak buiten kantooruren, om data rapporten samen te stellen.
- Niet-versiebeheerde Publicatie Geodatabase: Vereiste datasets kunnen worden gerepliceerd naar een niet-versiebeheerde publicatie geodatabase die kan worden gebruikt voor rapportage, SQL views, integratie etc. Houd er rekening mee dat er overhead is door het replicatieproces en het onderhouden van een secundaire geodatabase kopie. Daarom wordt een zorgvuldige ontwerpkeuze aanbevolen op basis van laagvereisten, replicatiefrequentie, delta-wijzigingen en algemene kosten-batenanalyse.
- SQL Views: Extra SQL-logica kan worden gebruikt voor view-definitie (alleen-lezen) toegang tot branch versioned data. Het document Branch Version SQL Views presenteert verschillende voorbeelden:
- Materialized Views maken en Views verversen
- Reporting Table maken en Tables verversen
Let op dat de optie SQL Views als secundair wordt beschouwd voor legacy database niveau operaties, en INSERT-, UPDATE- en DELETE-functionaliteit niet beschikbaar is. REST API-gebaseerde query is de best practice, aanbevolen optie voor service-based architectuur in de toekomst.
Afsluitende gedachten (met dank aan xkcd)
