В последней версии платформы EMC Documentum реализовано хранилище XML Store, относящееся к новому классу баз данных, предназначенных для хранения и обработки XML-данных.

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

XML позволяет решить ряд важных задач и предоставляет весьма любопытные возможности хранения данных. Реляционные базы данных (БД) и полнотекстовые поисковые машины, ставшие основой большинства приложений, не имеют характеристик, которые необходимы для эффективного управления XML-содержанием. Появился новый класс БД, которые были разработаны с учетом требований к управлению XML-содержанием;. как правило, их называют «базы данных XML». Такие БД имеют развитые функции управления и манипуляции XML-данными и их поиска. Это означает, что можно создавать наиболее эффективные решения, предназначенные для работы с XML.

Консорциум W3C (www.w3.org), организация по стандартизации, разработавшая стандарт XML, создала также множество стандартов для доступа, поиска, обработки и хранения XML-данных. В базах данных XML реализованы все преимущества этих стандартов: они обеспечивают эффективность и точность доступа, выполнения запросов, хранения и обработки данных — возможности, недоступные в традиционных БД. В результате приложения, где используются базы данных XML, более эффективны — это оптимальное решение для управления XML-данными.

Реляционные базы данных и базы данных XML

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

Ранее при попытках управления XML-документами часто сочетали механизмы полнотекстового поиска, реляционные БД и плоские файлы, что представляло собой довольно грубый подход к решению проблемы. Первые системы характеризовались двумя серьезными недостатками. Прежде всего это была недостаточная масштабируемость: эффективность работы снижалась, когда количество документов достигало нескольких тысяч, притом что большинство приложений включало сотни тысяч и даже миллионы документов. Второй недостаток — отсутствие структурированных запросов: механизмы полнотекстового поиска иногда не распознавали XML, и запросы к метаданным были ограничены несколькими предварительно заданными полями.

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

С течением времени основные поставщики реляционных БД стали работать над устранением пробелов в XML-функционале, предоставляя разработчикам больше средств и возможностей моделирования XML-данных, создания приложений и обработки запросов. В результате реляционные БД стали все чаще использоваться в XML-приложениях. И все же некоторые наиболее перспективные приложения выходили за пределы функционала реляционных БД и механизмов поддержки XML. Особенно это касалось объемных документов и наборов документов, а также приложений, где для работы с документами сложных типов необходимы разнообразные средства анализа и управления и обработка сложных запросов.

Решением некоторых из этих проблем стали базы данных XML, которые появились почти сразу же после выпуска XML 1.0. Однако пользователи не были уверены, считать ли это достойной заменой реляционным БД или возвратом к иерархическим БД. В действительности эти БД были предназначены для совершенно новых типов приложений, доступных благодаря XML.

Базы данных XML обладают рядом полезных функций для работы с XML. Наиболее важные из них — модель данных XML, достаточно гибкая для представления такой разнотипной информации, как техническая документация, история болезни и профили клиентов, механизмы полнотекстового поиска с поддержкой XML и языки структурированных запросов, например XQuery. Кроме того, эти БД позволяют управлять большим количеством XML-документов с разной структурой. К другим преимуществам относятся обновление на уровне узлов (снижает затраты на обновление объемных документов), ссылки и управление версиями.

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

Последнее преимущество состоит в более высокой гибкости в случае изменения схемы по сравнению с реляционными БД. Развитие схемы или изменение модели данных — нормальный процесс. Он может протекать слишком медленно, если реляционная БД не предоставляет инструменты или функции, которые упрощают внесение изменений в реляционную схему и делают этот процесс более управляемым. В XML-среде изменения применяются быстрее, поскольку XML — новый формат, который позволяет работать с большим количеством источников таких изменений (это могут быть, например, внешние торговые партнеры, которые управляют схемами, предназначенными для передачи данных по ту сторону границ организации). Это существенно и для быстроразвивающихся областей, таких, как биология и финансы, а также областей с многолетней историей: пример — ипотечные договоры и договоры страхования. К счастью, некоторые базы данных XML не требуют наличия фиксированных схем и без проблем могут обрабатывать данные нескольких схем или их версий.

