5. Новые технологии для обработки потоковых и сенсорных данных
Для некоторых
прикладных областей традиционная технология управления данными,
основывающаяся на двух- или трехзвенной системной архитектуре с
выделенным сервером баз данных, размещении данных в медленной
дисковой памяти и т.д., оказывается неприемлемой. К таким областям
относятся, в частности, приложения потоковых и сенсорных данных.
5.1. Требования реального времени
Основная особенность
потоковых и сенсорных данных состоит в том, что такие данные
динамически генерируются с очень большой скоростью, ценность этих
данных может иногда стремительно падать со временем, и приложения
должны успевать обрабатывать эти данные в реальном времени, в темпе
их генерации. При этом число приложений потенциально очень велико, и
по части базовой обработки данных между ними много общего, так что
наличие специализированных средств управления потоковых и сенсорных
данных ускоряет разработку новых приложений, делает их более
надежными и эффективными.
5.2. Прикладные области, в которых требуется обработка потоковых данных
Наиболее важной
областью, в которой требуется обработка потоковых данных, признается
финансовая деятельность, связанная с использованием биржевой
информации. Биржи круглосуточно генерируют чрезвычайно интенсивные
потоки данных, отражающие текущие курсы акций, объемы и покупок и
продаж, и анализ этих данных в реальном времени исключительно
актуален как для компаний, акции которых продаются и покупаются на
биржах, так и для различных финансовых организаций. До появления
специализированных средств управления потоковыми данными
соответствующие приложения делались на основе проприетарных
технологий, и эти приложения часто не выдерживали возрастающих темпов
поступления данных.
5.3. История потоковых систем, существующие системы и их особенности
Исследования в области
систем управления потоковыми данными и разработка прототипов таких
систем начались с начала 2000-х гг. в университетских проектах Aurora
[51] и TelegraphCQ
[52]. В этих проектах исследовались основные проблемы систем
управления потоковыми данными, в частности, изучались возможности
эффективного выполнения «непрерывных» (continuous)
запросов. В 2003 г. была создана компания StreamBase
Systems
[53], которая вскоре выпустила инструментальную систему обработки
потоковых данных StreamBase
[54]. В этой системе используются и развиваются результаты предыдущих
исследований, применяется подход к встраиванию средств управления
данными в приложения, используется специальное средство управления
данными в основной памяти и т.д.
5.4. Проблемы управления данными в сенсорных сетях
В настоящее время
исследуются возможности использования сенсорных сетей в приложениях
мониторинга окружающей среды, медицинского мониторинга, промышленной
автоматизации, самоуправляемых групп роботов и интеллектуальных
домов. В этих приложениях основными ресурсами, которые требуется
беречь, являются пропускная способность и энергия. Кроме того,
основная часть энергии тратится на коммуникации, а не на обработку
или сохранение данных. Требуется такой способ управления сенсорными
данными, который обеспечивал бы к ним доступ в реальном времени без
потребности массовой передачи данных в центральные узлы.
5.5. История систем управления сенсорными данными и их особенности
Управление сенсорными
данными еще не вышло на производственный уровень. Наиболее интересным
и развитым является университетский проект TinyDB
[55], выполненный в университете Беркли совместно с исследовательской
лабораторией компании Intel.
Основная идея этой системы состоит в том, что вся сенсорная сеть
представляется как огромная распределенная база данных, каждый узел
которой (сенсор) хранит крохотный объем данных. Запрос к этой базе
данных компилируется таким образом, что на каждый сенсор попадает
компонент запроса, имеющий отношение к соответствующей порции данных.
Каждый сенсор сохраняет свой компонент запроса и обрабатывает его в
непрерывном режиме. Конечно, для построения системы, которую можно
было бы использовать в производственном режиме, здесь требуется
выполнить ряд научно-исследовательских и опытно-конструкторских
работ.
6. Системы управления полуструктурированными и неструктурированными данными
Наряду с наличием
огромных объемов структурированных данных, хранимых и обрабатываемых
с использованием традиционных средств СУБД, в мире накоплен
колоссальный объем представленных в электронном виде
полуструктурированных и неструктурированных данных, для эффективной
работы с которыми требуются специальные программные средства.
6.1. XML как общепринятый формат представления полуструктурированных данных, стандарты XML
В последние десять лет
фактическим стандартом представления полуструктурированных данных
является расширяемый язык разметки XML
[56]. XML
применяется в качестве формата сообщений в протоколе SOAP
[57], являющемся основой технологии Web-сервисов,
на XML
представляется большинство документов, публикуемых в Web,
и т.д. Консорциум World
Wide
Web
[58] разрабатывает и публикует стандарты, определяющие функциональные
возможности средств управления XML-данными.
Одной из проблем XML
является то, что эти стандарты очень часто изменяются, а иногда
кажутся перегруженными, как, например, в случае стандарта языка
XQuery
[59].
6.2. Особенности и подходы систем управления XML-данными
Развитые средства
управления XML-данными
поддерживаются в основных SQL-ориентированных
СУБД. В Oracle
11g
[2] и IBM
DB2
v.9
[3] даже поддерживаются специализированные хранилища XML-данных,
позволяющие более эффективно их обрабатывать. На основе ООСУБД
ObjectStore
была создана XML-СУБД
eXcelon, которая позже была
приобретена компанией Progress
Software
и, в конечном счете, стала называться Progress
Sonic
XML-Server
[60].
Для более эффективной и
менее тяжеловесной обработки XML-данных
разработан ряд специализированных XML-СУБД,
базовым языком которых является XQuery.
К числу наиболее развитых и известных специализированных XML-СУБД
относятся Marklogic [61], X-Hive
[62] и Sedna
[63, 64]. СУБД Sedna
разработана, развивается и внедряется Институтом системного
программирования РАН. У каждого из подходов имеются собственные
достоинства и недостатки, позволяющие эффективно выполнять только
некоторые операции манипулирования XML-данными.
6.3. Проблемы XML-СУБД
Для успешного
применения
систем управления XML-данными
требуется решить ряд проблем. Из-за потенциальной сложности структуры
и различий в потребностях разных приложений в разных ситуациях
требуются разные методы хранения и индексации баз XML-данных.
Нужно понять, в каких ситуациях, и каким образом необходимо
оптимизировать запросы к базам XML-данных.
В частности, до сих пор непонятно, нужны ли XML-СУБД
«стоимостные» оптимизаторы запросов наподобие тех,
которые используются в SQL-ориентированных
СУБД. Остается открытым вопрос о требуемом уровне изоляции данных при
поддержке транзакционного доступа к базам XML-данных.
6.4. Системы текстового поиска и потребности в поддержке семантики
Традиционно применяемый
в информационно-поисковых системах контекстный поиск по ключевым
словам перестает удовлетворять пользователей. Особенно это заметно в
поисковых средствах, ориентированных на работу в Web.
Огромные объемы хранимых в Web
текстовых документов приводят к недопустимо высокому уровню
погрешностей поиска. Для решения этой проблемы при поиске должен
использоваться не только контекст, но и семантика документов в виде,
например, тезаурусов, онтологий и т.д.
6.5. Краткая характеристика целей и методов направления Semantic Web
Практически параллельно
с работами по стандартизации XML основатель консорциума World
Wide
Web
Тим Бернерс-Ли (Tim
Berners-Lee)
сформулировал понятие Semantic Web и инициировал исследования в этом
направлении. В основе предполагаемого им будущего лежит способность
машин не только читать, но и понимать содержание Web-сайтов,
причем достигнуть этого нужно не путем создания программ
искусственного интеллекта, моделирующих деятельность человека, а
через использование средств выражения семантики данных и их связей
[65].
В начале развития направления Semantic
Web предполагалось, что публикации в Internet
будут сопровождаться сравнительно формально представленными
аннотациями, позволяющими автоматически распознавать семантическое
содержание текстов. Для этого был разработаны язык описания RDF
[66] и язык представления онтологий OWL
[67]. Однако оказалось, что даже при наличии этих языковых средств и
поддерживающих их механизмов находится мало желающих вручную
описывать семантику документов. Поэтому стало активно развиваться
направление интеллектуального анализа текстов (text
mining)
для автоматического обнаружения их семантики [68]. Добываемая таким
образом семантика текстов представляется, например, на языке RDF
и в дальнейшем используется для обеспечения более качественного
поиска.
6.6. Проблемы семантически обогащенных систем
Для выполнения анализа
текстов и поддержки поиска с использованием семантики приходится
иметь дело с огромными объемами текстов. Для этого непригодны ни
традиционные файловые системы, ни традиционные СУБД. Первыми
примерами систем управления данными, специализированными для
обработки текстов, являются Map-Reduce
[69], Google
File
System
[70] компании Google
и конкурирующие с ними открытые разработки компании Yahoo!
Hadoop
Map-Reduce,
Hadoop
Distributed
File
System
[71]. Необходимо продолжать исследовать новые средства анализа
текстов с целью извлечения из них семантики, а также изучать
требуемые свойства систем управления данными.
7. Фундаментальные проблемы управления данными
В соответствии с
мнением ведущих исследователей сообщества баз данных [74-75] и
последними наиболее авторитетными международными конференциями в
области управления данными (International Conference on Very Large
Data Bases [76], ACM SIGMOD
International Conference
on Management of Data [77], International Conference on Data
Engineering [78]) в области управления данными имеется несколько
фундаментальных проблем.
7.1. Интеграция текста, данных, кода и потоков
Пора прекратить
встраивать новые конструкции в старую реляционную архитектуру. Нужно
переосмыслить базовую архитектуру СУБД с целью поддержки
структурированных данных; текстовых, пространственных, темпоральных и
мультимедийных данных; процедурных данных, т.е. типов данных и
инкапсулирующих их методов; триггеров; потоков и очередей данных как
равноправных компонентов первого сорта внутри архитектуры СУБД (как
на уровне интерфейсов, так и на уровне реализации).
7.2. Интеграция информации
Требуется интеграция,
возможно, миллионов информационных источников «на лету».
В связи с этим существует множество нерешенных проблем: семантическая
неоднородность; неполнота и неточность данных; ограниченность доступа
к конфиденциальным данным и т.д.
7.3. Сенсорные данные и сенсорные сети
При запросе данных у
сенсорной сети часто более выгодным является полное распределение
вычислений по отдельным узлам: сеть становится своего рода машиной
баз данных. При вычислении запроса необходимо уметь изменять план
запроса при изменении сети по причине выхода из строя сенсора или его
отключения от сети. Усложняется и интеграция информации, потому что
сенсоры обычно не являются полностью калиброванными.
7.4. Использование неточных данных
СУБД должны
обеспечивать встроенную поддержку неточных данных. Обработка запросов
должна базироваться на вероятностной, недетерминированной модели;
процессор запросов должен накапливать факты, чтобы обеспечивать все
лучшие и лучшие ответы на запросы пользователей. У пользователей
должна иметься возможность задания неточных запросов, и процессор
запросов должен относиться к этому как к дополнительному источнику
неполноты и неточности. При выдаче неточного ответа на запрос
пользователя система должна характеризовать уровень его точности,
чтобы пользователи могли понять, достаточна ли она для их
потребностей. Аналогом может быть уровень релевантности ответа,
выдаваемый информационно-поисковыми системами.
7.5. Самоадаптация
Задачей
исследовательского сообщества является отказ от «ручек
управления» в СУБД: все настроечные решения должны приниматься
системой автоматически под влиянием принятой по умолчанию политики,
такой как, например, относительная важность реактивности и пропускной
способности.
7.6. Безопасность и конфиденциальность данных
Решения о правомерности
доступа должны основываться не только на том, кто запрашивает данные,
но и на том, что он собирается с ними делать. Сообщество баз данных
могло бы предложить декларативные системы, определяющие цели запроса
данных, поскольку уже имеется опыт разработки ориентированных на
данные декларативных спецификаций для других целей.
Как видно из предыдущих разделов, многие
из этих фундаментальных проблем уже частично решены или находятся в
состоянии исследования. Тем не менее, до их полного решения еще
далеко, и требуется расширять и углублять исследовательскую работу.
Назад Содержание Вперёд