Введение
Технология реляционных баз данных
VMDS – это сокращение для технологии реляционных баз данных под названием Version Managed Data Store, предоставляемой GE Energy в рамках своей технологической платформы Smallworld. Она была разработана изначально для хранения и анализа высокосложных пространственных и топологических сетей, типичных для крупных предприятий коммунального хозяйства, таких как системы распределения электроэнергии и телекоммуникаций. VMDS впервые была представлена в 1990 году и с тех пор неоднократно улучшалась и обновлялась. Ее текущая версия – 6.0. VMDS была спроектирована как пространственная база данных, что придает ей ряд отличительных особенностей по сравнению с традиционными реляционными базами данных, оперирующими только атрибутами.
Распределенная серверная обработка
VMDS состоит из двух частей: простого, высокомасштабируемого сервера блоков данных под названием SWMFS (Smallworld Master File Server) и интеллектуального клиентского API, написанного на C и Magik. Пространственные и атрибутивные данные хранятся в блоках данных, которые размещаются в специальных файлах, называемых файлами хранилища данных, на сервере. Когда клиентское приложение запрашивает данные, оно обладает достаточной интеллектуальной способностью для определения оптимального набора необходимых блоков данных. Этот запрос затем направляется в SWMFS, который возвращает данные клиенту по сети для обработки. Такой подход особенно эффективен и масштабируем при работе с пространственными и топологическими данными, которые обычно передаются в больших объемах и требуют больше вычислительных ресурсов, чем простые атрибутивные данные (например, при перерисовке карты). Это делает VMDS хорошо подходящим для корпоративного развертывания, которое может включать сотни или даже тысячи одновременных клиентов.
Поддержка длительных сделок
Реляционные базы данных поддерживают короткие транзакции, в которых изменения данных относительно невелики и непродолжительны по времени (максимальный период между началом и завершением транзакции обычно составляет несколько секунд или меньше). VMDS поддерживает длительные транзакции, в которых объем данных, вовлеченных в транзакцию, может быть существенным, а продолжительность транзакции может быть значительной (дни, недели или даже месяцы). Такие типы транзакций часто встречаются в сложных сетевых приложениях, используемых, например, предприятиями электрораспределительных сетей. Ввиду длительности транзакции в данном контексте, объем изменений может быть значительным (не только в рамках самой транзакции, но и в контексте базы данных в целом). Соответственно, существует вероятность многократного изменения одной и той же записи. Для решения этой задачи VMDS имеет встроенную поддержку автоматического управления такими конфликтами и позволяет приложениям просматривать изменения и принимать только корректные правки.
Пространственные и топологические возможности
Помимо стандартных функций реляционной базы данных, таких как атрибутный поиск, объединение полей, триггеры и вычисляемые поля, VMDS обладает широким набором пространственных и топологических возможностей. Это позволяет хранить и анализировать пространственные данные, включая точки, тексты, полилинии, полигоны и растровые данные. Среди пространственных функций: поиск всех объектов внутри многоугольника, вычисление диаграммы Вороного для заданного набора точек и выполнение кластерного анализа для набора точек. Векторные пространственные данные, такие как точки, полилинии и полигоны, могут быть дополнены топологическими атрибутами, что позволяет моделировать сложные сети. Для анализа сетей предусмотрены инструменты, позволяющие решать задачи, например, нахождение кратчайшего пути между двумя узлами или оптимизация маршрута доставки (задача коммивояжера). Топологический движок может быть настроен с помощью набора правил, определяющих взаимодействие топологических объектов при добавлении новых данных или редактировании существующих.