Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Скидка до 20% на услуги дата-центра. Аренда серверной стойки. Colocation от 1U!

Миграция в облако #SotelCloud. Виртуальный сервер в облаке. Выбрать конфигурацию на сайте!

Виртуальная АТС для вашего бизнеса. Приветственные бонусы для новых клиентов!

Виртуальные VPS серверы в РФ и ЕС

Dedicated серверы в РФ и ЕС

По промокоду CITFORUM скидка 30% на заказ VPS\VDS

VPS/VDS серверы. 30 локаций на выбор

Серверы VPS/VDS с большим диском

Хорошие условия для реселлеров

4VPS.SU - VPS в 17-ти странах

2Gbit/s безлимит

Современное железо!

2008 г.

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

Ракеш Агравал, Анастасия Айламаки, Филипп Бернштейн, Эрик Брювер, Майкл Кери, Сураджит Чаудхари, Анхай Доан, Даниэла Флореску, Майкл Франклин, Гектор Гарсиа Молина, Йоханнес Герке, Ле Грюнвальд, Лаура Хаас, Элон Хэлеви, Джозеф Хелерстейн, Яннис Иоаннидис, Хэнк Корт, Дональд Коссман, Сэмюэль Мэдден, Роджер Магулас, Бенг Чин Ой, Тим О’Рейли, Раджу Рамакришнан, Суннита Сарагави, Майкл Стоунбрейкер, Александер Залай, Герхард Вейкум

Пересказ и комментарии: Сергей Кузнецов

Оригинал: The Claremont Report on Database Research. Rakesh Agrawal, Anastasia Ailamaki, Philip A. Bernstein, Eric A. Brewer, Michael J. Carey, Surajit Chaudhuri, AnHai Doan, Daniela Florescu, Michael J. Franklin, Hector Garcia Molina, Johannes Gehrke, Le Gruenwald, Laura M. Haas, Alon Y. Halevy, Joseph M. Hellerstein, Yannis E. Ioannidis, Hank F. Korth, Donald Kossmann, Samuel Madden, Roger Magoulas, Beng Chin Ooi, Tim O’Reilly, Raghu Ramakrishnan, Sunita Sarawagi, Michael Stonebraker, Alexander S. Szalay, Gerhard Weikum

Содержание

Встречи ведущих исследователей в области баз данных. Историческая справка
Аннотация
1. Поворотная точка в исследованиях баз данных
2. Исследовательские возможности
2.1 Пересмотр архитектуры серверов баз данных
2.2 Декларативное программирование для новых платформ
2.3 Взаимосвязь структурированных и неструктурированных данных
2.4 Облачные службы данных
2.5 Мобильные приложения и виртуальные миры
3. Движение вперед
Литература
Приложение. Темы последних самооценок

Встречи ведущих исследователей в области баз данных. Историческая справка

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

Первый подобный отчет [BDD+89] был опубликован в 1989 г. по результатам встречи, которая состоялась в 1988 г. Официальное название отчета – «Направления будущих исследований в области СУБД», но в народе он более известен как «Отчет Лагуна Бич», поскольку встреча в 1988 г. проходила в городке Laguna Beach, расположенном на побережье Калифорнии между Лос-Анжелесом и Сан-Диего. Участниками встречи были Филипп Бернстейн, Умешвар Дайал (Umeshwar Dayal), Дэвид Девитт (David J. DeWitt), Дитер Гавлик (Dieter Gawlick), Джим Грей (Jim Gray), Матиас Ярке (Matthias Jarke), Брюс Линдсей (Bruce G. Lindsay), Питер Локман (Peter C. Lockemann), Дэвид Майер (David Maier), Эрик Ньюхолд (Erich J. Neuhold), Андреас Рейтер (Andreas Reuter), Лоуренс Роув (Lawrence A. Rowe), Ханс Шек (Hans J. Schek), Иоахим Шмидт (Joachim W. Schmidt), Михаель Шрефл (Michael Schrefl) и Майкл Стоунбрейкер. К сожалению, оригинальный текст этого документа отсутствует в открытом доступе в Internet. Однако в свое время я кратко пересказал и прокомментировал его в статье «Будущие направления исследований в области баз данных: десять лет спустя», так что с основными положениями этого отчета ознакомиться можно.

