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

Пока компьютеры использовались как инструменты для расчетов и транзакционных операций, общие представления о природе данных оставались достаточно примитивными. Но в последние годы компьютинг в его разнообразных формах все глубже соприкасается с реальной жизнью во всем ее многообразии, и не случайно его теперь называют «всепроникающим» (ubiquitous). Вполне естественно, что сегодня в сферу действия компьютерных технологий вовлекаются не использовавшиеся прежде типы данных, и чем дальше идет конвергенция компьютинга в жизнь, тем острее становится проблема работы с данными, поступающими из разнородных источников. Эти данные настолько несовместимы между собой, что традиционные подходы, опирающиеся на прежний опыт и основанные на реляционных базах данных, не в состоянии стать платформой для работы с ними. Наиболее ярко это проявляется, когда приходится иметь дело с неструктурированными и мультимедийными данными.

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

В поисках альтернативного подхода, обладающего необходимой общностью, группа ученых в составе Майкла Франклина, Элона Халеви и Дэвида Майера выдвинула свою гипотезу того, как можно разрешить проблему хранения разнородных данных. Они назвали предложенную ими новую структуру не «базой данных», а «пространством данных» (dataspace). Для ее обозначения используются два равнозначных термина Dataspace Management System (DSMS) и DataSpace Support Platforms (DSSP). На уровне идеи DSSP впервые была описана в 2005 году в статье «От баз данных к пространствам данных: новая абстракция управления информацией» (From Databases to Dataspaces: A New Abstraction for Information Management, перевод на русский язык Сергея Кузнецова см. www.citforum.ru/database/articles/from_db_to_ds). Итак, в чем же суть альтернативного взгляда на оперирование с данными?

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

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

Обратим внимание на две полярные точки: структурированные данные в СУБД и неструктурированные Web-данные. Для доступа к первым существуют хорошо определенные схемы, для доступа ко вторым — поиск. Два разных мира и два совершенно разных подхода к доступу, но пока третьего дано не было. Немного измененный коллектив авторов упомянутой статьи в докладе Pay-as-you-go User Feedback for Dataspace Systems на международной конференции по управлению данными International Conference on Management of Data archive Proceedings of the 2008 ACM SIGMOD предложил компромиссное решение, суть которого очень точно отражена в названии.

Обычно идиома pay-as-you-go используется в прямом смысле — так называют оплату за услугу непосредственно после ее оказания, например снятие денег со счета за услуги мобильной связи непосредственно после звонка. Но этому выражению уже более 150 лет, и его иногда используют для указания на то, что какое-то действие выполняется непосредственно по ходу процесса, поэтому можно это название перевести как «непосредственная обратная связь с пользователем для систем пространств данных». В самом упрощенном виде смысл подхода pay-as-you-go состоит в том, что поиск совмещен с накоплением знаний о пространстве данных, результаты единичных запросов не пропадают, а направляются в некоторую копилку, которая постепенно становится неформальной схемой данных. В этом накоплении состоит смысл обратной связи — пользователь «обучает» свою систему. Авторы называют этот процесс семантической интеграцией, то есть содержательно интегрируются данные, имеющие совершенно разное представление. Например, данные о каком-то изделии могут храниться одновременно и в корпоративных базах и в Web-документах, но доступ к ним может быть обеспечен единовременно.

Обнаружение нужного элемента, то есть определение семантической эквивалентности, не является однозначным, оно может осуществляться с использованием нескольких механизмов, в результате работы которых сначала выбирается некоторое подмножество компонентов, в наибольшей степени соответствующих заданным критериям, а окончательный выбор делается человеком — с этого начинается работа механизма обратной связи. А дальше система последовательно по принципу pay-as-you-go «набирается опыта» и в режиме взаимодействия учится все точнее выбирать необходимые фрагменты данных. Процесс обучения оказывается весьма эффективным, и самое удивительное то, что он подчиняется закономерности, отмеченной Джеймом Шуровьески в его книге «Мудрость толпы. Почему вместе мы умнее, чем поодиночке, и как коллективный разум влияет на бизнес, экономику, общество и государство...». Коллективный потенциал большой группы так называемых простых людей всегда выше, чем у избранных индивидов, пусть даже входящих в интеллектуальную элиту.

