Получивший распространение подход к разработке Web-узлов на основе языка HTML (конечно, с применением JavaScript, Java, CGI и т. д.) делает технологии Web и баз данных неравноправными.

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

Неравноправие по причине халатности

Технологии Web и технологии баз данных находятся сегодня в разных весовых категориях. Базы данных в их современном понимании совершенствовались в течение 30 с лишним лет. Это очень «тяжелые» технологии, в которых аккумулирована масса человеческих знаний и опыта. Современные серверы баз данных — исключительно сложные программные продукты. В свою очередь, это обстоятельство как положительно, так и отрицательно влияет на психологию специалистов в области баз данных. С одной стороны (положительной), эти специалисты справедливо считают себя наиболее продвинутыми в области сложных программных систем управления данными. С другой стороны (отрицательной), им свойственно преуменьшать значимость других систем управления данными, которые не опираются на обязательную для баз данных структурированность данных. Иными словами, сложилось так, что специалисты в области баз данных образовали своеобразную, достаточно изолированную от масс элиту.

Internet, и в особенности Web, — сравнительно новая технология, которая развивалась под давлением непрерывно возрастающих сетевых возможностей и соответствующих им запросов пользователей. Некоторым аналогом может служить телефония, где одновременно с расширением технических возможностей поставляются все новые и новые услуги. Естественно, в таких обстоятельствах многие решения приходится принимать «по месту» (ad hoc). Не случайно поэтому, что в области Web отсутствуют официально принятые стандарты, их просто не успевают разрабатывать. Демократичность и открытость Internet требует наличия «легкой», простой для освоения технологии. Для пользователей весьма существенна простота публикации материалов в Web. Отсюда и ориентация на неструктурированную текстовую, с элементами мультимедиа, информацию, и распространенность простого в освоении языка разметки гипертекстовых документов HTML, и происхождение поисковых машин, целиком основанных на контекстном поиске (при отсутствии структурированности информации ничего другого не придумаешь). Отсюда также и открытость специалистов в области Web-технологий.

Элитарное сообщество баз данных в свое время не уделило должного внимания развивающимся технологиям Web. В то же время Web-технологии вынужденно включили в себя средства доступа к базам данных. Теперь специалисты в области баз данных весьма озабочены. Почему?

Вред неравноправия

Очевидно, что основной задачей СУБД является обеспечение удобного и эффективного доступа пользователей и приложений к содержимому баз данных. Размер баз данных непрерывно возрастает. На протяжении всей истории СУБД разработчики овладевали методами работы с очень большими базами данных. На сегодня «очень большая база данных», с которой способны справиться серверы, может включать порядка 10 Тбайт данных. Построение и поддержка базы данных такого размера — сложная и дорогостоящая работа даже при наличии соответствующих инструментов.

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

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

Теоретически доступ к любой Web-странице, при наличии соответствующих полномочий, для всех пользователей одинаков. Однако, если учитывать упомянутую сложность навигации, подобная интеграция оказывается условной («Имею ли я право?.. Да, имеешь. А могу ли я?.. Попробуй, достань.»)

Итак, по информационному накоплению Web превосходит самые большие базы данных. Есть техническая возможность единообразного доступа к распределенной информации. Но технологически, с точки зрения специалистов в области баз данных, все выглядит очень убого. Например, непонятно, каким образом можно производить анализ данных, имеющих отношение к конкретной предметной области. Известно, что данных этих море. Известно, что их анализ был бы полезен. Но даже если все их удастся найти, то отсутствие структуры и тем более метаданных не позволит применить какие-либо средства автоматизации анализа данных категории OLAP. Конечно, все это беспокоит здравомыслящих специалистов как в области Web, так и в области баз данных.

Без компромиссов не обойтись

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

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

С другой стороны, Internet-сообщество в целом в полной мере осознало недостатки неструктурированных данных. Простота публикации не уравновешивает сложность и ограниченность средств поиска.

Одним словом, сложилась ситуация, когда специалисты двух областей (Web и базы данных) одновременно неудовлетворены сложившейся в Internet ситуацией, но не могут осуществить каких-либо решительных изменений. Необходим компромисс между простотой и доступностью применяемых в настоящее время Web-технологий и сложностью, функциональностью и эффективностью технологий баз данных. Имеются некоторые основания надеяться, что такой компромисс удастся выработать на основе языка разметки XML (eXtensible Markup Language).

Почему XML может стать основой компромисса?

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

Почему приходится так осторожно выбирать формулировки? Главным образом потому, что семантика определяемых пользователями тегов остается скрытой от поддерживающей XML программной системы. Например, с помощью набора тегов можно структурировать документ как набор таблиц, но этот факт станет известным Web-клиенту только после соответствующей доработки. С этой точки зрения XML является компромиссом для Internet-сообщества, где ранее считалось обязательным полное понимание любого Web-документа любым Web-браузером. В настоящее время в мировом сообществе проводится большая работа по созданию библиотек определений тегов (DTD — Document Type Declaration) для использования в конкретных прикладных областях (химии, астрономии, математике и т. д.).

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

В связи с этим первостепенное значение имеют проект консорциума Object Management Group (www.omg.org) XML Metadata Interchange (XMI), представляющий набор определений тегов для описания в стандартных терминах структуры метаданных, и проект группы компаний (включающей IBM, Oracle и Unisys) Common Warehouse Matadata Interchange (CWMI), содержащий подмножество определений XMI для поддержки определений метаданных хранилищ данных.

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

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