Вторая встреча состоялась в 1990 г. в Пало-Альто, Калифорния. Отчет [SSU91] был опубликован в 1991 г. В этой встрече участвовали Майкл Броуди (Michael Brodie), Питер Бунеман (Peter Buneman), Майкл Кери, Ашок Чандра (Ashok Chandra), Гектор Гарсиа-Молина, Джим Грей, Рон Фейджин (Ron Fagin), Дейв Ломе (Dave Lomet), Дейв Майер, Мэри Энн Наймет (Marie Ann Niemat), Ави Зильбершац (Avi Silberschatz), Майкл Стоубрейкер (Michael Stonebraker), Ирв Трейджер (Irv Traiger), Джефф Ульман (Jeff Ullman), Гио Вайдерхолд (Gio Wiederhold), Карло Заниоло (Carlo Zaniolo) и Мария Земанкова (Maria Zemankova). Мне удалось найти эту публикацию в свободном доступе в Internet на сайте Стэндфордского университета, но она не переводилась и не пересказывалась на русском языке.

Третья встреча прошла в 1995 г. также в Пало-Альто. Отчет [ASU95] был опубликован в том же году. Участниками встречи были Филипп Бернштейн, Рон Брахман (Ron Brachman), Майкл Кери, Рик Каттел (Rick Cattell), Гектор Гарсиа-Молина, Лаура Хаас, Дейв Ломе, Дейв Майер, Джефф Науфтон (Jeff Naughton), Майкл Шварц (Michael Schwartz), Пат Селинджер (Pat Selinger), Ави Зильбершац, Майк Стоунбрейкер, Патрик Вальдурец (Patrick Valduriez), Мойше Варди (Moshe Vardi), Дженифер Вайдом (Jennifer Widom), Гио Вайдерхолд, Марианна Винслетт и Мария Земанкова. В свободном доступе статью можно также найти на сайте Стэндфордского университета. Кроме того, имеется перевод этого материала на русский язык под названием «Базы данных: достижения и перспективы на пороге 21-го столетия». В совокупности отчеты про вторую и третью встречу принято называть «Отчетами Лагунито» («Lagunito Reports»), поскольку обе встречи проходили при содействии National Science Foundation (FSF) в местечке с таким названием.

В 1996 г. в Кембридже, шт. Массачусетс проходил большой симпозиум ACM, посвященный стратегическим направлениям в области компьютерной науки. Было образовано несколько рабочих групп, в том числе, и рабочая группа по исследованиям в области баз данных. В состав этой группы входили Хосе Блейкли (Jose Blakeley), Питер Бунеман, Умешвар Дайал, Томаш Имелински (Tomasz Imielinski), Сушил Джаджодиа (Sushil Jajodia), Хэнк Корт (Hank Korth), Гай Лохман (Guy Lohman), Дейв Ломе, Дейв Майер, Фрэнк Манола (Frank Manola), Тамер Оцсу (Tamer Ozsu), Раджу Рамакришнан, Крити Рамаритан (Krithi Ramaritham), Ханс Шек, Ави Зильбершац, Рик Снодграсс (Rick Snodgrass), Джефф Ульман, Дженифер Вайдом и Стэн Здоник (Stan Zdonik). В том же году был выпущен отчет [AZ+96] о работе этой рабочей группы. Текст отчета можно найти в открытом доступе в Internet. Имеется и его перевод на русский язык – «Стратегические направления в системах баз данных».

Следующая встреча состоялась в 1998 г. в Асиломаре, неподалеку от г. Монтерей, Калифорния. Во встрече участвовали Филипп Бернштейн, Майкл Броуди, Стефано Чери (Stefano Ceri), Дэвид Девитт, Майк Франклин, Гектор Гарсиа-Молина, Джим Грей, Джерри Хелд (Jerry Held), Джо Хеллерстейн (Joe Hellerstein), Хосаграхар Ягадиш (H. V. Jagadish), Майкл Леск (Michael Lesk), Дейв Майер, Джефф Науфтон, Хамид Пирахеш (Hamid Pirahesh), Майк Стоунбрейкер и Джефф Ульман. Отчет [BBC+98] был издан в том же году, получил в народе название «Асиломарского отчета» и сразу стал свободно доступен в Internet. В 1999 г. я перевел его на русский язык.

