Управление транзакциями базы геоданных

Транзакции являются группами операций, которые вносят изменения в базы данных. Базы данных Географических информационных систем (ГИС), как и другие приложения баз данных, должны поддерживать обновляемые транзакции, обеспечивающие целостность данных и поведение приложения. Во многих случаях пользователи могут использовать механизм транзакций системы управления базой данных (СУБД) для управления редактированием и обновлением баз геоданных.

Однако пользователи ГИС также имеют некоторые особые условия для транзакций. Например:

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

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

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

Далее приведены примеры процессов сбора и обработки данных ГИС, которые требуют модели транзакций, основанной на версии:

Модель транзакций базы геоданных: Работа с версиями

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

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

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

Версии точно записывают состояния объектов базы геоданных в две дельта-таблицы:

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

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

Таблицы версий в базе геоданных

В примере таблицы версий, участок (номер 45) обновляется и становится участком номер 47. Используя работу с версиями, исходный участок сохраняется в таблице удалений, а новый участок – в таблице добавлений. Другие мета-таблицы записывают информацию о версии транзакции, например, время и порядок каждого обновления, название версии и ID состояния каждого обновления. Также каждая версия имеет собственные права безопасности и доступа.

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

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

Дополнительные сведения о версиях см. в разделе Работа с версиями (Understanding versioning).

5/10/2014