Клермонтский отчет об исследованиях в области баз данных. 2008 год

В конце мая 2008 г. группа исследователей в области баз данных, разработчиков, пользователей и экспертов провела встречу в гостинице Claremont Resort в Беркли, Калифорния с целью обсуждения состояния дел в области исследований баз данных и воздействия результатов исследований на практику. Это была седьмая встреча такого рода за последние двадцать лет. Участники встречи пришли к единодушному мнению, что в истории баз данных наметилась поворотная точка. Это связано как с бурным ростом объемов данных и числа сценариев их использования, так и существенными сдвигами в технологии аппаратных средств и платформ. Наличие этих движущих сил позволяет считать, что настоящее время исключительно благоприятно для усиления воздействий исследований как на компьютерное сообщество, так и на науку и общество в целом. В данном отчете приводятся детали обсуждений, и на передний план выдвигаются новые области исследования, которые, по общему мнению участников встречи, заслуживают наибольшего внимания:

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

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

ПОВОРОТНАЯ ТОЧКА В ИССЛЕДОВАНИЯХ БАЗ ДАННЫХ

В течение последних двадцати лет небольшие группы исследователей баз данных периодически собирались для оценки состояния дел в области баз данных и формирования предложений будущих исследований [BDD+89, SSU91, ASU95, AZ+96, BBC+98, AAB03]. По поводу этих встреч писались отчеты, служащие разным целям: активизации обсуждений внутри исследовательского сообщества, разъяснению направлений исследований внешним организациям, концентрации исследований в актуальных направлениях.

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

Участники встречи пришли к выводу, что смысл происходящих изменений определяется несколькими факторами.

Повышение ажиотажа вокруг больших объемов данных. В последние годы значительно возросло число прикладных областей, в которых требуется обработка больших объемов данных. К таким областям теперь относятся не только традиционные корпоративные приложения и поиск в Web, но также и работы с применением "электронной науки" (в астрономии, биологии, науке о Земле и т.д.), электронные развлечения, обработка естественных языков, анализ социальных сетей и т.д. Это приводит к быстрому росту числа пользователей традиционных систем управления базами данных (СУБД), а также стимулирует разработку новых специализированных решений управления данными на основе упрощенных компонентов. Повсеместное использование больших объемов данных приводит и к возрастанию числа разработчиков технологий управления данными, что, несомненно, вызовет коренную реорганизацию этой области.

Анализ данных как центр прибыли. В традиционной обстановке предприятия быстро исчезают барьеры между отделом ИТ и бизнес-подразделениями, и имеется много примеров компаний, в которых бизнесом являются именно данные. Вследствие этого сбор, интеграция и анализ данных больше не считаются расходами на ведение бизнеса; данные – это ключ к достижению эффективности и прибыльности бизнеса. В результате быстро развивается индустрия, поддерживающая анализ данных. Только в 2007 г. общий объем сделок по поглощению компаний, поставляющих средства анализа данных (Business Intelligence, BI), превысил 10 миллиардов долларов, и это лишь «вершина айсберга» инструментальных средств анализа данных. Напряженность рынка средств аналитики привлекает новых пользователей и приводит к новым требованиям к технологии. Опытные аналитики привлекаются к работе во все большем числе отраслей индустрии, и все чаще их интересуют возможности анализа необработанных данных. В то же время к аналитической работе с данными склоняется и возрастающее число лиц, принимающих решения, которые не обладают технической подготовкой.

Повсеместность структурированных и неструктурированных данных. Наблюдается взрывообразный рост объема структурированных данных, доступных в Web и корпоративных внутренних сетях. Эти данные происходят из разнообразных источников, далеко не всегда из традиционных баз данных: большие объемы данных производятся при извлечении структурированной информации из текстов, источниками данных служат программные журналы и датчики, структурированные данные извлекаются при обходе сайтов Deep Web. Также имеется и аналогичный рост объема общедоступных, в основном текстовых полуструктурированных данных в форме блогов, сообществ Web 2.0 и мгновенных сообщений. Появляются новые стимулирующие структуры и Web-сайты для публикации и курирования структурированных данных в расчете на их совместное использование. Имеющиеся тексто-ориентированные подходы к управлению этими данными просты в использовании, но в них игнорируется скрытая структура данных, которая может обладать дополнительной ценностью. Происходит состязание в разработке методов, которые могут извлекать полезные данные из весьма зашумленного текста с применением структурированных языковых корпусов, что позволяет глубже исследовать индивидуальные наборы данных и связывать между собой разные наборы данных для извлечения из них как можно большего смысла.