Наконец, в 2003 г. группа исследователей собралась в г. Лоуэлл, шт. Массачусетс. Участниками этой встречи были Сердж Абитбуль (Serge Abiteboul), Ракеш Агравал, Фил Бернштейн, Майк Кери, Стефано Чери, Брюс Крофт (Bruce Croft), Дэвид Девитт, Майк Франклин, Гектор Гарсиа-Молина, Дитер Гавлик, Джим Грей, Лаура Хаас, Элон Хэлеви, Джо Хеллерстейн, Яннис Иоаннидис, Мартин Керстен (Martin Kersten), Майкл Паццани (Michael Pazzani), Майк Леск, Дэвид Майер, Джефф Науфтон, Ханс Шек, Тимос Селлис (Timos Sellis), Ави Зильюершац, Майк Стоунбрейкер, Рик Снодграсс, Джефф Ульман, Герхард Вейкум, Дженифер Вайдом и Стэн Здоник. Отчет об этой встрече был размещен на сайте Джима Грея задолго до его официальной публикации в 2005 г. [AAB+03]. К сожалению, это была последняя встреча такого рода с участием Джима Грея, который, как известно, пропал в океане в конце января 2007 г. Асиломарский отчет достаточно подробно пересказан в моей статье «Крупные проблемы и текущие задачи исследований в области баз данных» и использован в статье «Предвестники новых манифестов управления данными». Наконец, материалы всех последних отчетов, среди прочего, использованы при написании обзорной статьи «Ландшафт области управления данными: аналитический обзор».

В мае 2008 г. состоялась новая встреча. Она проходила в отеле Claremont Resort в г. Беркли, Калифорния, и поэтому отчет получил название «Клермонтского». Джо Хеллерстейн подготовил и поддерживает специальный сайт, на котором и был опубликован первый вариант отчета. Я решил, не дожидаясь официальной публикации отчета, пересказать его по-русски и кратко прокомментировать.

Должен сказать, что по первому впечатлению Клермонтский отчет нравится мне меньше двух предыдущих – Асиломарского и Лоуэллского отчетов. В нем как-то меньше фантазии, предлагаемые темы исследований кажутся не такими интересными, формулировки проблем недостаточно точны. По-моему, сказывается отсутствие Джима Грея. Нам всем его очень не хватает. Однако нужно учиться жить без него. И при планировании следующих нескольких лет Клермонтский отчет будет, безусловно, полезен исследователям баз данных. А более широкой публике этот отчет может помочь составить общее впечатление о том, что ждет нас в области баз данных в не слишком отдаленном будущем.

В тексте пересказа отчета мои комментарии выделяются курсивом. Кроме того, я добавил в текст несколько ссылок на дополнительные ресурсы Internet.

Сергей Кузнецов

Аннотация

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

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

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

  • «облачные» сервисы данных, а также

  • мобильные и виртуальные миры.

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

1. Поворотная точка в исследованиях баз данных

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

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

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

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

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

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

И это, действительно, тенденция. Число аналитиков растет, объемы данных увеличиваются, а цены на инструменты анализа больших объемов данных остаются сумасшедшими. Отсюда происходит текущая мода на специализированные программно-аппаратные комплексы (appliance), предназначенные только для анализа данных, а также на построение аналитических систем в инфраструктуре «облачных вычислений».

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

Этот фактор сильно связан в п. 1. Именно здесь приходится сталкиваться с громадными объемами данных, для управления которыми оказываются практически непригодными традиционные СУБД.

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