Стандарты и базы данных XML

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

Пример мощной базы данных XML — хранилище XML Store, реализованное в последней версии платформы EMC Documentum (рис. 1). Эта БД предназначена для разработчиков ПО, которым необходимы развитые функции обработки и хранения XML-данных. Универсальный Java-интерфейс API решения EMC Documentum XML Store включает методы хранения, формирования запросов, выборки, преобразования и публикации XML-данных. Кроме того, в EMC Documentum XML Store имеется встроенный механизм транзакций, который обеспечивает обновление данных и индексов, а также распределение нагрузки и репликацию базы данных на нескольких машинах.

EMC Documentum XML Store поддерживает широкий набор функций для управления структурами XML-данных, включая следующие:

  • механизм XQuery для выборки отдельных частей документа;
  • механизм управления версиями для отслеживания различий в XML-данных;
  • средства индексирования для оптимизации доступа к часто используемым XML-данным;
  • преобразователь и инструмент форматирования для публикации XML-данных в формате XHTML или PDF.

EMC Documentum XML Store использует и поддерживает стандарты XML, включая XML 1.0 и 1.1, XQuery 1.0, XML Schema 1.0, XPath 1.0, XSLT 1.0, XPointer, XLink 1.0, а также DOM уровней 1, 2 и 3, которые представляют собой трехуровневую систему (рис. 2):

  • API приложений — интерфейсы для наиболее распространенных сред разработки современных бизнес-приложений и приложений для управления содержанием;
  • стандарты взаимодействия — открытые стандарты, обеспечивающие согласованность взаимодействия между определенными приложениями;
  • службы управления данными — специализированные службы для управления XML-содержанием.

Из схемы на рис. 2 видно, что не все аспекты взаимодействия охватываются современными стандартами. Работа ведется по нескольким направлениям: расширяется функционал и создаются новые стандарты в тех областях, где они на данный момент отсутствуют. В ближайшем будущем разработка стандартов управления XML-данными продолжится, однако значительная часть изображенной инфраструктуры стандартов уже создана. Требуется небольшая доработка существующих и вновь появляющихся стандартов, а также добавление отсутствующих фрагментов.

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

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

Пример использования баз данных XML

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

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

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

При выборе системы управления такой документацией производитель учел преимущества структуры XML и стандартов обработки информации, а также лучшие в своем классе функции управления компонентами документов EMC Documentum XML Store. Упор был сделан на снижение расходов и упрощение системы управления связями между информационными объектами, возможность их повторного использования в различных специализированных документах и форматах вывода данных.

Заключение

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

Новый класс БД, базы данных XML, не только распознают структуру и синтаксис XML-содержания, но и используют эффективные стандарты, разработанные консорциумом W3C, для обработки и доступа к XML-данным. Кроме того, W3C определил множество связанных стандартов, обеспечивающих обработку XML-данных и поддерживающих БД. Это XML DTD & Schema, XSLT, DOM, XPath, XPointer, XLink и XQuery, которые прошли испытания и внедрены организациями, имеющими дело со сложно организованным XML-содержанием. Эти стандарты представляют собой надежную платформу управления XML-данными, которая превосходит традиционные подходы.

В информационно насыщенных сферах бизнеса (например, в области авиаперевозок и производства) созданы приложения, которые доказывают надежность и эффективность применения баз данных XML, таких, как EMC Documentum XML Store, для управления информационными XML-ресурсами.

В последней версии Documentum в систему было добавлено хранилище XML Store, что позволяет хранить XML-документы и обеспечивать доступ к ним через XQuery. Документы, находящиеся в XML Store, рассматриваются как часть единого хранилища Documentum, доступ к которому предоставляется через стандартные API Documentum и язык запросов. К этим документам будут применяться те же политики и процессы управления, что и к другому содержанию системы. Пользователи получат в свое распоряжение функции безопасности, контроля над соблюдением нормативных требований и архивирования, поддерживаемые платформой Documentum, а также высокую производительность XML Store.