Однако до сего времени основная проблема была в том, как управлять данными с разметкой XML. Одно из перспективных решений — использовать СУБД для хранения, извлечения XML и манипулирования им.

Иерархическая модель данных XML существенна для реализации целого ряда возможностей нашего ПО.

Лесли Таунсенд, вице-президент по маркетингу компании Wireless Dimensions

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

Действительно, XML заслуживает признания и, по-видимому, станет своеобразным «языком межнационального общения» для обмена данными как в оперативном, так и в автономном режиме.

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

Однако существуют различные трактовки понятия «XML-базы данных». Сторонники «чистых» решений утверждают, что так могут называться только те системы, которые хранят XML в его оригинальном формате. Другие же считают, что любая система, которая является базой данных и предоставляет возможность хранить и получать XML-документы, и есть XML-база данных — вне зависимости от того, как хранятся данные. Не будем ввязываться в идеологические споры, а поговорим об обоих видах баз данных. Если XML внутри системы хранится не как XML, мы назовем такие базы данных «поддерживающими XML» (XML-enabled database). Если же в системе XML хранится в оригинальном формате, то в этом случае речь будет идти об «истинных XML-базах данных» (native XML database), или просто XML-базах данных.

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

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

Content@XML компании Xyvision Enterprise Solutions представляет собой систему управления информационным наполнением, которая помогает хранить XML-документы в любой реляционной СУБД.

«Content@XML сама поддерживает возможность совместной работы с информационным наполнением, допуская в то же время многоцелевое распространение результатов», — объяснил Джонатан Парсонс, директор по маркетингу компании Xyvision. ПО Content@XML первоначально предназначался клиентам, которые работали с языком разметки Standard Generalized Markup Language, поэтому преобразование в XML было естественным. Формат XML имеет особенное значение, поскольку он представляет собой стандарт, рекомендованный консорциумом World Wide Web, и хранит структурированную информацию независимо от формата представления, тем самым значительно упрощая ее повторное использование.

«Многие заказчики полагают, что XML-базы данных пока не так хорошо известны, — заметил Парсонс. — Реляционная база данных, напротив, позволяет воспользоваться уже накопленным опытом работы».

Один из заказчиков Content@XML — компания Element K Content, занимающаяся изданием технических публикаций. «Благодаря XML мы можем создавать информационное наполнение, не зависящее от его представления, повторно использовать информацию и менять полученный в результате материал так, как нам необходимо», — сказал Кресс Рейли, вице-президент компании Element K. Система получает материал в XML и передает его в нужном формате. «XML позволяет сократить двухнедельный процесс до нескольких минут», — подчеркнул Рейли.

База данных Lotus Domino также может поддерживать XML. Созданный компанией Lotus Development инструментарий XML Toolkit дает возможность создавать и обрабатывать информационное наполнение непосредственно в формате XML.

Когда XML используется вместе с реляционной СУБД, промежуточное программное обеспечение независимых производителей может оказаться полезным для реализации преобразования между различными схемами данных. Одним из таких продуктов является XML-DBMS — инструментарий на базе интерфейса Java Database Connectivity (JDBC), который играет роль своеобразного моста между документами XML и базой данных. «XML-DBMS позволяет использовать XML для быстрого заполнения баз данных, которые уже могут являться частью существующих приложений», — отметил Рональд Буре, автор XML-DBMS. Естественно, он осуществляет и обратное преобразование, превращая информацию, извлеченную из базы данных, в документы XML. Это может оказаться весьма полезным как при публикации полученных документов XML с помощью таблиц стилей, так и при передаче данных в формате XML. «XML-DBMS заполняет пробел между базой данных и структурой документа XML», — сказал Асанте Брегман, исследователь из Ливерпульского университета.

Есть определенные недостатки в использовании реляционных и объектно-ориентированных СУБД для хранения XML. Например, одним из важнейших свойств XML является иерархическая организация документа, которая при сохранении в базе данных теряется. Реляционные СУБД должны отображать XML в реляционные таблицы, проецируя структуры XML в строки и столбцы всякий раз, когда эти данные необходимы. Уше Огбуджи, старший консультант компании Fourthought, считает, что XML плохо сочетается с реляционными базами данных: «Вы можете придумывать сложные операции соединения, сопоставляя XML со строкой реляционной таблицы, чтобы заставить работать этот механизм, но поддерживать такую конструкцию очень трудно».

Кроме того, преобразование XML в структуры базы данных или восстановление требуют значительной обработки, особенно для больших или сложных документов. Фактор производительности может оказаться решающим при выполнении одной из основных «обязанностей» XML: создании Web-страниц из не зависящего от формата информационного наполнения. Проблема в том, что полученные в итоге страницы могут загружаться слишком медленно. Как правило, клиент требует, чтобы использовалась определенная реляционная СУБД, вне зависимости от того, насколько она подходит для решения данной задачи. В таких случаях Огбуджи считает предпочительным создать оболочку вокруг реляционной базы данных, которая выполняла бы преобразование документов XML. Но при таком подходе значительно растут накладные расходы.

«Родная земля»

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

