Статья только в электронной версии журнала
Конкуренция с реляционными СУБД усиливается
Поскольку XML становится все более важным форматом обмена данными, имеет смысл разобраться в новых способах хранения информации непосредственно в XML и применения основанных на этом языке инструментов для формирования запросов данных и их обработки. Однако представления о том, каковы должны быть эти инструменты, в настоящее время еще расплывчаты.
Наличие спроса привело к зарождению нового рынка “родных” XML-систем управления базами данных. В качестве примера таких систем можно привести продукты TextML Server фирмы Ixiasoft, Tamino компании Software AG и XYZFind Server корпорации XYZFind. Все они позволяют заносить в базу данные в XML-формате, используют языки запросов на базе XML и возвращают информацию в том же XML-формате. Однако, как показало проводившееся в eWeek Labs тестирование, сам факт использования XML-формата вовсе не означает, что “родные” XML-СУБД представляют собой лучшее место для хранения такого рода данных.
XML-СУБД технически недостаточно сильны, чтобы соревноваться с реляционными СУБД, и уступают последним по возможностям администрирования, взаимодействия с другими системами, программируемости и управляемости.
Другой проблемой всех существующих XML-СУБД является отсутствие четких стандартов. Так, синтаксис запросов XPath не поддерживает группирования, сортировки или суммирования данных, а гораздо более богатый язык запросов XQuery пока существует только в черновом варианте и даже после формализации вряд ли сможет поддерживать обновление, вставку и удаление данных.
Пока не будут решены все эти вопросы, первым пользователям XML-баз данных придется мириться с повышенными затратами, потому что все ныне существующие XML-СУБД используют фирменные языки запросов и интерфейсы программирования собственных разработчиков.
Кто кого
Можно смело утверждать, что в ближайшие годы от всех СУБД-продуктов будет требоваться способность оперативно осуществлять верификацию XML-данных, хранить их в XML-формате и извлекать из него. Труднее сказать, смогут ли традиционные реляционные СУБД приобрести необходимые XML-функции быстрее, чем новые XML-системы достигнут уровня масштабируемости, программируемости, надежности и управляемости своих реляционных собратьев.
Однако, бросив взгляд на недавнее прошлое, можно предположить, что обычные реляционные системы сумеют доказать свои преимущества перед СУБД на основе XML.
Вспомним, что в 1996-1997 гг. поставщики реляционных СУБД - корпорации Oracle, IBM и фирма Informix Software (ныне входящая в состав IBM) - добавили в свои реляционные системы функции объектных СУБД и языка Java, благодаря чему они смогли успешно соревноваться с чисто объектными базами данных. В 1998-1999 гг. те же самые производители дополнили свои продукты множеством расширений, позволивших хранить в базах данных геоинформацию, тексты, изображения, HTML-документы и временные ряды данных, что фактически уничтожило рынок заказных СУБД, предназначенных для хранения лишь одного их этих типов информации.
Сегодня создатели реляционных СУБД пользуются плодами своей прежней работы, обогатившей их продукты объектными функциями, возможностями расширения, использования Java и обработки текстов, и ведут интенсивные исследовательские разработки в области XML-парсеров и языков запросов. И мы полагаем, что в долгосрочной перспективе реляционные СУБД-механизмы окажутся наилучшими средствами для работы как с XML-, так и с любыми другими данными.
Oracle, IBM и Sybase дополнили свои СУБД XML-типом данных, чтобы хранить XML-информацию в ее естественном формате. Продукты этих компаний, а также Microsoft SQL Server корпорации Microsoft позволяют администраторам баз данных обеспечить синтаксический разбор XML-информации в процессе импорта и ее сохранение в совокупности реляционных таблиц. Они также позволяют извлекать хранимые данные в том же XML-формате.
Главным преимуществом “родных” XML-СУБД являются их документоориентированные механизмы хранения, поддерживающие свободную форму представления информации. При их применении нет необходимости в предварительном определении структуры XML-документов до их занесения в базу данных.
В результате XML-СУБД могут свободно оперировать неупорядоченными, полуструктурированными данными. И для организаций, использующих приложения, ориентированные на хранение цельных документов, например справочных руководств, брошюр или Web-страниц, “родные” XML-базы данных могут стать самым подходящим инструментом взаимодействия с Web.
В краткосрочном плане XML-СУБД смогут принести немалую пользу при работе с приложениями для обслуживания текстовых документов, но в остальных случаях мы советуем тщательно изучить возможности реляционных систем, поскольку в них буквально каждую неделю появляется что-то новое.
XML-базы данных
Сильные стороны
- Позволяют легко хранить документы с большим числом разнообразных форматов
- В точности воссоздают исходный XML-документ
- Обеспечивают высокую производительность при запросах, если их результаты согласуются с иерархической структурой хранимых XML-данных
- Поддерживают языки запросов, учитывающие XML-стили
Слабые стороны
- Незрелость, отсутствие многих функций управления и администрирования, стандартных для реляционных СУБД
- Трудность интеграции с отличными от XML типами данных
- Низкая производительность для запросов, требующих суммирования данных или связанных с данными, которые выходят за рамки XML-иерархии
- Частные фирменные API для формирования запросов и программирования