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