Архитектура репликации базы геоданных

Доступно с лицензией Standard или Advanced.

Для различных рабочих процессов требуется распределять данные между различными базами геоданных, а также синхронизировать изменения, внесённые в данные каждой базы геоданных. Расположенный ниже раздел является руководством, которое поможет вам определить, каким образом лучше всего использовать распределенные данные, создавать реплики баз геоданных, управлять репликами и синхронизацией в вашей системе.

Введение в распределенные данные является хорошей начальной точкой для понимания репликации базы геоданных и других методов работы с распределенными данными. Сценарии работы с распределенными данными перечисляют ряд распространенных вариантов использования, для которых вы можете использовать репликацию базы геоданных. Если репликация базы геоданных является наиболее подходящим методом для вашей системы, следующим шагом будет создание реплики.

Создание реплик

Следующее может помочь вам определить лучший способ создания реплик для вашей системы:

  • Определите, какие реплики необходимы – в некоторых случаях вам может потребоваться создать только одну или две реплики, в то время как в других требуется много реплик. Например, вам понадобится создать множество реплик, если вы распределяете данные между сотрудниками полевой бригады, персонал которой будет работать на их полевых ноутбуках. В некоторых случаях, когда вам будет нужно иметь синхронизированными две многопользовательские базы геоданных, вам будет нужно создать всего одну реплику. См. Архитектура репликации базы геоданных, чтобы узнать больше о репликах и о том, как они работают в базе геоданных.
  • Решите, какой тип репликации вы будете использовать – В разделе Типы репликации описывается каждый из них. В вашей системе могут использоваться разные типы реплик для разных сценариев работы. Например, вам может понадобиться использовать двухстороннюю репликацию для синхронизации изменений с другим офисом и одностороннюю репликацию для обновления вашей публикуемой базы геоданных карты.
  • Чтобы создать реплику базы геоданных, можно также воспользоваться инструментом геообработки Создать реплику. Этот инструмент идеально подходит, если вам нужно регулярно создавать реплики. Например, вы можете построить модель для ежедневного создания реплик открепления для каждой из ваших полевых бригад.
  • Интегрируйте репликацию в версионные рабочие процессы – Репликация базы геоданных разработана в дополнение к возможности работы с традиционными версиями. В момент создания реплики версия реплики задаётся и в родительской, и в дочерних репликах. Это будет той версией, из которой вы будете отправлять и получать изменения в течение синхронизации. Для получения более подробной информации см. Создание реплик и работа с версиями.

    Поскольку версия реплики представляет собой канал, по которому происходит синхронизация ее изменений, вам необходимо спланировать работу с версиями реплик до того, как их создавать. Например, вы можете спланировать запуск определенной проверки изменений, полученных в ходе синхронизации, прежде чем произвести их интеграцию в основной рабочий поток. Вы можете проанализировать содержимое версии реплики после синхронизации, согласовать и опубликовать ее в своей обычной рабочей версии. Кроме того, вы можете использовать версию по умолчанию в качестве версии реплики. Это может быть удобно в тех случаях, когда вы хотите, чтобы изменения переносились при синхронизации в версию Default напрямую.

  • Определите данные для репликации – Репликация базы геоданных позволяет реплицировать некоторые или все наборы данных в многопользовательской базе геоданных. Репликация также позволяет вам определить, какие объекты или строки должны быть реплицированы. Для этого могут быть использованы фильтры и классы отношений. В ходе создания реплики первыми всегда применяются фильтры, а затем для присоединения дополнительных строк и объектов используются классы отношений. Более подробно см. в разделе Подготовка данных для репликации.

    Учитывайте ваши будущие потребности при определении данных для репликации. Например, двухсторонние и односторонние реплики создаются только один раз, а синхронизируются много раз. Фильтры, которые вы определяете в момент создания реплики, также используются во время синхронизации. Со временем ваши требования могут измениться, и вам может понадобиться реплицировать большую область. Также важно учитывать тип данных, который вы реплицируете. Для поддержки целостности данных используются дополнительные правила, которые применяются в случае репликации сложных типов данных, например, топологий. Следующие разделы справки описывают эти правила и показывают примеры: Топология в ArcGIS, Отношения и ArcGIS, Изображения и данные дистанционного зондирования в ArcGIS, Набор данных Terrain в ArcGIS AllSource и Что такое набор сетевых данных. Дополнительную информацию по заданию данных для репликации см. в статье Репликация с дополнительными наборами данных базы геоданных.

  • Изучите опции создания реплики – Некоторые опции были добавлены для того, чтобы сделать процесс создания реплики максимально удобным. Данные опции были спроектированы для работы в определенных случаях и могут не подходить для вашей организации рабочего потока. Просмотрите следующий список, чтобы увидеть, можете ли извлечь из этих опций какую-то выгоду:
    • Повторное использование схемы – определяет целевую базу геоданных, в которой уже есть схема для данных, репликацию которых вы производите. Это сокращает количество времени, требующееся для репликации данных. Эта опция доступна только для открепленных реплик и может выполняться только для репликации в файловую базу геоданных.
    • Репликация связанных данных – Во время создания реплики сначала применяются фильтры, а затем для определения данных, которые должны быть реплицированы, обрабатываются Классы отношений. Вы можете отключить обработку классов отношений, что сэкономит время. Если вы выберете опцию отключения обработки классов отношений, то классы отношений будут включены в репликацию, но не будут обрабатываться в ходе создания реплики и синхронизации. Вам также будет доступна опция отключения обработки всех классов пространственных объектов в инструменте геообработки Создать реплику.
    • Использовать архивацию для отслеживания изменений – При использовании архивации для отслеживания изменений вместо связанных с версиями дельта-таблиц системные версии не создаются. Поэтому процессы согласования, постобработки и сжатия не затрагиваются, делая управление версией и управление репликой независимыми. Это позволяет быть более гибким графику синхронизации.
      Примечание:

      Эта опция не включает архивирование и требует, чтобы вы зарегистрировали данные как традиционные с версией и включенным архивированием. При использовании этой опции вы должны создать реплики из версии по умолчанию.

    • Зарегистрировать только существующие данные – если вы реплицируете очень большой объем данных, вы можете рассмотреть возможность использования опции Зарегистрировать только существующие данные. Эта опция позволяет пропустить этап копирования данных при создании реплики и зарегистрировать новую реплику. Для успешного использования этой опции перед созданием реплики необходимо выполнить определенный набор требований.
    • Все записи для таблиц — в процессе создания реплики по умолчанию для таблиц реплицируется только схема таблицы. Чтобы реплицировать все записи для всех таблиц в реплику дочерней базы геоданных, вы можете использовать опцию Все записи для таблиц, которую можно найти в разделе Дополнительные настройки инструмента геообработки Создать реплику.
  • Обдумайте, использовать ли подключенную или автономную среду - реплики можно создавать как в подключенной, так и в автономной среде. В подключенной среде создание и синхронизация выполняются при подключении к одной сети. В автономной среде сеть не используется. Создание и синхронизация выполняются путем экспорта файлов, таких как документы XML, и их отправки, а затем их импорта в цель. Более подробную информацию см. в Репликация с подключением по сети и автономная репликация.

    Если сеть доступна, но ненадежна, вы все равно можете рассмотреть возможность использования автономной репликации. Процесс создания реплики, выполняемый в медленной сети, может занять много времени и быть ненадежным. При автономной репликации вы можете экспортировать в файл и продолжить работу, не дожидаясь отправки информации по сети. Однако в этом случае вы захотите создать резервные копии этих файлов на случай, если они будут потеряны перед импортом в целевой объект.

