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

       

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


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

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


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

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

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



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

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

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

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

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

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

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

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

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

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

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


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