Работа с изменениями схемы

Эта тема относится только к ArcGIS for Desktop Standard и ArcGIS for Desktop Advanced.

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

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

Для работы со схемами реплик, имеющими расхождения, были созданы следующие функции:

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

Если вы изменяете схему в одной реплике, но не делайте этого в другой реплике, то вы должны быть готовы к появлению следующих проблем:

Применение изменений схемы между репликами — Изменение схемы для приведения ее в соответствие связанной реплике - это процесс, отдельный от синхронизации данных. Для этого предназначены три инструмента, такие как Сравнить схемы реплик (Compare Replica Schema), Импорт схемы реплики (Import Replica Schema) и Экспорт схемы реплики (Export Replica Schema). Эти инструменты находятся на панели инструментов Распределенная база геоданных (Distributed Geodatabase) в ArcMap, ниспадающем меню Распределенная база геоданных (Distributed Geodatabase) в дереве Каталога и как отдельные инструменты геообработки.

Эти инструменты используются при обработке, выполняемой в два этапа: сначала запускается инструмент Сравнить схему реплики (Compare Replica Schema), генерирующий XML-файл с изменениями схемы, а затем эти изменения импортируются с помощью инструмента Импорт схемы реплики (Import Replica Schema). Если вы работаете в автономной среде, сначала надо запустить инструмент Экспорт схемы реплики (Export Replica Schema), чтобы экспортировать схему вместе с изменениями в файл XML. Этот файл потом можно передать на носителе - CD или DVD - в качестве входного для инструмента Сравнить схему реплики (Compare Replica Schema).

Ниже приводится список возможных изменений схемы, а также могут ли они быть произведены:

Добавить

Изменение

Удаление

Поле

Да

Да (домены)

Да

Домен

Да

Да

Да

Таблица/Класс пространственных объектов

Да

Да (домены, добавить/удалить поле)

Да

Геометрическая сеть

Нет

Нет

Да

Топология

Нет

Нет

Да

Набор классов объектов

Нет

Нет

Да

Класс отношений

Нет

Да (добавить/удалить поле, домены)

Да

В этой таблице описаны изменения схемы, которые можно внести в реплицируемые наборы данных.

С помощью обсуждаемых здесь инструментов нельзя добавить в реплику класс пространственных объектов или таблицу. Для этого надо выполнить код ArcObjects. См. пример этого кода

Удаление данных из реплики — Список наборов данных, включенных в каждую из реплик, хранится в реплике базы геоданных. Если вы удалите один из этих наборов данных, то будет выведено сообщение с предупреждением. Если вы продолжите работу, удалив набор данных, то он будет удален из списка наборов данных реплики. Вы можете добавить данные обратно в реплику с помощью ArcObjects API. Имейте в виду:

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

наилучшие способы

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

Ниже приводятся указания, выполнение которых сможет обеспечить эффективную работу с изменениями схемы:

  1. Блокируйте систему — Убедитесь в том, что сотрудники, использующие систему, работают с использованием корректных прав доступа. Вам может понадобиться написать приложение, которое сможет предотвратить выполнение незапланированных изменений схемы, например, добавления или удаления столбца.
  2. Периодически производите сравнения схем — Поскольку репликация является отказоустойчивым процессом, работа систем, которые производят синхронизации, скорее всего не будут прервана изменениями схемы. Однако хорошей практикой является периодическое выполнение сравнения схемы. Это позволит вам быть уверенными в том, что незапланированные изменения схемы не были произведены.
  3. Не производите синхронизацию до полного завершения выполнения задачи обслуживания — Иногда может быть нужно произвести временные изменения схемы для завершения задачи обслуживания. Например, некоторым организациям нужно, чтобы геометрическая сеть была удалена и перестала быть версионной, а затем была построена заново и зарегистрирована как версионная. Пока сеть не будет повторно зарегистрирована как версионная, синхронизация данных работать не будет.
  4. Производите изменения схемы на уровне системы — Если вам необходимо произвести изменения схемы, то лучше производить эти изменения на уровне системы в структурированном виде. Например, вам может понадобиться использовать метод внесения изменений «сверху вниз», при котором изменения производятся в корневой реплике, а затем распространяются уровнями ниже.
Изменения схемы
9/11/2013