Первой и, вероятно, самой известной XML-базой данных является Tamino компании Software AG. Помимо доступа и хранения XML-данных Tamino поддерживает Open Database Connectivity, Unicode, HTTP и допускает обработку данных в формате, отличном от XML. В отчете GartnerGroup отмечается, что «Tamino особенно подходит для организаций, получающих информацию с множества различных платформ и в разных форматах и передающих ее бизнес-партнерам или потребителям».

«Tamino ориентирована на XML и имеет возможности поиска специальным образом индексированных данных», — подчеркнул ведущий разработчик Tamino Клаус Фиттгес. Tamino обладает элегантным языком запросов, который позволяет создавать простые, но мощные запросы, от которых SQL просто зациклился бы.

К другим XML-базам данных относятся dbXML, eXcelon и X-Hive/DB. В состав eXcelon Data Server компании eXcelon входит объектно-ориентированная СУБД, которая хранит, распространяет данные в оригинальном формате XML и управляет ими. X-Hive/DB компании The Connection Factory работает с JDBC-совместимыми реляционными СУБД. Компания dbXML Group развивает СУБД dbXML, и, по словам ее директора по технологии Кимбо Стейкен, «тот факт, что предварительную альфа-версию Core Version загрузили тысячи пользователей, свидетельствует о росте интереса к XML-базам данных».

Компания Wireless Dimensions входит в число пользователей СУБД Tamino. Она разрабатывает приложение Mobile-Venue Suite, предназначенное для спортивных болельщиков. Находясь на трибуне стадиона или в других спортивных сооружениях, они смогут обращаться в различные службы через мобильные телефоны и иные устройства беспроводной связи: им сообщат результат игр, спортивную статистику, примут заказ на еду или другие товары с доставкой непосредственно на трибуну и предложат поучаствовать в простых викторинах. Выпуск этого приложения намечен на конец текущего года.

«Иерархическая модель данных XML существенна для реализации целого ряда возможностей Mobile-Venue Suite, — подчеркнула Лесли Таунсенд, вице-президент по маркетингу компании Wireless Dimensions. — Услуги, предоставляемые, к примеру, для зрителей, сидящих в ложе, и для тех, кто занимает другие места на трибуне, различны. Викторины же варьируются по уровню знаний». Поскольку это приложение должно работать в реальном времени с использованием беспроводных соединений, особое внимание уделяется надежности и производительности.

Как отметил Скотт Коте, директор по технологиям Wireless Dimensions, выбор XML-базы данных был абсолютно естественен: «Далеко не все можно отобразить на реляционную таблицу. Если это и возможно, то придется денормализовать ее, чтобы обеспечить требуемую производительность. Плюс ко всему придется работать с текстом, а не с объектами, в силу чего объектно-ориентированная база данных не имеет никакого смысла». Однако XML без труда обеспечит поддержку таких данных, как спортивная статистика, где один набор фактов (скажем, список команд, набравших больше всего очков) естественным образом связывается с другим (описание статистики одного игрока).

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

«Software AG — известная компания, поэтому мы можем быть уверены в новой технологии типа Tamino», — отметил Коте.

Fourthought — консалтинговая компания, специализирующаяся в основном на проблемах интеграции промежуточного программного обеспечения и баз данных, большая часть которых ориентирована на XML и размещается в Web. Огбуджи пришлось поработать с несколькими XML-базами данных, и он пришел к выводу, что «eXcelon прекрасно подойдет тем, кто знаком с объектными базами данных».

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

Впрочем, эта задача не является неразрешимой, учитывая, что каждый документ при его сохранении индексируется.

«Возможности индексации в Tamino компенсируют любые недостатки, присущие процессу поиска в больших документах, — отметил Коте. — Производительность — главный для нас вопрос. Хранение данных в оригинальном формате XML позволяет обойтись без избыточных операций преобразования».

Огбуджи согласен с Коте: «Tamino работает очень быстро».

Software AG сообщила о своих планах в отношении Tamino, касающихся как ее внутренних, так и внешних возможностей. СУБД будет интегрирована с другими продуктами Software AG с тем, чтобы максимально упростить доступ к данным. Кроме того, сейчас разрабатываются механизм преобразования таблиц стилей и новые элементы защиты, которые будут применяться при управлении доступом. Вдобавок Tamino, которая сегодня работает с операционными системами Windows NT, Windows 2000, Sun Solaris и SCO UnixWare, будет поддерживать и другие платформы, включая Linux и мэйнфреймы.

Многие ведущие производители баз данных интегрируют поддержку XML в собственные продукты и предлагают инструментальные средства для использования XML со своими базами данных. Корпорация IBM разработала XML Extender for DB2, который позволяет хранить документы XML в базах данных DB2, а также предлагает ряд новых функций, ориентированных на работу со структурированными XML-документами. Версии Microsoft SQL Server 6.5 и 7.0 используют расширения для работы с XML. СУБД от Microsoft в скором времени будет поддерживать возможность вывода данных в формате XML для передачи их в другие системы. «Oracle имеет широкий диапазон возможностей корпоративного уровня и мощный механизм XML-индексации», — сообщил Огбуджи.

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

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


Полезные ресурсы