Классика баз данных - статьи

       

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


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

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

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

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


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

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

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

Повсеместность структурированных и неструктурированных данных. Наблюдается взрывообразный рост объема структурированных данных, доступных в Web и корпоративных внутренних сетях.


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

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

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


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

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

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



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



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

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

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


Содержание раздела