Синхронизировать реплики

Как только реплика будет создана, вы сможете начать синхронизацию изменений между репликами баз геоданных. Чтобы сделать работу вашей системы более эффективной, важно разработать стратегию синхронизации изменений. Более подробно см. в статье Что такое синхронизация.

При выборе наилучшей стратегии для вашей системы учитывайте следующее:

  • Методы синхронизации – Сначала определите, какой способ синхронизации наиболее соответствует вашим потребностям. Существует несколько доступных опций:
    • Синхронизация с подключением по сети

      Обзор синхронизации с подключением

      Синхронизация с подключением.

      • Синхронизация вручную – Если вы работаете только с небольшим числом реплик и не планируете производить синхронизацию изменений между двумя репликами баз геоданных очень часто, используйте инструмент Синхронизировать изменения в ArcGIS AllSource.
      • Автоматическая синхронизация с использованием агентов – в системе, где имеется много реплик, частая синхронизация или и то, и другое, рассмотрите возможность создания агента репликации. Агенты репликации работают путем автоматического подключения к реплицированным базам геоданных и выполнения необходимых синхронизаций. В этом случае пользователям не нужно самим производить синхронизацию своих баз данных, поскольку она производится автоматически.
        • Синхронизация с использованием инструментов геообработки – с помощью инструментов геообработки вы можете создавать модели для синхронизации реплик с использованием подключений к локальной базе геоданных или подключений к объектам сервера геоданных, работающим в Интернете. Вы можете экспортировать эти модели в скрипты Python и выполнять их в Python. Вы можете добавить команды для запуска скриптов в программное обеспечение для планирования, такое как планировщик Microsoft Windows, чтобы вы могли запускать их на регулярной основе. Например, вам может потребоваться запланировать выполнение синхронизации между двумя многопользовательскими базами геоданных один раз в неделю в оптимальное с точки зрения активности базы геоданных время.
    • Автономная синхронизация

      Обзор автономной синхронизации

      Показана автономная синхронизация.

      • Ручная синхронизация - для реплик в автономной среде синхронизация достигается путем ручного обмена сообщениями между репликами. Этот ручной процесс обмена сообщениями достигается при выполнении действий по автономной синхронизации путем экспорта сообщения из одной реплики в файл и импорта сообщения из файла в связанную реплику.
  • Синхронизация и конфликты – если изменения, внесенные в данные реплики, конфликтуют с изменениями, синхронизируемыми с относительной реплики, вы должны определить, как разрешить конфликт. Вы можете применить политику разрешения конфликтов для автоматического разрешения конфликтов. Просмотрите раздел о синхронизации и работе с версиями, чтобы узнать, имеет ли это отношение к вашей системе.
  • Синхронизируемые данные – При работе с открепленными репликами все изменения данных, которые производятся в дочерних репликах, проходят синхронизацию. При работе с двухсторонними и односторонними репликами будут закреплены только те изменения, которые удовлетворяют условиям фильтров и классов отношений. Вы можете использовать панель Управление репликами для определения фильтров и правил классов отношений, которые были применены к каждому реплицированному набору данных. Для поддержки целостности данных используются дополнительные правила, которые применяются в случае синхронизации сложных типов данных, например, топологий. Вы также можете добавить опцию обработки класса отношений для данных, которые будут синхронизированы. Для получения информации о синхронизации различных типов данных ознакомьтесь со следующими разделами: Синхронизация и топология и Синхронизация с фильтрами и связанными данными.

    Метаданные для тех данных, реплику которых вы создаете, копируются в процессе создания реплики. Однако изменения в метаданных не применяются в процессе синхронизации реплики.

  • Объем данных – При синхронизации используются только те изменения, которые были выполнены с момента последней синхронизации. ArcGIS AllSource отфильтровывает любые изменения, которые уже были отправлены и подтверждены. Точно так же, как только изменение будет отослано, оно уже никогда не будет возвращено обратно в исходную реплику. Таким образом, объемы данных сокращаются до самого необходимого.

    Спланируйте частоту, с которой вы будете производить синхронизацию. Эта частота должна соответствовать темпу, с которым в ваших данных производятся изменения. Если вы не производили синхронизацию достаточно часто для большого объема изменений, то этот процесс может потребовать много времени. Рекомендуется также производить синхронизацию в течение часов минимальной нагрузки базы. В автономной среде вы должны использовать файлы .zip вместо несжатых форматов, например, файлов .xml, при экспорте изменений данных. Также рекомендуется принять практику, при которой вы регулярно отправляете сообщения с подтверждением.

  • Порядок синхронизации реплик – При работе с несколькими репликами может быть важен порядок, в котором они синхронизируются. Например, рассмотрим случай, в котором вы создаете несколько двухсторонних реплик из одной многопользовательской базы геоданных. Одна из стратегий синхронизации этих реплик состоит в том, чтобы каждая дочерняя реплика синхронизировалась в обоих направлениях с родительской. Дочерняя реплика отсылает изменения в родительскую реплику, а затем родительская реплика отсылает изменения в дочернюю. Другая стратегия заключается в том, что каждая дочерняя реплика сначала отсылает ее изменения родительской реплике. Затем родительская реплика производит внесение всех изменений и отсылает обратно изменения для каждой дочерней реплики. В первом случае родитель отсылает дочерней реплике только ее изменениями наряду с полученными от реплик, которые уже были синхронизированы, а во втором случае родитель отсылает еще изменения, которые были получены от всех других реплик. В зависимости от организации вашей системы, одна стратегия может быть более подходящей, чем другая.
  • Изменения схемы – Репликация базы геоданных спроектирована, чтобы допускать изменения схемы. Это означает, что синхронизация продолжает работать, даже если в реплицированные данные внесены изменения в схему. Чаще всего лучше, чтобы изменения схемы были сведены к минимуму. Для получения информации о том, как обновить схему реплики, чтобы она соответствовала схеме относительной реплики, используя набор инструментов геообработки, см. раздел Изменения схемы реплики.
  • Работа с ошибками – Ошибки могут возникать в ходе синхронизации по самым разным причинам. В подключенной системе, компьютерная сеть может дать сбой, или вы можете пытаться синхронизировать конфликтную реплику. В автономной системе можно потерять сообщения или по ошибке попытаться импортировать сообщения в неправильном порядке. Во всех таких случаях система спроектирована на то, чтобы остаться в целостном состоянии. Произойдет откат изменений, а импорт некорректных правок данных будет отменен. Вы можете использовать журнал активности реплики, чтобы найти любые возникшие ошибки и определить, что делать, если что-то нужно исправить. В большинстве случаев система автоматически восстанавливается после ошибок, если вы продолжаете синхронизировать изменения. Реплики также содержат информацию о внесенных изменениях, которая указывает на то, сколько пакетов изменений было отправлено и сколько пакетов изменений было получено. Для получения более подробной информации см. раздел Управление репликами базы геоданных.

Управление репликами

Вы можете просматривать и управлять репликами базы геоданных и сервиса объектов с помощью панели Управление репликами в ArcGIS AllSource. На панели Управление репликами отображаются все реплики в многопользовательской базе геоданных и реплики, в которых участвует определенный класс пространственных объектов или таблица, а также свойства реплики.

Панель Управление репликами, отображающая реплики базы геоданных

Метод, использованный для создания реплики, определяет ее тип — реплика базы геоданных или реплика сервиса объектов. Панель Управление репликами содержит вкладку для каждого типа реплик.