Изменения схемы реплики

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

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

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

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

Инструменты схем реплики

При работе с изменениями схемы реплики используются три инструмента геообработки:

  • Экспорт схемы реплики — создает файл схемы реплики со схемой входной односторонней или двусторонней реплики.
  • Сравнить схему реплики — создает файл .xml, описывающий различия схемы между базой геоданных реплики и соответствующей базой геоданных реплики.
    • Файл изменений схемы, полученный с помощью этой команды, описывает, какие изменения необходимо внести в реплику базы геоданных, чтобы привести ее в соответствие c родительской репликой базы геоданных.
  • Импорт схемы реплики — применяет различия схемы реплики с использованием входной базы геоданных реплики и файла .xml.

Доступ к инструментам изменения схемы можно получить:

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

Чтобы применить изменения схемы к связанной реплике базы геоданных, см. инструкции в разделе Управление репликами базы геоданных.

Примечание:

Изменение схемы реплики в соответствии со схемой относительной реплики — это процесс, отдельный от синхронизации данных.

Допустимые изменения схемы

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

ДобавитьИзменить

Поле

Добавляемые к таблицам и классам объектов поля синхронизируются.

Изменения применяемых к полям доменов синхронизируются.

Домен

Новые домены синхронизируются.

Изменения определений доменов синхронизируются.

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

Добавляемые поля и примененные к полям таблиц и классов объектов домены синхронизируются.

Удаленные поля, таблицы или классы пространственных объектов не синхронизируются со связанной репликой базы геоданных (другими словами, они не удаляются из нее).

Удаление наборов данных из реплики

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

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

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

Поддержка различий в схемах

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

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

  • Правка не синхронизируется – При синхронизации данных будут импортированы изменения только для тех таблиц и полей, которые являются общими для обеих реплик. Если изменение внесено в поле, которого нет в связанной реплике базы геоданных, это изменение не может быть применено в реплике базы геоданных при импорте изменений.
  • Некорректные значения – изменения, которые задействуют домены, подтипы и правила отношений, будут применены при синхронизации изменений.
  • Ошибки синхронизации данных – это может произойти, если в обеих репликах баз геоданных изменения схемы вносятся вручную. Например, если вы добавляете поле в таблицу, убедитесь, что вы используете одно и то же определение поля в обеих базах геоданных в паре реплик. В случае появления каких-либо расхождений, например, поле в одной реплике имеет тип string, а в другой реплике тип integer, при синхронизации данных возникнет ошибка.
  • Неподдерживаемые изменения – Некоторые типы изменений схемы могут вызвать ошибку при синхронизации, но при произведении изменения предупреждения выводиться не будет. Данные изменения не могут быть выявлены на уровне системы репликации базы геоданных. Они включают в себя операции на уровне базы данных, например, изменения прав доступа к таблице в базе данных. Если права доступа к реплицированным данным будут изменены на «только для чтения», то при попытке импорта изменений из связанной реплики возникнет ошибка.

Рекомендации

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

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