1. Введение
Года три назад в мире управления данными возникло течение, авторитетные представители которого утверждали о необходимости
радикальных перемен; о том, что «безразмерные» архитектуры универсальных систем управления данными, возраст которых измеряется десятками лет, не в состоянии удовлетворять потребности многих новых приложений; что наступает новая эпоха архитектурно упрощенных специализированных систем управления данными, предельно эффективно и экономично поддерживающих приложения соответствующих достаточно узких предметных областей. Больше всех было слышно Майкла Стоунбрейкера (Michael Stonebraker), его соратников и учеников, ряд экспериментальных и коммерческих разработок которых подтверждал эти утверждения. Однако тогда доводы Стоунбрейкера и Ко о наличии революционной ситуации в области управления данными и потребности в коренном отказе от традиционных архитектур СУБД вызывали сомнения как у независимых экспертов, так и (безусловно!) у специалистов компаний, производящих универсальные СУБД.
Одним из основных событий 2008 г. явилась очередная встреча ведущих специалистов в области управления данных (из академических и коммерческих кругов), результатом которой явился Клермонтский отчет об исследованиях в области баз данных. В подобных отчетах анализируется текущее положение дел и предлагается программа исследований и разработок на ближайшие годы. В Клермонтском отчете (хотя и в гораздо более умеренных выражениях, чем в статьях Стоунбрейкера и его сподвижников) также отмечалась потребность в пересмотре архитектур систем управления данными, а также, в частности, указывалось на потребность исследований архитектур СУБД, предназначенных для поддержки «облачных» приложений.
В 2009 г. появилось несколько публикаций, свидетельствующих о ряде успешных разработок систем управления данными, которые основываются на новых архитектурах. Эти публикации я переводил и комментировал. Однако в целом они демонстрируют некоторую общую тенденцию, которую, по моему мнению, стоит проанализировать специальным образом. Подобной попытке анализа и посвящена данная статья.
В разд. 2 будет кратко рассмотрена недавняя предыстория вопроса: основные идеи статей Стоунбрейкера и Ко, соответствующие исследования и разработки, а также некоторые (особенно важные, по моему мнению) положения Клермонтского отчета. Следующие разделы основаны на отдельных публикациях разных авторов 2009 года. В разд. 3 обсуждаются эксперименты по сравнению эффективности технологий MapReduce и массивно-параллельных систем баз данных. В разд. 4 рассматривается новая архитектура СУБД, предназначенная для поддержки Web-приложений в облачной инфраструктуре. Разд. 5 посвящен обсуждению проблем аналитической обработки больших объемов данных. В разд. 6 описываются основные идеи перспективной системы аналитических баз данных, в которой сочетаются возможности создания аналитических приложений на основе SQL и MapReduce. В разд. 7 кратко характеризуется новый проект, направленный на создание свободно доступной системы баз научных данных. Наконец, в заключительном восьмом разделе подводятся итоги анализа и приводятся заключительные замечания.
2. Недавняя предыстория
Здесь действительно приходится говорить о совсем короткой предыстории, которая началась для меня только в конце 2006-го-начале 2007 гг.
2.1. Предсказание конца эпохи
В 2006-2008 гг. разными авторами, в число которых почти неизменно входил Майкл Стоунбрейкер, было опубликовано несколько статей, в которых с разной степенью убедительности утверждалось о необходимости радикальных перемен в области управления данными. Все эти статьи переводились на русский язык и комментировались мной. Для удобства я перечислю эти статьи и их переводы прямо в тексте (и повторю в списке использованных литературных источников):
- A Conversation with Michael Stonebraker and Margo Seltzer, ACM Queue, Volume 5, Number 4, May/June 2007.
- Michael Stonebraker, Uğur Çetintemel. «One Size Fits All»: An Idea Whose Time Has Come and Gone.
- Michael Stonebraker, Chuck Bear, Uğur Çetintemel, Mitch Cherniack, Tingjian Ge, Nabil Hachem, Stavros Harizopoulos, John Lifter, Jennie Rogers, and Stan Zdonik. One Size Fits All? – Part 2: Benchmarking Results . Proceedings of the 3rd Biennial Conference on Innovative Data Systems Research (CIDR), January 7-10, 2007, Asilomar, California, USA.
- Michael Stonebraker, Samuel Madden, Daniel J. Abadi, Stavros Harizopoulos, Nabil Hachem, Pat Helland. The End of an Architectural Era (It's Time for a Complete Rewrite). Proceedings of VLDB, 2007, Vienna, Austria.
Комментариям и замечаниям по поводу этих статей была посвящена моя небольшая заметка:
В последние десять лет Стоунбрейкер последовательно воплощает в жизнь эти идеи. Пробным шаром явилась разработка специализированных средств управления потоковыми данными. На основе исследований и разработок, выполненных в ряде университетов США, была создана компания и промышленная система StreamBase, которая, была хорошо принята финансовыми компаниями с Уолл-Стрит. На этом этапе Стоунбрейкер практически не конкурировал с «безразмерными» СУБД, для которых рыночный сектор потоковых данных, по-видимому, был слишком узок (кстати, в настоящее время эта ситуация, похоже, изменяется; в частности, можно отметить появление компонента Streaminsight в составе ожидаемого релиза Microsoft SQL Server V2).
Следующая попытка Стоунбрейкера состояла в создании нового SQL-ориентированного средства поддержки хранилищ данных с хранением данных по столбцам. И в этом случае созданная компания и промышленная система Vertica основывается на предыдущих университетских исследованиях и разработках, которые, в свою очередь, опираются на многолетние работы других исследователей. Понятно, что в этом случае Стоунбрейкер уже начинает потенциально конкурировать как с «безразмерными» СУБД, так и с СУБД, изначально ориентированными на поддержку хранилищ данных. И в одной из статей приводятся результаты тестовых испытаний, показывающие, что в некоторых сценариях использования приложение, основанное на использовании Vertica, демонстрирует производительность, на два порядка более высокую, чем при использовании «безразмерной» коммерческой СУБД.
Наконец, теперь Стоунбрейкер полностью выходит на тропу войны с «безразмерными» СУБД, покушаясь на их основной, традиционный сектор рынка – OLTP. В исключительно интересном, пока еще университетском проекте H-Store получены результаты испытаний разрабатываемой системы на эталонном тестовом наборе TPC-C, демонстрирующие превосходство над «безразмерной» коммерческой СУБД почти на два порядка.
Кроме того, в одной из статей приводится краткая характеристика и показатели производительности экспериментальной системы ASAP, ориентированной на поддержку математических баз данных. Результаты тоже впечатляют, хотя опубликованных данных относительно общей организации и интерфейсов системы явно недостаточно, чтобы можно было хорошо понять принципы ее организации. Впрочем, это явно будет исправлено при разработке системы SciDB (см. разд. 7), которая основывается на ASAP.
В 2007 г. у меня вызывали определенные сомнения как доводы Майкла Стоунбрейкера и его коллег о целесообразности и даже необходимости полномасштабного отказа от традиционных архитектур СУБД, так и некоторые технические аспекты конкретных систем и их характеристики, описываемые в упомянутых выше статьях. В частности, мне казалось, что к настоящему времени накоплено так много технологических возможностей, как аппаратных, так и программных, что большинство пользователей и разработчиков предпочтет потратить больше средств и/или пожертвовать некоторой долей производительности, чем перейти к использованию радикально других программных средств. Удачный опыт внедрения принципиально новых средств управления потоковыми данными не опровергает эти соображения. В этом случае речь идет об области приложений, которую принципиально не удовлетворяло существовавшее положение дел. Отчасти я был согласен и с патриархальными взглядами Марка Ривкина, высказанными им в статье «Тенденции развития универсальных коммерческих СУБД».
Содержание Вперёд