Расширяющиеся требования разработчиков. В последние годы существенно возросло число программистов, использующих реляционные СУБД и языки запросов. Ускорению этого процесса способствовала наступающая зрелость систем с открытыми кодами, таких как MySQL и PostgreSQL, а также возрастающая популярность пакетов объектно-реляционного отображения, подобных Ruby on Rails. Однако при этом расширенное сообщество программистов, в меньше степени специализированных на разработку приложений баз данных, нуждается в новых возможностях и удобстве программирования. Некоторые разработчики не хотят спускаться на уровень SQL и считают СУБД слишком тяжеловесными для изучения и использования по сравнению с другими компонентами с открытыми кодами. Поскольку экосистема управления базами данных развивается для поддержки далеко не только типичных пользователей СУБД, возникают благоприятные возможности разработки новых моделей программирования и системных компонентов для управления данными и манипулирования ими.

Архитектурные изменения в области применения компьютеров. Одновременно с расширением контингента пользователей происходят быстрые изменения в основах применения компьютеров. На макроуровне фундаментальным изменения в архитектуре программного обеспечения сулит развитие "облачных" (cloud) компьютерных служб. Этот подход демократизирует доступ к параллельным кластерам компьютеров: теперь у каждого программиста имеется возможность и повод разрабатывать системы и службы, потенциально масштабируемые до любого уровня параллелизма. На микроуровне в компьютерных архитектурах закон Мура теперь трактуется в пользу не повышения тактовой частоты микропроцессоров, а увеличения числа процессорных ядер и потоков управления в одном кристалле. Основные изменения в технологии хранения данных относятся к иерархии памяти в связи с доступностью большего числа кэшей увеличенного объема на одном кристалле, все более дешевой основной памяти большого объема и флэш-памяти. Все более важным аспектом показателя цена/производительность для крупных систем является потребление энергии. Только лишь эти тенденции в области аппаратных средств являются достойным поводом для массового пересмотра архитектуры программных средств управления данными.

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

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

ИССЛЕДОВАТЕЛЬСКИЕ ВОЗМОЖНОСТИ

После двух дней интенсивных обсуждений оказалось поразительно легко придти к общему мнению о наборе тем исследований, которые следует выполнить в грядущие годы. Это показывает, что наступили необычайно интересные времена.

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

Кроме тем, обсуждаемых ниже, во время встречи многократно упоминались следующие проблемы и области исследований:

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

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

Пересмотр архитектуры серверов баз данных

В System R и Ingres была заложена основа архитектуры и алгоритмов реляционных баз данных, и современные коммерческие СУБД все еще базируются на их архитектурах. Но многочисленные изменения приложений и технологии, упомянутые в разд. 1, приводят к потребности пересмотра всего стека систем управления данными. У современных развитых коммерческих систем реляционных баз данных имеются хорошо известные ограничения. Обеспечивая широкий набор возможностей, они показывают пиковую производительность только для очень ограниченного набора режимов: системы OLTP настраиваются на рабочие нагрузки с многочисленными мелкими, одновременно выполняемыми транзакциями типа "приход/расход", а системы поддержки принятия решений – на рабочие нагрузки с небольшим числом операций (главным образом, выборки) с большим числом операций соединения и агрегации. Между тем, в последнее десятилетие появилось много популярных задач, связанных с обработкой больших объемов данных, для которых реляционные СУБД обеспечивают плохое соотношение "цена/производительность", и при решении которых от использования РСУБД пришлось отказаться: к числу критических сценариев относятся индексирование текста, обслуживание Web-страниц и доставка мультимедийного контента. Новые рабочие нагрузки появляются в научных приложениях и приложениях в стиле Web 2.0, а также и в других средах, в которых технология баз данных могла бы оказаться полезной, но не в том виде, в котором она реализована в современных системах баз данных.

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

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

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

