Versionamento de Branch
O ArcGIS Pipeline Referencing (APR) no lançamento foi baseado no modelo tradicional de transação de geodatabase com versionamento. No entanto, como uma das aplicações da próxima geração do ArcGIS, o APR adicionou compatibilidade com versionamento de branch no ArcGIS Enterprise 10.6.1 com ArcGIS Pro 2.2. Em lançamentos subsequentes, novas funcionalidades como edição baseada em serviços, integração com Utility Network e prevenção de conflitos exigem versionamento de branch. O APR com versionamento de branch é o padrão recomendado e preferido para organizações de pipeline.
- Versionamento de branch segue uma arquitetura baseada em serviços para visualização e edição de dados. Facilita transações longas no banco de dados usando feature services, aproveitando o serviço Version Management do ArcGIS Server.
- O acesso direto via SQL ao banco de dados relacional não é suportado nem recomendado com este modelo de transação do geodatabase.
- Database Views são mais aplicáveis ao versionamento tradicional e junções ou integrações a nível de dados. Na ausência de views multi-versionadas, atualizações/inserções/exclusões usando SQL não devem ser aplicadas em feature classes que foram versionadas por branch. Isso pode causar corrupção de dados e outros comportamentos inesperados dentro das aplicações ArcGIS.
- Create Database View, a ferramenta geoprocessing, aceitará GDB versionado por branch como workspace de entrada. Contudo, a ferramenta não reconhece versionamento de branch.
Considerações de Design
Os usuários veem oportunidades neste cenário baseado em serviços que oferecem inúmeros benefícios. Mas tarefas fundamentais como gerar relatórios e interfaces de integração com banco de dados são essenciais para conduzir processos empresariais. Arquitetos de soluções e Gerentes GIS reavaliaram cuidadosamente as necessidades do negócio e trabalharam utilizando uma combinação dos padrões mais recentes. Consulte Utility Network Journey: Branch Versioning and SQL por @RobertKrisher para mais insights.
- REST API: O método suportado para consultar dados versionados por branch é através da REST API, por exemplo Query (Feature Service/Layer), onde apropriado e atende à necessidade. Métodos específicos foram desenvolvidos na REST e clientes ArcGIS para garantir a integridade dos dados ao acessar dados versionados por branch.
- Python Scripting: A ArcGIS API for Python reconhece versionamento de branch e scripts podem ser usados para gerar relatórios a partir do geodatabase versionado por branch. Os scripts podem ser executados como tarefas agendadas, frequentemente fora do horário comercial para compilar relatórios de dados.
- Geodatabase de Publicação Não-Versionada: Conjuntos de dados necessários podem ser replicados para um geodatabase de publicação não-versionado que pode ser usado para relatórios, SQL views, integração etc. Note que há um custo adicional no processo de replicação e na manutenção da cópia secundária do geodatabase. Portanto, um design cuidadoso é recomendado com base nos requisitos da camada, frequência da replicação, mudanças delta e análise geral custo-benefício.
- SQL Views: Lógica SQL adicional pode ser usada para definição de views (somente leitura) para acesso a dados versionados por branch. O documento Branch Version SQL Views apresenta vários exemplos:
- Criar Materialized Views e atualizar Views
- Criar Tabela de Relatórios e atualizar Tabelas
Note que a opção SQL Views é considerada secundária para operações legadas a nível de banco, e as funcionalidades INSERT, UPDATE e DELETE não estão disponíveis. A consulta baseada em REST API é a melhor prática recomendada daqui para frente para arquitetura baseada em serviços.
Considerações finais (cortesia xkcd)
