Для различных рабочих процессов требуется распределять данные между различными базами геоданных, а также синхронизировать изменения, внесённые в данные каждой базы геоданных. Расположенный ниже раздел является руководством, которое поможет вам определить, каким образом лучше всего использовать распределенные данные, реплики баз геоданных и синхронизацию в вашей системе.
Введение в распределенные данные является хорошей начальной точкой для понимания репликации базы геоданных и других методов работы с распределенными данными. Раздел Сценарии работы с распределенными данными также содержит множество примеров наиболее общих случаев использования репликации баз геоданных. Если вам кажется, что репликация базы геоданных является наиболее подходящим способом распределения данных для вашей системы, то вашим следующим действием будет создание реплик.
Создание реплик
Расположенные ниже указания помогут вам определить наилучший способ создания реплик для вашей системы.
- Определите нужные вам реплики– в некоторых случаях необходимо создать только одну или две реплики, в то время как в остальных случаях понадобится создать много реплик. Например, вам понадобится создать множество реплик, если вы распределяете данные между сотрудниками полевой бригады, персонал которой будет работать на их полевых ноутбуках. В некоторых случаях, когда вам будет нужно иметь синхронизированными две многопользовательские базы геоданных, вам будет нужно создать всего одну реплику. См. Архитектуар репликации базы геоданных, чтобы узнать подробнее о репликах и о том, как они работают в базе геоданных.
- Решите, какой тип репликации вы будете использовать – В разделе Типы репликации описывается каждый из них. В вашей системе могут использоваться разные типы реплик для разных сценариев работы. Например, вам может понадобиться использовать двухстороннюю репликацию для синхронизации изменений с другим офисом и одностороннюю репликацию для обновления вашей публикуемой базы геоданных карты.
- Чтобы создать реплику, можно также воспользоваться инструментом геообработки Создать реплику. Он идеально подходит для создания реплик, если вы делаете это регулярно. Например, может быть создана модель, создающая ежедневно для ваших полевых бригад необходимые открепленные реплики.
- Интегрируйте репликацию в версионные рабочие процессы – Репликация базы геоданных разработана в дополнение к возможности работы с традиционными версиями. В момент создания реплики версия реплики задаётся и в родительской, и в дочерних репликах. Это будет той версией, из которой вы будете отправлять и получать изменения в течение синхронизации. Для получения более подробной информации см. раздел Создание реплик и работа с версиями.
Поскольку версия реплики представляет собой канал, по которому происходит синхронизация ее изменений, вам необходимо спланировать работу с версиями реплик до того, как их создавать. Например, вы можете спланировать запуск определенной проверки изменений, полученных в ходе синхронизации, прежде чем произвести их интеграцию в основной рабочий поток. Это может быть выполнено путем анализа содержимого версии реплики после синхронизации и затем путем его согласования и закрепления в постоянной рабочей версии. Вы также можете использовать версию Default в качестве версии реплики. Это может быть удобно в тех случаях, когда вы хотите, чтобы изменения переносились при синхронизации в версию Default напрямую.
- Определите данные для репликации – Репликация базы геоданных позволяет реплицировать некоторые или все наборы данных в многопользовательской базе геоданных. Репликация также позволяет вам определить, какие объекты или строки должны быть реплицированы. Для этого могут быть использованы фильтры и классы отношений. В ходе создания реплики первыми всегда применяются фильтры, а затем для присоединения дополнительных строк и объектов используются классы отношений. Более подробно см. в разделе Подготовка данных для репликации.
Учитывайте ваши будущие потребности при определении данных для репликации. Например, двухсторонние и односторонние реплики создаются только один раз, а синхронизируются много раз. Фильтры, которые вы определяете в момент создания реплики, также используются во время синхронизации. Со временем ваши требования могут измениться, и вам может понадобиться реплицировать большую область. Также важно учитывать тип данных, который вы реплицируете. Для поддержки целостности данных используются дополнительные правила, которые применяются в случае репликации сложных типов данных, например, топологий. В следующих разделах справки описываются эти правила и их примеры: Топологии, Классы отношений, Растровые данные и Terrains, а также Сетевые наборы данных. Дополнительную информацию по заданию данных для репликации см. в статье Репликация с дополнительными наборами данных базы геоданных.
- Изучите опции создания реплики – Некоторые опции были добавлены для того, чтобы сделать процесс создания реплики максимально удобным. Данные опции были спроектированы для работы в определенных случаях и могут не подходить для вашей организации рабочего потока. Просмотрите следующий список, чтобы увидеть, можете ли извлечь из этих опций какую-то выгоду:
- Повторное использование схемы – определяет целевую базу геоданных, в которой уже есть схема для данных, репликацию которых вы производите. Это поможет сохранить время, поскольку этап создания схемы может быть опущен при создании реплики. Данная опция может быть применена только в случае использования прикрепленных/открепленных реплик, но должна быть использована, когда это возможно.
- Репликация связанных данных – Во время создания реплики сначала применяются фильтры, а затем для определения данных, которые должны быть реплицированы, обрабатываются Классы отношений. Вы можете отключить опцию обработки классов отношений, что позволит вам сохранить время. Если вы выберете опцию отключения обработки классов отношений, то классы отношений будут включены в репликацию, но не будут обрабатываться в ходе создания реплики и синхронизации. Вам также будет доступна опция отключения обработки всех классов пространственных объектов в инструменте геообработки Создать реплику.
- Использовать архивацию для отслеживания изменений – При использовании архивации для отслеживания изменений вместо связанных с версиями дельта-таблиц системные версии не создаются. Поэтому процессы согласования, постобработки и сжатия не затрагиваются, делая управление версией и управление репликой независимыми. Это позволяет быть более гибким графику синхронизации.
Примечание:
Эта опция не включает архивирование и требует, чтобы данные были зарегистрированы как традиционные версии с включенным архивированием. Когда используется эта опция, необходимо, чтобы реплики были созданы на основе версии по умолчанию.
Синхронизировать реплики
Как только реплика будет создана, вы сможете начать синхронизацию изменений между репликами баз геоданных. Чтобы сделать работу вашей системы более эффективной, важно разработать стратегию синхронизации изменений. Более подробно см. в статье Что такое синхронизация.
Ниже приводится перечень вопросов, которые вы должны учесть при определении оптимальной для вашей системы стратегии.
- Методы синхронизации – Сначала определите, какой способ синхронизации наиболее соответствует вашим потребностям. Существует несколько доступных опций:
- Синхронизация вручную – Если вы работаете только с небольшим числом реплик и не планируете производить синхронизацию изменений очень часто, используйте инструмент Синхронизировать изменения в ArcGIS Pro.
- Автоматическая синхронизация с помощью агентов – при работе с системами, в которых имеется большое количество реплик, часто выполняется синхронизация, либо и то, и другое, необходимо рассмотреть возможность создания агента репликации. Агенты репликации работают путем автоматического подключения к реплицированным базам геоданных и выполнения необходимых синхронизаций. В этом случае конечным пользователям не нужно самим производить синхронизацию их баз данных, поскольку она производится автоматически.
- Синхронизация средствами инструментов геообработки – С помощью инструментов геообработки можно создавать модели для синхронизации реплик с использованием подключения к локальным базам геоданных или подключения к объектам сервера геоданных, который доступен в сети Интернет. Эти модели могут быть экспортированы в скрипты Python и выполнены посредством Python. Команды, при выполнении которых происходит запуск скрипта, могут быть добавлены в программное обеспечение планирования, например, планировщик Windows, чтобы они могли выполняться регулярно. Например, вам может потребоваться запланировать выполнение синхронизации между двумя многопользовательскими базами геоданных один раз в неделю в оптимальное с точки зрения активности базы геоданных время.
- Синхронизация и конфликты – Если правки, которые были внесены в данные реплики, конфликтуют с правками, которые синхронизируются из связанной реплики, необходимо определить способ разрешения конфликта. Для автоматического разрешения конфликтов можно применить политику согласования. Просмотрите раздел о синхронизации и работе с версиями, чтобы узнать, имеет ли это отношение к вашей системе.
- Синхронизируемые данные – При работе с открепленными репликами все изменения данных, которые производятся в дочерних репликах, проходят синхронизацию. При работе с двухсторонними и односторонними репликами будут закреплены только те изменения, которые удовлетворяют условиям фильтров и классов отношений. Панель Менеджер реплик может быть использована для определения фильтров и правил классов отношений, которые были установлены для каждого реплицированного набора данных. Для поддержки целостности данных используются дополнительные правила, которые применяются в случае синхронизации сложных типов данных, например, топологий. Вы также можете добавить опцию обработки класса отношений для данных, которые будут синхронизированы. Для получения информации о синхронизации различных типов данных ознакомьтесь со следующими разделами: Синхронизация топологии и Синхронизация связанных данных.
Метаданные для данные, которые вы выбрали для репликации, копируются в ходе процесса создания реплики. Однако изменения в метаданных не применяются в ходе синхронизации реплик.
- Объем данных – При синхронизации используются только те изменения, которые были выполнены с момента последней синхронизации. ArcGIS не обращает внимания на любые изменения, которые уже были отосланы, и их прием был подтвержден. Точно так же, как только изменение будет отослано, оно уже никогда не будет возвращено обратно в исходную реплику. Таким образом, объемы данных сокращаются до самого необходимого.
Спланируйте частоту, с которой вы будете производить синхронизацию. Эта частота должна соответствовать темпу, с которым в ваших данных производятся изменения. Если вы не производили синхронизацию достаточно часто для большого объема изменений, то этот процесс может потребовать много времени. Рекомендуется также производить синхронизацию в течение часов минимальной нагрузки базы.
- Порядок синхронизации реплик – При работе с несколькими репликами может быть важен порядок, в котором они синхронизируются. Например, рассмотрим случай, в котором вы создаете несколько двухсторонних реплик из одной многопользовательской базы геоданных. Одна стратегия для синхронизации этих реплик заключалась бы в том, что вам было нужно синхронизировать каждую дочернюю реплику с ее родителем в обоих направлениях. Дочерняя реплика отсылает изменения в родительскую реплику, а затем родительская реплика отсылает изменения в дочернюю. Другая стратегия заключается в том, что каждая дочерняя реплика сначала отсылает ее изменения родительской реплике. Затем родительская реплика производит внесение всех изменений и отсылает обратно изменения для каждой дочерней реплики. В первом случае родитель отсылает дочерней реплике только ее изменениями наряду с полученными от реплик, которые уже были синхронизированы, а во втором случае родитель отсылает еще изменения, которые были получены от всех других реплик. В зависимости от организации вашей системы, одна стратегия может быть более подходящей, чем другая.
- Изменения схемы – Репликация базы геоданных спроектирована, чтобы допускать изменения схемы. Это означает, что синхронизации смогут продолжать работать, даже если для реплицированных данных будет изменена схема. Чаще всего лучше, чтобы изменения схемы были сведены к минимуму.
- Работа с ошибками – Ошибки могут возникать в ходе синхронизации по самым разным причинам. Компьютерная сеть может дать сбой, или вы можете пытаться синхронизировать конфликтную реплику. Система спроектирована на то, чтобы остаться в целостном состоянии. Произойдет откат изменений, а импорт некорректных правок данных будет отменен. Вы можете использовать журнал реплик для обнаружения каких-либо возникших ошибок, а также для определения последующих действий, если у вас есть что восстанавливать. Чаще всего система будет автоматически восстановлена после появления ошибок, если вы продолжите синхронизацию изменений. Реплики также содержат информацию о внесенных изменениях, которая указывает на то, сколько пакетов изменений было отправлено и сколько пакетов изменений было получено. Для получения более подробной информации см. раздел Управление репликами.