Větvení verzí
ArcGIS Pipeline Referencing (APR) při spuštění vycházel z tradičního modelu transakcí verzování v geodatabázi. Nicméně jako jedna z aplikací nové generace ArcGIS přidal APR kompatibilitu s větvením verzí v ArcGIS Enterprise 10.6.1 s ArcGIS Pro 2.2. V následujících verzích vyžadují novější funkce jako editace založená na službách, integrace Utility Network a prevence konfliktů větvení verzí. APR s větvením verzí je doporučený a preferovaný implementační vzor pro organizace zabývající se potrubními sítěmi.
- Větvení verzí vychází z architektury založené na službách pro prohlížení a úpravu dat. Umožňuje dlouhé databázové transakce pomocí feature services, využívajíc Version Management service ArcGIS Serveru.
- Přímý SQL přístup k relační databázi není s tímto modelem transakcí geodatabáze podporován ani doporučován.
- Databázové pohledy jsou vhodnější pro tradiční verzování a spojování či integrace na úrovni dat. V nepřítomnosti multi-verzovaných pohledů by neměly být aktualizace/vložení/smazání pomocí SQL aplikovány na feature class, které jsou větveně verzované. To může způsobit poškození dat a jiné neočekávané chování v aplikacích ArcGIS.
- Nástroj Create Database View přijímá větveně verzovanou GDB jako vstupní pracovní prostor, ale nástroj není vědom větvení verzí.
Návrhové úvahy
Uživatelé vidí příležitosti v této změněné architektuře založené na službách, která nabízí řadu výhod. Základní úkoly jako generování reportů a rozhraní pro integraci databází jsou však klíčové pro provoz obchodních procesů. Architekti řešení a GIS manažeři pečlivě přehodnotili obchodní potřeby a pracovali s kombinací novějších návrhových vzorů. Další poznatky najdete v Utility Network Journey: Branch Versioning and SQL od @RobertKrisher.
- REST API: Podporovanou metodou dotazování větveně verzovaných dat je REST API, např. Query (Feature Service/Layer), pokud je to vhodné a splňuje potřeby. Specifické metody byly vyvinuty v REST a klientech ArcGIS, aby byla zajištěna integrita dat při přístupu k větveně verzovaným datům.
- Python skriptování: ArcGIS API for Python je vědomo větvení verzí a skripty lze použít k generování reportů z větveně verzované geodatabáze. Skripty lze spouštět jako plánované úlohy, často mimo pracovní dobu, pro sestavení datových reportů.
- Neverzionovaná publikovaná geodatabáze: Požadovaná data mohou být replikována do neverzionované publikované geodatabáze, která může být použita pro reportování, SQL pohledy, integraci atd. Je třeba počítat s režijními náklady na replikační proces a udržování sekundární kopie geodatabáze. Proto se doporučuje pečlivý návrh založený na požadavcích vrstev, frekvenci replikace, delta změnách a celkové analýze nákladů a přínosů.
- SQL pohledy: Pro definici pohledů (pouze pro čtení) k větveně verzovaným datům lze použít další SQL logiku. Dokument Branch Version SQL Views představuje několik příkladů:
- Vytvoření materializovaných pohledů a jejich obnovení
- Vytvoření reportovací tabulky a její obnovení
Je třeba poznamenat, že možnost SQL pohledů je považována za sekundární pro starší operace na úrovni databáze a funkce INSERT, UPDATE a DELETE nejsou dostupné. Dotazování přes REST API je nejlepší praxí a doporučenou možností do budoucna pro architekturu založenou na službách.
Závěrečné myšlenky (zdroj xkcd)