К числу наиболее важных исследовательских тем в этой области относятся:

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

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

Это замечание очень важно для России. Похоже, что действительно сейчас можно прорваться в мировое сообщество, если суметь сгенерировать хорошие идеи.

Декларативное программирование для новых платформ

Ключевой проблемой использования компьютеров является продуктивность программистов. Это признается в течение многих лет, но наиболее известное высказывание в контексте баз данных содержится в Тьюринговской лекции Джима Грея, опубликованной десять лет тому назад. Сегодня актуальность этой проблемы возрастает буквально экспоненциально, поскольку программисты нацеливаются на все более сложные среды, включая многоядерные микропроцессоры, распределенные службы и платформы "облачных вычислений" (cloud computing). Неквалифицированным программистам требуется возможность легко писать надежные программы, масштабируемые при возрастании числа процессоров как в слабосвязанных, так и в сильносвязанных архитектурах.

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

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

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

Третий пример происходит из области программирования корпоративных приложений. В недавно появившихся языковых расширениях, таких как Ruby on Rails и LINQ, поддерживается логика запросов в паттернах конструирования программ. Но в этих пакетах пока серьезно не решается проблема программирования с использованием нескольких машин. Для корпоративных приложений ключевым решением распределенной разработки является разделение логики приложения и данных между несколькими "звеньями" ("tier"): Web-клиентами, Web-серверами, серверами приложений и серверной СУБД. Особо ценной здесь является независимость данных, позволяющая создавать программы без предварительного принятия долговременных решений о физическом размещении программ и данных в разных звеньях. Такие решения могли бы приниматься в автоматических процессах оптимизации и перемещения данных и программ для достижения должной эффективности и корректности. Одним из существующих языков является XQuery, который может способствовать этому виду декларативного программирования, в частности, потому, что XML часто используется в протоколах, охватывающих несколько звеньев.

Непривычно видеть колоссальную энергию, которая окружает разработку новых методов программирования, ориентированных на данные, но вместе с новыми возможностями приходят и новые проблемы. Перед исследователями встают вопросы разработки языков, эффективных компиляторов и систем поддержки времени выполнения, а также методов автоматической оптимизации кода при его горизонтальном разделении между параллельными процессами и вертикальном разделении между звеньями. Кажется естественным, что методы организации параллельных и распределенных баз данных (разделенные потоки данных, оценочная оптимизация запросов) следует расширить применительно к новым средам. Однако для достижения успеха эти языки должны обладать должной выразительностью, превышающей возможности простых подходов Map-Reduce и Select-Project-Join-Aggregate. Здесь требуется работа по "синтезу" для подбора полезных методов на основе литературы по базам данных, языкам логического программирования и оптимизации, а также по расширению этих методов для новых программных сред.

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

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

Взаимосвязь структурированных и неструктурированных данных

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

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

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

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

Первой проблемой, с которой пришлось столкнуться, является извлечение структуры и смысла из неструктурированных и полуструктурированных данных. Технология извлечения информации может теперь способствовать извлечению структурированных сущностей и взаимосвязей из неструктурированного текста, даже в неконтролируемом контексте Web. Предположительно, к пространству данных будут применяться сотни экстракторов. Следовательно, требуются методы применения большого числа независимо разработанных экстракторов и управления получаемыми от них результатами. Также требуются алгоритмы, которые могли бы анализировать корректность результатов экстракции и комбинировать данные об обоснованности этих результатов некоторым хорошо обоснованным способом. В этих усилиях сообщество баз данных не одиноко; для достижения успеха следует укреплять связи с сообществами информационного поиска (Information Retrieval) и машинного обучения (Machine Learning).

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

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