В дополнение к человеко-машинному методу обнаружения данных в реализации DSSP могут быть использованы некоторые алгоритмы, заимствованные из области искусственного интеллекта, — в частности, метод Value of Perfect Information позволяет оценить качество работы обратной связи.

Для экспериментальной проверки DSSP специалистами Google и Калифорнийского университета в Беркли была создана система Roomba, в которой пространство данных образуется из триад «объект — атрибут — значение». Объект и атрибут являются строками, а значение может быть строкой, числом или датой. Объект представляет собой какой-то компонент реального мира, а триада является указанием на его атрибуты, в том числе атрибутами могут быть ссылки на какие-то базы данных. Умозрительно триады можно в какой-то мере уподобить строкам, а атрибуты — именам таблиц, но с поправкой на то, что в пространстве данных отношения (relation) не могут быть определены заранее, как в реляционных базах. Триады образуют логический взгляд на множество наборов данных, расположенных в независимых системах.

В статье Pay-as-you-go User Feedback for Dataspace Systems можно найти детализацию отдельных решений, хотя пока они имеют предварительный характер. Гораздо важнее другое — коллектив исследователей, возглавляемый Элоном Халеви, своей работой обозначил новое направление. Впервые удалось связать два подхода к хранению данных, где на одном полюсе — подход «схема — это все» (Schema First Approach, SFA), а на другом — «вообще без схемы» (No Schema Approach, NSA). Первый — это СУБД и хранилища, где данные семантически интегрированы, следовательно возможны запросы на языке, например, SQL. Второй — данные семантически не интегрированы, и ничего иного, кроме поиска, не остается.

Два полюса SFA и NSA можно связать, если включить механизм эволюционной семантической интеграции, работающий по принципу pay-as-you-go. Каким именно он может быть и что лучше, сейчас сказать нельзя — в этом направлении еще нет заметных наработок. Халеви и его коллеги предлагают вместо простых и формируемых на основе интуитивных или несложных представлений схем данных, принятых в современных СУБД, такой механизм формирования схемы сложных данных, в котором используются экспертные оценки и методы искусственного интеллекта. Это совершенно новый подход, открывающий удивительные по своему потенциалу перспективы. Вот как его определяет сам Халеви: «Целью моих исследований является создание средств, упрощающих доступ к средам, состоящим из сложных данных, я предложил назвать их пространствами данных. Область исследований включает в себя интеграцию данных из различных структурированных и неструктурированных источников, поддержку гетерогенных данных с использованием методов машинного обучения, сочетание методов искусственного интеллекта с оперированием данными (Data Management, DM). Я убежден, что специалисты по DM должны сместить фокус внимания с корпоративного компьютинга на приложения потребительского характера, на так называемые персональные системы информирования (Personal Information Management, PIM)».

Первой реакцией на призыв Халеви стало создание небольшой группой швейцарских ученых системы iMeMex, представляющей собой одну из возможных реализаций PIM. Этот проект удачно иллюстрирует идею пространства данных, он выполнен в открытых кодах и доступен для загрузки. Генезис названия iMeMex очевиден — это интегрированный memex, integrated memex, попытка построить современными средствами гипотетическую машину, задуманную Ванневаром Бушем в 1945 году. Напомним, что Буш в образе memex (memory extender) представлял себе машину, расширяющую память человека; спустя шестьдесят с лишним лет персональный компьютер таковым еще не стал.

Система iMeMex призвана избавить современного человека от сложностей, вызванных разбросанностью личных данных по множеству мест хранения, требующей заметного времени и внимания на семантическую интеграцию вручную. Количество устройств в системе iMeMex может быть сколь угодно большим, но все они будут образовывать единое личное пространство данных. В iMeMex реализован собственный алгоритм установки семантических отношений iTrails, он основан на описанном принципе pay-as-you-go.


Гипертекст — от Memex до wiki http://osp.ru/os/2003/11/183615


Систематизация источников данных