В последнее время я читал и переводил много материалов, посвященных методам объектно-реляционного отображения (см., например, материал «Персистентность данных в объектно-ориентированных приложениях»). У меня создалось впечатление, что, несмотря на продвижение вперед в Ruby on Rails и LINQ, текущая ситуация не удовлетворяет ни разработчиков этих средств, ни их пользователей (разработчиков объектно-ориентированных приложений SQL-ориентированных баз данных). Спрос на новые модели программирования есть, но непонятно, что стоит предлагать.

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

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

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

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

2. Исследовательские возможности

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

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

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

  • управление неопределенной информацией,

  • конфиденциальность и безопасность данных,

  • электронная наука и другие приложения, ориентированные на ученых,

  • антропоцентрические взаимодействия с данными,

  • социальные сети и Web 2.0,

  • персонализация и констекстуализация задач, относящихся к выполнению запросов и поиска,

  • потоковые и сетевые данные,

  • самонастраиваемые и адаптивные системы, а также

  • проблемы, порождаемые новыми технологиями аппаратуры и ограничениями энергопотребления.

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

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

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

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

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

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

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

Мне кажется, что эта часть раздела написана под явным влиянием Майкла Стоунбрейкера, который в последние годы активно продвигает идею специализированных систем управления данными, каждая из которых обеспечивает пиковую производительность достаточно узкого, но критически важного класса приложений (см. переводы и пересказы статей, упомянутые в моей заметке «Универсальность и специализация: время разбивать камни?», а также пересказ статьи «СУБД с хранением данных по столбцами и по строкам: насколько они отличаются в действительности?»).

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

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

  2. использование удаленной основной и флэш-памяти в качестве среды персистентного хранения данных в дополнение к памяти на магнитных дисках;

  3. разработка унифицированного подхода к постоянно выполняемой адаптации и самонастройке оптимизации запросов и физических структур хранения данных;

  4. сжатие и шифрование данных на уровне хранения, интегрированное со структурой хранения и оптимизацией запросов;

  5. разработка систем, опирающихся на не реляционные модели данных, вместо того, чтобы «впихивать» эти данные в таблицы;

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

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

Этот список производит двойственное впечатление. Темы «a», «b», «c», «d» и «g» вполне актуальны, хотя находятся на совершенно разных стадиях разработки (темы «c», «d» и «g» исследуются уже давно, и имеются соответствующие опытные реализации, в то время как темы «a» и «b», насколько мне известно, пока проработаны очень слабо). В теме «e» мне не нравятся «не реляционные» модели данных. Можно подумать, что имеется масса моделей на выбор. Здесь авторам нужно было бы быть более четкими. Тема же «f» чрезвычайно абстрактна и похожа, скорее, на декларацию о намерениях.

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

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

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

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

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

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

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

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