Кроме управления существующими коллекциями данных, у сообщества данных имеется возможность привнести новшества и в создание коллекций данных. Возникновение Web 2.0 создает потенциал для новых сценариев управления данными, в которых пользователи присоединяются к временному сообществу для создания данных, совместной работы с ними, их курирования и обсуждения в режиме онлайн. Поскольку такие сообщества будут редко заранее договариваться о каких-то схемах, эти схемы придется выводить из данных, и они будут крайне изменчивыми; однако они все равно будут использоваться для направления пользователей по пути к общему согласию. В этом контексте в системы придется внедрять визуализацию, поскольку визуализация способствует исследованию и анализу данных. Наиболее важно то, что эти системы должно быть исключительно легко использовать. Вероятно, для этого потребуется пойти на компромисс относительно некоторых типичных функциональных возможностей баз данных и обеспечить большее количество полуавтоматических "подсказок", извлекаемых из данных. Здесь важной возможностью является цикл обратной связи – чем больше данных будет создаваться с использованием таких инструментальных средств, тем легче будет становиться извлечение информации и поддержка запросов. В этой области начали появляться коммерческие и академические прототипы, но имеется достаточно места для дополнительных инноваций и разработок.

Облачные службы данных

Экономические факторы приводят к появлению инфраструктур, обеспечивающих программные и вычислительные средства в виде служб, обычно называемых облачными (cloud) сервисами, или облачным компьютингом. Облачные сервисы могут обеспечить эффективность провайдерам приложений за счет как ограничения начальных капитальных вложений, так и сокращения со временем стоимости владения. Сегодня имеется набор разнообразных облачных сервисов, включая прикладные сервисы (salesforce.com), сервисы хранения (Amazon S3), вычислительные сервисы (Google App Engine, Amazon EC2) и сервисы данных (Amazon SimpleDB, Microsoft SQL Server Data Services, Google’s Datastore).

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

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

В облачных средах особенно важным качеством является управляемость. По сравнению с традиционными системами, достижение высокого уровня управляемости в облачных средах осложняется тремя факторами: ограниченным человеческим вмешательством, сильно изменчивыми рабочими нагрузками и разнообразием совместно используемых инфраструктур. В подавляющем большинстве случаев будут отсутствовать администраторы баз данных или систем, которые могли бы помочь разработчикам при создании приложений, основанных на облачных сервисах; администрирование платформ должно будет в основном производиться в автоматическом режиме. Системы всегда трудно настраивать при наличии смешанных рабочих нагрузок, которые в данном контексте, по-видимому, будут неизбежно возникать. Со временем может значительно изменяться рабочая нагрузка даже у одного и того же потребителя: эластичное обеспечение облачных услуг делает эти сервисы экономически целесообразными для пользователей, которым в короткие промежутки работы может потребоваться значительно больше ресурсов, чем обычно. При этом возможности настройки сервисов сильно зависит от способа «виртуализации» совместно используемой инфраструктуры. Например, в Amazon EC2 для обеспечения программного интерфейса используются виртуальные машины аппаратного уровня. На другом конце спектра в salesforce.com реализуется хостинг с несколькими арендаторами одного ресурса ("multi-tenant" hosting), когда с использованием одной СУБД поддерживается много независимых схем баз данных. Возможны и многие другие решения по виртуализации. В каждом из этих решений обеспечивается свой подход к контролю поддерживаемых рабочих нагрузок и используемых платформ. При наличии этих вариантов потребуется пересмотреть традиционные роли и распределение ответственности для многоуровневого управления ресурсами.

Потребность в управляемости делает более срочной разработку технологий самоуправления баз данных, которые исследовались в последнее десятилетие. Для обеспечения жизнеспособности этих систем потребуются адаптивные онлайновые методы, хотя наличие новых архитектур и API (включая гибкость, позволяющую отойти от традиционной семантики SQL и транзакций, когда это разумно) могут приводить к использованию подходов, подрывающих адаптивность.

