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



         

II. Революции не будет


Однако, прежде чем говорить о тенденциях развития этих СУБД, надо понять, будут ли они существовать в дальнейшем и не умрут ли в ближайшем будущем. Дело в том, что в последние несколько лет появилась целая серия статей Майкла Стоунбрейкера и Ко, в которых провозглашается грядущая революция в области СУБД и предсказывается скорая кончина универсальных коммерческих СУБД [, , , ]. Переводы и пересказы этих статей можно найти у С Кузнецова []. Стоунбрейкер обосновывает это тем, что современные универсальные коммерческие СУБД постоянно увеличивают свой функционал без переписывания ядра, в результате чего становятся очень сложными (никто сегодня не знает и не использует весь имеющийся функционал), громоздкими, медленными и дорогими. Он предсказывает, что грядет эпоха специализированных СУБД (потоковых, XML, научных, для обработки текстов и т д), которые вытеснят существующие универсальные СУБД, в первую очередь, за счет своей быстроты и компактности. Иллюстрируется это на примере нескольких стартапов (StreamBase, Vertica, ASAP, H-Store), которые показывают для специализированных решений (потоковая обработка, хранилища данных, научные исследования) производительность на 1-2 порядка выше, чем в современных промышленных дисковых СУБД.

Однако при ближайшем рассмотрении оказывается, что многие из этих поразительных результатов не совсем корректны. Так, при тестировании СУБД Vertica с поколоночным хранением данных используется огромная таблица (с более чем 200 колонками) из которой выбирают всего несколько колонок. Понятно, что при таком подходе традиционная СУБД работает намного медленнее, но любая операция выборки записей с разумным числом полей из этой таблицы на Vertica будет очень долгой. Автор этой статьи сам в свое время участвовал в разработке СУБД с векторным (по столбцам) хранением данных (проект АРИУС) и знает, сколько вычислительных ресурсов необходимо чтобы разбить таблицу на векторы, а потом из них по ссылкам собрать записи, и сколько длится обновление группы полей в такой записи.




Содержание  Назад  Вперед