Насчет возрождения Datalog у меня сейчас нет информации. Известна тяга молодежи к функциональному программированию, а увлечения логическим программированием, по крайней мере, в России пока я не наблюдаю.

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

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

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

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

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

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

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

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

  1. миллионы баз данных, скрытых за формами (Глубокий Web, Deep Web);

  2. сотни миллионов высококачественных элементов данных в HTML-таблицах на Web-страницах и возрастающее число мэшапов (mashup, обеспечивающих динамические представления структурированных данных;

  3. данные, обеспечиваемые сервисами Web 2.0, такими как фото- и видео-сайты, сервисы совместного аннотирования и онлайновые репозитории структурированных данных.

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

Про пространства данных см. перевод статьи «От баз данных к пространствам данных: новая абстракция управления информацией» и мой обзор «Предвестники новых манифестов управления данными».

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

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

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

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

Здесь просто нужны другие СУБД, с иными архитектурой и функциональными возможностями. Непонятно, на какой модели данных они должны основываться.

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

Многие частные задачи из этого направления решены или решаются. Но в целом проблема очень велика и сложна.

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

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

Экономические факторы приводят к появлению инфраструктур, обеспечивающих программные и вычислительные средства в виде служб, обычно называемых облачными (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. Это также указывает на неизбежность сервисов, охватывающих несколько облачных сред. Этот аспект уже распространен в научных гридах данных, в которых обычно имеются крупные совместно используемые серверы данных в нескольких узлах, даже если весь грид посвящается одной дисциплине. В целом, это также перекликается с разрастанием источников данных на большинстве предприятий. Появление федеративных облачных архитектур будет только усиливать описанные выше проблемы.

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

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

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

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

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

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

Эта область для меня очень туманна, как, впрочем, и для участников Клермонтской встречи.

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

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

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

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

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

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

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

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

Литература

[BDD+89] Philip A. Bernstein, Umeshwar Dayal, David J. DeWitt, Dieter Gawlick, Jim Gray, Matthias Jarke, Bruce G. Lindsay, Peter C. Lockemann, David Maier, Erich J. Neuhold, Andreas Reuter, Lawrence A. Rowe, Hans-Jörg Schek, Joachim W. Schmidt, Michael Schrefl, and Michael Stonebraker. “Future Directions in DBMS Research – The Laguna Beach Participants”. SIGMOD Record 18(1): 17-26, 1989. Имеется пересказ на русском языке: «Будущие направления исследований в области баз данных: десять лет спустя»

[SSU91] Abraham Silberschatz, Michael Stonebraker, and Jeffrey D. Ullman. “Database Systems: Achievements and Opportunities”. CACM 34(10): 110-120, 1991.

[ASU95] Abraham Silberschatz, Michael Stonebraker, Jeffrey D. Ullman: Database Research: Achievements and Opportunities Into the 21st Century. SIGMOD Record 25(1): 52-63 (1996). Имеется перевод на русский язык: «Базы данных: достижения и перспективы на пороге 21-го столетия».

[AZ+96] Avi Silberschatz, Stan Zdonik, et al., “Strategic Directions in Database Systems – Breaking Out of the Box,ACM Computing Surveys, Vol. 28, No. 4 (Dec 1996), 764-778. Имеется перевод на русский язык: «Стратегические направления в системах баз данных».

[BBC+98] Philip A. Bernstein, Michael L. Brodie, Stefano Ceri, David J. DeWitt, Michael J. Franklin, Hector Garcia-Molina, Jim Gray, Gerald Held, Joseph M. Hellerstein, H. V. Jagadish, Michael Lesk, David Maier, Jeffrey F. Naughton, Hamid Pirahesh, Michael Stonebraker, and Jeffrey D. Ullman. “The Asilomar Report on Database Research”. SIGMOD Record 27(4): 74-80, 1998. Имеется перевод на русский язык.

[AAB+03] Serge Abiteboul, Rakesh Agrawal, Philip A. Bernstein, Michael J. Carey, Stefano Ceri, W. Bruce Croft, David J. DeWitt, Michael J. Franklin, Hector Garcia-Molina, Dieter Gawlick, Jim Gray, Laura M. Haas, Alon Y. Halevy, Joseph M. Hellerstein, Yannis E. Ioannidis, Martin L. Kersten, Michael J. Pazzani, Michael Lesk, David Maier, Jeffrey F. Naughton, Hans-Jörg Schek, Timos K. Sellis, Avi Silberschatz, Michael Stonebraker, Richard T. Snodgrass, Jeffrey D. Ullman, Gerhard Weikum, Jennifer Widom, and Stanley B. Zdonik. “The Lowell Database Research Self-Assessment”. CoRR cs.DB/0310006, 2003. Also in CACM 48(5): 111-118, 2005. Имеется пересказ на русском языке в обзоре: «Крупные проблемы и текущие задачи исследований в области баз данных».

Приложение. Темы последних самооценок

Встречи, направленные на выполнение оценки состояния дел в области исследований баз данных, проходили в 1988 г. [BDD+89], 1990 г. [SSU91], 1995 г. [ASU96], 1996 г. [AZ+], 1998 г. [BBC+98] и 2003 г. [AAB+03]. В каждом из отчетов описывались изменения в ландшафте приложений и технологии, приводящие к потребности в новых исследованиях. Сводка движущих сил приведена в табл. 1.

Таблица 1. Внешние силы, влияющие на область баз данных, в каждом из отчетов

Год

Движущие силы

1988

Будущие приложения: CASE, CIM, обработка изображений, пространственные данные, информационный поиск

1990

Будущие приложения: данные NASA, CAD, генетика, интеллектуальный анализ данных (data mining), мультимедиа

1995

Будущие приложения: данные NASA, электронная коммерция, здравоохранение, цифровые издания, коллективная разработка

Технологические тенденции: совершенствование аппаратных средств, изменения в архитектуре СУБД (клиент-сервер, объектно-реляционные расширения), Web

1996

Будущие приложения: «мгновенные» виртуальные предприятия (instant virtual enterprise), персональные информационные системы

1998

Технологические тенденции: Web, объединение программной логики и систем баз данных, совершенствование аппаратных средств (увеличение масштаба до уровня мегасерверов, снижение масштаба до уровня специализированных программно-аппаратных комплексов (appliance)

2003

Будущие приложения: совершенствование аппаратных средств, зрелость родственных технологий (интеллектуальный анализ данных, информационный поиск)

После этого в каждом из отчетов перечисляются конкретные проблемы, нуждающиеся в дополнительных исследования. Не удивительно, что в разных отчетах зачастую упоминаются одни и те же исследовательские проблемы. Например, про проблему интеграции информации говорилось в контексте неоднородных распределенных баз данных (1990), улучшенного распространения информации (1995), интеграции баз данных в масштабе Web (1998) и интеграции «на лету» сенсорных данных (2003). Хотя темы повторяются, технические цели каждого сценария обычно отличаются от других. В табл. 2 приводится сводка этих повторяющихся тем.

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

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

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

Таблица 2. Повторяющиеся темы на встречах по оценке исследований в области баз данных


1988

1990

1995

1996

1998

2003

Управление версиями и конфигурацией, репозитории

X

X

X




Большее число типов данных: изображения, пространственные данные, время, генетика, …

X

X

X




Информационный поиск

X


X



X

Расширяемые СУБД, объектно-ориентированные СУБД

X



X



Использование развитых аппаратных возможностей

X




X


Оптимизация запросов

X



X

X

X

Параллелизм, повышение масштаба, снижение масштаба

X

X




X

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

X


X


X

X

Модели потоков работ, длинные транзакции, серверы потоков работ

X

X

X

X

X


Активные базы данных, правила, масштабируемые системы триггеров

X

X



X

X

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

X

X

X

X

X

X

Неточные и вероятностные данные, качество данных, обработка запросов как накопление результатов


X

X

X

X

X

Базы данных без схемы, интеграция структурированных и полуструктурированных данных, СУБД для текстов, данных, кода и потоков




X

X

X

Безопасность и конфиденциальность, достоверность



X

X


X

Интеллектуальный анализ данных (data mining)


X

X

X


X

Упрощенная разработка приложений, средства визуального программирования, интерфейсы языков программирования, компонентные модели

X



X

X


Третичная память, 100-летнее хранение


X




X

Мультимедиа, качество обслуживания, запросы, поддержка пользовательских интерфейсов


X

X

X


X

Пользовательские интерфейсы для баз данных

X


X



X

Бесплатный конструктор сайтов и Landing Page

Хостинг с DDoS защитой от 2.5$ + Бесплатный SSL и Домен

SSD VPS в Нидерландах под различные задачи от 2.6$

✅ Дешевый VPS-хостинг на AMD EPYC: 1vCore, 3GB DDR4, 15GB NVMe всего за €3,50!

🔥 Anti-DDoS защита 12 Тбит/с!

VPS в России, Европе и США

Бесплатная поддержка и администрирование

Оплата российскими и международными картами

🔥 VPS до 5.7 ГГц под любые задачи с AntiDDoS в 7 локациях

💸 Гифткод CITFORUM (250р на баланс) и попробуйте уже сейчас!

🛒 Скидка 15% на первый платеж (в течение 24ч)

Новости мира IT:

Архив новостей

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 7861149
Пресс-релизы — pr@citforum.ru
Обратная связь
Информация для авторов
Rambler's Top100 TopList This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2019 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...