Отдельной проблемой является абсолютный масштаб облачного компьютинга. Сегодняшние SQL-ориентированные системы баз данных просто не могут масштабироваться на тысячи узлов при размещении в облачном контексте. В области хранения данных непонятно, следует ли обходить эти ограничения с применением новых методов реализации транзакционности, или с использованием новой семантики хранения данных, или того и другого. В литературе по тематике баз данных изложено много предложений по решению этой проблемы. В существующих облачных сервисах начинают применяться некоторые простые прагматические подходы, но для синтеза идей, описанных в литературе, в современных условиях облачного компьютинга требуется дополнительная работа. При обработке и оптимизации запросов будет нереально производить исчерпывающий поиск в пространстве планов с учетом тысяч обрабатывающих узлов, так что потребуются какие-то ограничения, налагаемые на пространство планов или на поиск. Наконец, неясно, как будут писаться программы для облачной среды (это уже отмечалось в подразделе 2.2). Дополнительные исследования требуются для обеспечения понимания реальной масштабируемости облачного компьютинга (как ограничений по производительности, так и требований приложений). Такое понимание должно помочь разработчикам осуществлять навигацию в возникающем пространстве проектных решений.

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

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

Мобильные приложения и виртуальные миры

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

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

Виртуальные миры, подобные Second Life, быстро набирают популярность, и во многих отношениях в них отражаются основные черты мобильных приложений. Хотя виртуальные миры начинались с интерактивной симуляции в расчете на несколько пользователей, в них все больше устраняются отличия от реального мира, возникает потенциал для использования смеси, в большей степени обогащенной данными. Для обозначения пространства, существующего и для виртуального, и для физического миров, иногда используется термин копространство (cospace). В копространстве местоположения и события физического мира фиксируются большим числом датчиков и мобильных устройств и материализуются в виртуальном мире. Соответственно, некоторые действия или события виртуального мира могут оказывать воздействия на физический мир (например, шоппинг или раскрутка товара). В число приложений копространства входят развитая поддержка социальных сетей, массовые игры с несколькими участниками, военная подготовка, самообучение с применением компьютеров и обмен знаниями.

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

Движение вперед

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

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

Рост сообщества оказывает воздействие на исследовательские публикации. Увеличивающийся технический размах сообщества затрудняет отслеживание области баз данных на тематическом уровне. В результате все более важным вкладом в деятельность сообщества становятся обзорные статьи и тьюториалы. Их следует поддерживать как неформально внутри сообщества, так и через профессиональные стимулирующие структуры, например, учитывать соответствующую деятельность при продвижении по службе. Что касается процессов, то становится все более обременительной работа по рецензированию статей, и возникает ощущение, что качество рецензий со временем падает. На встрече отмечалось, что отсутствие в последние годы очных собраний программных комитетов усугубляет проблему плохих рецензий и устраняет возможность победы смелых или дискуссионных статей над добротными, но более скучными работами. В этом контексте обсуждались усилия последних лет по совершенствованию профессионализма статей и процесса рецензирования. Многие участники встречи выражали скептицизм по поводу положительного влияния этих усилий на долгосрочное качество исследований, определяемое их интеллектуальным и практическим воздействием. В то же время, признавалось, что рост сообщества приводит к повышению потребности в понятных и обоснованных академических процессах. Продолжает существовать проблема нахождения политик, которые поощряют крупные идеи и принятие рискованных решений, но обеспечивают при этом понятные и справедливые правила для достижения этих поощрений. При отборе публикаций следовало бы более внимательно относиться к первой из этих целей.

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

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

Несмотря на наличие традиции разработки программного обеспечения с открытыми кодами, академические исследователи баз данных в разных организациях относительно редко повторно или совместно используют программное обеспечение. В современных условиях следует более энергично переходить к совместному использованию программного обеспечения и сотрудничеству при выполнении проектов несколькими организациями. Примером области, в которой возникают подобные формы работы, является интеграция информации. Наконец, был проявлен интерес к техническим конкурсам, таким как соревнования на приз компании Netflix и конкурс KDD Cup.

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

Источник: www.citforum.ru



В этом разделе:
    Обучение
    Контакты
    Наш адрес:
    г. Орел, Наугорское шоссе, 40
    Посмотреть на карте
    Телефон/факс:
    (4862) 43-49-56
    Обратная связь
    Поиск