Рабочие процессы, использующие географические данных, могут значительно изменяться по продолжительности и сложности. Многопользовательские базы геоданных поддерживают две стратегии управления многопользовательскими данными, которые поддерживают баланс между нуждами рабочего процесса для пользователей и возможностью приложений выполнять короткие и длинные транзакции с данными: управление данными с версиями и без версий. Неверсионный подход управляет редактированием с помощью коротких транзакций, а версионный охватывает длинные транзакции.
Каждая стратегия, с версиями или без версий, может быть применена на основе схемы feature-class-by-feature-class или table-by-table, так что вы сможете использовать обе эти схемы в одной и той же многопользовательской базе геоданных. Управление версионными данными далее может быть расширено с помощью трех опций: версии ветви, традиционные версии и версии с опцией перемещения изменений в базу. Выбранная вами стратегия будет определена теми возможностями, которые вы хотите включить в свою ГИС, поскольку существуют различия в доступных для редактирования данных и типах выполняемых рабочих процессов.
В следующей таблице приведена сводка параметров рабочего процесса редактирования, поддерживаемых в многопользовательской базе геоданных:
Типы данных | Версии ветвления | Традиционные версии | Традиционное управление версиями (перемещение изменений в базу) | Неверсионное редактирование |
---|---|---|---|---|
Класс пространственных объектов | ||||
Таблица | ||||
Аннотация | ||||
Размер | ||||
Класс отношений | ||||
Сеть трассировки ** | ** | |||
Инженерная сеть | ||||
Набор данных участков | ||||
Топология | ||||
Набор сетевых данных | ||||
Набор данных Terrain |
**Поддерживается только в файловой базы геоданных
Управление данными без поддержки версий
Данная стратегия является самой простой, поскольку при ее использовании вы не будете работать с несколькими версиями; она использует модель транзакций, лежащую в основе СУБД. Неверсионные изменения эквивалентны стандартным кратким транзакциям в базе данных.
Для редактирования данных щелкните вкладку Редактировать на ленте и выполните необходимые операции – добавление, удаление или перемещение пространственных объектов и обновление атрибутов. Ваша первая правка в сеансе редактирования начинает транзакцию, и все выполняемые отдельные операции редактирования отправляются в базу данных, как отдельные транзакции. При редактировании неверсионных данных в ArcGIS Pro, каждая транзакция автоматически отправляется в базу данных без необходимости сохранения изменений. Внесенные вами изменения будут доступны остальным пользователям и приложениям, обращающимся к данным по завершении вашей транзакции.
При редактировании будут использоваться любые уникальные индексы, ограничения и триггеры, определенные для данных в рамках СУБД. Будет использоваться такая же схема блокировки, как будто если бы вы выполняли транзакции для данных, хранимых в СУБД, напрямую. Следовательно, для пользователей или приложений существует риск того, что при доступе или изменении одних и тех же данных они будут блокировать друг друга.
Примечание:
При использовании неверсионного редактирования в среде многопользовательского редактирования вы должны понимать принцип работы уровней изоляции и блокировок в вашей СУБД и при необходимости установить соответствующий уровень изоляции в СУБД до того, как вы начнете работать в ArcGIS.
Эта стратегия подходит для простых объектов, которые не требуют работы с многочисленными представлениями данных, имеющих версии. Поскольку данная стратегия не использует версии, она будет также удобна, если вам нужно, чтобы и ГИС, и не-ГИС приложения могли разделять доступ к общей базе данных.
Преимущества
Преимущества при управлении неверсионными данными включают следующие:
- Интеграция географических данных в существующие приложения путем разрешения сторонним приложениям (приложениям, которые не были созданы с помощью программного обеспечения Esri) производить считывание и изменение тех же данных, которые используются приложениями ArcGIS. Например, бизнес-партнеры Esri часто создают надстройки и приложения для дополнительных модулей, которые требуют открытого доступа для обновления данных, хранящихся в используемых СУБД.
- Управление проектами с простыми рабочими процессами и операциями редактирования. Если транзакции будут всегда простыми и не будут длинными, то вы сможете изменять данные напрямую без необходимости в объединении изменений и периодическом управлении дополнительными таблицами, которые необходимы при работе с версиями.
Ограничения
Ограничения при управлении неверсионными данными включают следующие:
- Вы можете редактировать только простые объекты: точки, линии, полигоны, аннотации и отношения. Вы не можете редактировать классы объектов, которые участвуют в топологии, инженерной сети, наборе данных участков или других наборах данных с расширенной функциональностью.
- Поскольку вы редактируете источник данных напрямую, то после сохранения изменений вы не можете произвести отмену или повтор отдельного изменения в случае допущения ошибки.
- При неверсионном редактировании нет выявления конфликтов. Если один пользователь обновляет и сохраняет пространственный объект, а затем другой пользователь редактирует и сохраняет этот же объект, последнее обновление отменяет первое.
- В сценарии редактирования несколькими пользователями, когда один из пользователей редактирует объект, к СУБД применяется блокировка, предотвращая одновременные правки одного объекта разными редакторами.
Управление данными с поддержкой версий
Многопользовательская база геоданных использует версии для обеспечения нужд сценариев многопользовательского редактирования и длинных транзакций. База геоданных расширяет возможности стандартной модели транзакций СУБД, позволяя нескольким параллельным состояниям базы данных, называемых версиями, существовать в одно и то же время. Это позволяет нескольким пользователям одновременно редактировать одни и те же данные в базе геоданных, без использования блокировок и создания копий данных.
Редакторы могут работать с собственными персональными версиями базы геоданных, так что другие пользователи не видят незаконченных результатов и редакторы при этом не блокируют доступ к данным друг для друга.
Каждая версия может представлять состояние текущей работы, например, состояние проекта или набор рабочих нарядов, а также работы, которая может порождать наличие нескольких подключений к базе данных и длиться при необходимости в течение нескольких недель или даже месяцев. После того, как редакторы завершили работу, они могут интегрировать свои изменения обратно в родительскую версию.
Вот некоторые примеры рабочих процессов с использованием версий:
- Проекты, требующие выполнения анализа по алгоритму «что, если» - Создайте новый дизайн в отдельной версии. Если дизайн будет одобрен, то вы сможете произвести его объединение с остальной частью базы данных. Если он не будет одобрен, то вы сможете от него отказаться.
- Проекты, имеющие специфические требования к обеспечению качества - Собирайте изменения данных, например пакетные операции импорта, в версию, которая изолирована от других пользователей базы данных. Произведите тестирование и одобрение изменений до того, как объединить их с публикуемой версией базы данных.
- Проекты, в рамках которых производится разделение работы по функциональному или географическому признаку - Например, проект проектирования и постройки нового торгового центра может иметь определенные этапы постройки, разделяемые на восточную и западную части, или подразделяемые по типу строительных работ, например стройка, проведение коммуникаций или дизайн ландшафта. Каждая единица работы будет производиться в отдельной версии; по мере того, как работа с версией будет завершаться, ее содержание будет закрепляться в публикуемой версии базы данных.
- Проекты, работа в которых продвигается посредством прохождения установленных или регламентируемых групп этапов, в силу чего для каждого из них требуется проектировочное, административное или юридическое одобрение до перехода к следующей стадии - Рабочие потоки для этих проектов могут управлять каждым этапом в виде отдельной версии, такой как версии первоначального проекта или предполагаемой версии, одобренной версии и версии для этапа строительства. По мере продвижения и развития проекта происходит обзор каждого этапа и его одобрение, а затем его версия заменяется последующей версией, до тех пор, пока последний этап не будет выполнен и завершен.
- Проекты, требующие от бригад технического обслуживания обновления данных на местах с помощью мобильных устройств - Редакторы на местах могут работать в своих собственных версиях и объединять изменения с обновлениями, выполненными редакторами в офисе.
Каждая многопользовательская база геоданных имеет версию с именем Default. В отличие от других версий, версия Default существует всегда и не может быть удалена. В большинстве стратегий организации рабочих потоков данная версия является публикуемой версией базы данных и представляет собой текущее состояние разрабатываемой системы. Вы производите обслуживание и время от времени обновление версии Default путем закрепления в ней изменений из других версий. Вы также можете непосредственно редактировать версию Default, как и любую другую версию. Версия Default является основной (корневой) версией и, следовательно, предком всех других версий.
Использование версий вносит гибкость и масштабируемость в сценарии управления вашими данными. Существует два доступных типа версионных данных, каждый обслуживает определенные рабочие процессы и опции развертывания:
Изучите сценарии применения версий ветви и сценарии применения традиционных версий для конфигураций, которые иллюстрируют, как технология управления версиями может применяться в организации.