Ричард Винтер
Президент компании Winter, владеет международной консалтинговой практикой в области крупных баз данных. С ним можно связаться по email: richard.winter@wintercorp.com

Кэйти Ауэрбах
Директор программы исследований в компании Winter, управляла программами TopTen Research Program на протяжении последних 7 лет. С ней можно связаться по email: Kathy.Auerbach@wintercorp.com

Популярность баз данных порождает проблемы. Базы данных способны хранить огромные объемы информации, но OLTP- и DSS-решениям нужны все более быстрые и удобные средства выполнения запросов. В этой статье приводятся результаты исследования эволюции больших баз данных.

Методика исследования

На протяжении последних 10 лет компания Winter внимательно следит за самыми крупными и популярными базами данных в мире. В рамках программы TopTen Program исследователи Winter получили более 300 заполненных опросников из 23 стран. Для подведения окончательных итогов учитывались базы данных на базе Windows с общим объемом данных не менее 500 Гб, а на других платформах — более 1 Тб. Следует иметь в виду, что Winter определяет размер базы данных как суммарный объем пользовательских данных, сводок, агрегатов и индексов, за исключением тех, что поддерживаются самой присоединенной дисковой подсистемой. Кроме того, методика исследования требовала от респондентов проверить корректность записей путем выполнения запросов, разработанных Winter и отраслевыми экспертами. Отобранные базы данных были разделены по целям применения и операционным системам, а также оценены по четырем параметрам: размеру, объему несжатых данных, числу строк/записей и нагрузке.

Ежеминутно во всем мире гигантские базы данных выполняют тысячи, если не миллионы, параллельных операций, выполняя оперативную обработку транзакций (OLTP, online transaction processing). А тем временем другие базы данных поддерживают крупные информационные хранилища, "перемалывая" числа и поддерживая системы принятия решений (DSS, decision-support system). В крупных СУБД масштабируемость - всегда проблема номер один. Но масштабируемость масштабируемости рознь. Для одних масштабируемость - это способность поддержать большее число пользователей, одновременных запросов или транзакций, и быстро выполнить больше запросов; а для других - мера общего объема "сырых" данных, которые система в состоянии сохранить и обработать. А третьим требуется и то, и другое. В этой статье мы расскажем о тенденциях и направлениях развития крупных баз данных, которые были выявлены в процессе исследования 2003 TopTen Program, что проводилось с мая по октябрь 2003 года.

Устойчивый рост

Наиболее замечательный результат исследования - доказательство роста как размеров баз данных, так и скорости обработки. Рост можно оценить по-разному, но наиболее видимая и самая впечатляющая характеристика - размер. Крупные базы данных могут содержать тысячи таблиц и поддерживать географически распределенных пользователей. Наше исследование показало, что рост размеров баз данных ускоряется. На рис. 1 показан диапазон размеров десяти самых крупных баз данных, используемых для поддержки принятия решений и оперативной обработки транзакций, в обзорах компании Winter за 2003 и 2001 года. За два года размер самой крупной OLTP базы данных почти удвоился: с 10,5 до 18,3 Тб. В лагере DSS-систем размер 10-ой базы данных в рейтинге за 2003 год почти равняется размеру самой крупной базы в рейтинге 2001 года, а крупнейшая DSS-база данных в 2003 году вмещает 29,2 Тб, что почти в три раза больше аналогичного показателя лидера 2001 года.

Об увеличении масштабов баз данных также свидетельствует рост числа записей. На рис. 2 показан рост числа строк за последние два года. Этот показатель значительно возрос в обоих видах базы данных. Самый большой рост произошел в области DSS-баз под управлением Unix. В среднем число строк выросло в 6 раз, благодаря чему эти баз данных опередили OLTP-базы данных на основе z/OS. Лидером в исследовании 2003 года стала база данных компании AT&T с 496 миллиардами записей.

Базы данных на основе Windows также продемонстрировали быстрый рост. Сегодня DSS-системы на базе Windows содержат в среднем 11 112 строк против всего лишь 1176 строк два года тому назад. Среднее число записей в OLTP-системах на базе Windows продемонстрировало взрывообразный рост, увеличившись в четыре раза с 2001 года.

Нагрузка: под давлением

Еще один показатель роста масштабов БД - увеличение нагрузки на систему. Витрины данных превращаются в информационные хранилища, некоторые из которых должны работать почти в реальном времени. Всем в цепочке поставки - заказчику, розничному поставщику, дистрибьюору, производителю и поставщику материалов надо обмениваться информацией быстро и надежно, 24 часа в сутки 7 дней в неделю. Результат - взлетающая вверх нагрузка на базы данных. Результаты наших исследований говорят, что в среднем DSS-база данных в 2001 году обрабатывала 156 параллельных запросов, а в 2003 году этот показатель возрос до 224, то есть на 44 %. В области обработки транзакций рост еще больше - со средней цифры 2094 транзакций в секунду в 2001 году до 3 223 транзакций за то же время двумя годами позже, то есть рост составляет 54%.

Задачи, стоящие перед ИТ-персоналом , от администраторов баз данных до ИТ-директора, поражают воображение - им надо удовлетворять растущие потребности даже в условиях сокращения общих расходов. Чтобы обуздать расходы, многие ИТ-подразделения обращаются к открытым системам и/или более дешевому оборудованию. Результаты исследований Winter показывают, что аналогичные тенденции наблюдаются и в крупных базах данных. На рис. 3 видно, что Unix стала явным лидером среди платформ для очень крупных DSS-баз данных. По сути, все 10 крупнейших DSS-баз данных в исследовании 2003 года работают на Unix. Возглавляет список компания France Telecom с более чем 29 Тб данных (в France Telecom установлена база Oracle, серверы PA-RISC Superdome и системы хранения StorageWorks от Hewlett-Packard).

Наши данные также показали важную тенденцию: Intel-серверы под управлением Windows теперь в состоянии обеспечить поддержку крупномасштабной системы поддержки принятия решений. Число Wintel-систем для DSS выросло за два года на 40%; наши данные за 2003 год говорят, что в среднем каждая пятая крупная база данных для DSS работает на Wintel-платформе. Кроме того, самая большая Windows-база данных выросла почти в 6 раз: с 1,5 до 8,9 Тб. В 2001 и 2003 годах пальма первенства принадлежала компании ComScore Networks, где используется СУБД Sybase, серверы Dell и системы хранения EMC.

OLTP: Windows набирает вес

Однако самым удивительным оказалось то, что Windows приобрела вес и стала серьезной платформой для обработки крупных OLTP-баз данных. Unix преобладал над Windows в области OLTP в 2001 году - на эту систему приходилось 60% всех баз, которые соответствовали нашим критериям. (Кстати, четверть представленных систем работали под управлением z/OS и OS/390.) Однако в 2003 году на Windows пришлось более 2 из каждых 5 OLTP-баз данных (43%), что продвинуло Windows практически на один уровень с Unix. Более того, самая крупная OLTP-система на основе Unix поддерживает 5,4 Тб данных, что не намного больше 5,3-терабайтной базы под управлением Windows, установленной в компании Verizon Communications. Эта база данных, работающая под управлением Microsoft SQL Server на серверах HP ProLiant и с дисковыми массивами Symmetrix, продемонстрировала 12-кратный рост -- самый большой для OLTP-базы на основе Windows из всех, которые попали в наше поле зрения.

При этом важно заметить, что, несмотря на рывок Windows-систем вперед, самые крупные OLTP-системы по-прежнему обслуживаются мэйнфреймами IBM под управлением z/OS. В исследовании на них приходится 6 из 10 крупнейших систем обработки транзакций, в том числе самая большая OLTP-база данных земельного кадастра на основе DB2 под управлением z/OS, работающая на мэйнфреймах IBM eServer z Series и массивах хранения Hitachi. Впрочем, несмотря на это, мы не сомневаемся, что путь для OLTP-обработки на Wintel-платформах уже широко открыт. Тенденция по замене дорогих систем класса high end более дешевыми аппаратными средствами набирает обороты.

Многих интересует, как в исследовании 2003 года выглядит Linux - столь горячо обсуждаемая тема среди специалистов. Но результаты исследования говорят, что на настоящий момент эта ОС лишь заявила о себе в мире больших промышленных баз данных. Из четырех полученных нами опросников с описанием базы данных на Linux лишь одно удовлетворило минимальным требованиям к размеру, но респондент не провел проверку корректности размера базы данных, поэтому базу данных пришлось исключить из конечной выборки. Тем не менее ввиду очевидных преимуществ Linux, в числе которых низкая стоимость владения, переносимость, открытость и поддержка, мы ожидаем, что Linux займет более заметное место в результатах следующих лет.

Смена приоритетов при выборе сервера

Результаты программы также демонстрируют смену предпочтений при выборе серверных архитектур, причем изменения видны как во времени, так и в плане размера БД. На рис. 4 и 5 показаны результаты исследования серверных архитектур в 2003 и 2001 годах среди баз данных для OLTP и DSS.

Независимо от применения, симметричная многопроцессорная обработка (SMP) преобладала среди баз данных с объемом данных менее 2 Тб данных в обоих исследованиях. Среди баз данных для DSS позиции SMP-систем усилились в нише баз среднего размера. Кластерные системы занимают значительную долю в секторе самых крупных DSS-баз данных, проникая на территорию, в которой до этого они чувствовали себя не очень уверенно.

На рис. 4 и 5 видно, что системы с массовой параллельной обработкой (MPP, massively parallel processing), чей упадок постоянно пророчат аналитики и конкурирующие поставщики, остаются популярными. Хотя эти системы сошли с арены OLTP, исследование предоставляет массу подтверждений, что они пользуются растущей популярностью в области высококлассных систем поддержки принятия решений.

SMP-системы активно используются для размещения OLTP-баз данных независимо от размера базы данных. Они также занимают первую строчку популярности среди самых крупных OLTP-баз данных, объемом свыше 5 Тб, а также среди претендентов в крупные БД по нашей классификации, то есть в БД с емкостью менее 2 Тб. Кластерные системы наиболее популярны среди OLTP-баз данных среднего размера, то есть от 2 до 5 Тб. В целом между 2001 и 2003 годами использование SMP и кластерных архитектур для размещения DSS- и OLTP-систем значительно возросло. Однопроцессорная обработка, которая присутствовала в исследованиях 2001 года (но и тогда использовалась только для OLTP), почти исчезла из сектора больших БД.

Быстро, еще быстрее

Итак, какой прогноз на ближайшее будущее можно сформулировать для крупных баз данных, сведя воедино все сказанное выше? Можно с уверенностью утверждать, что они станут больше и значительно мощнее. Мы ожидаем, что спустя пару-тройку лет респонденты нашего исследования будут сообщать о DSS-базах данных емкостью 100-200 Тб, удовлетворяющих потребности самых разнообразных категорий пользователей. Ожидается одновременная обработка примерно 1500 параллельных DSS-запросов. Вместе с тем быстродействие OLTP-обработки достигнет 8000 транзакций в секунду, а емкость базы оперативных данных достигнет 25 Тб. Может эти цифры и вызовут недоверие ИТ-директоров, но именно таковы прогнозы наших респондентов. Вскоре мы приступим к сбору и обработке данных за 2004 год, и практически не сомневаемся, что увидим взрывной рост баз данных за пределы всяких мыслимых границ, что превращает масштабируемость всех видов в критически важную проблему.

Информационное хранилище данных Amazon.com

Практически с момента основания Amazon славилась своими передовыми BI-решениями, аналитикой, информационными хранилищами и базами данных. Amazon - неизменный лидер программы TopTen Program компании Winter и других рейтингов, в которых оценивается масштабируемость баз данных. В Amazon поддерживается интегрированное централизованное корпоративное информационное хранилище, которое используется для генерации отчетности о дневных бизнес-показателях, выполнения аналитических запросов и анализа по методу data mining. Главные его пользователи - финансовые аналитики, специалисты по поставкам и управляющие продажами. База данных доступна 24 часа в день с любой точки мира. Размер БД хранилища - примерно 15 Тб ("сырых" данных), которыми управляет СУБД Oracle, размещены они на серверах Hewlett-Packard с ОС HP-UX. Мы задали несколько вопросов Кену Коллинсу, директору информационного управления Amazon.com.

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

В таком случае каким образом вы планируете загрузку базы данных?
В основном мы поддерживаем нестандартные разовые (ad hoc) запросы, выполняемые на сложных данных большого объема. Мы не пытаемся предотвратить выполнение требовательных к ресурсам запросов, а перехватываем их после выполнения, после чего обучаем пользователя, как улучшить запрос, чтобы в следующий раз он создал более экономичный и совершенный запрос.
Естественно, такой подход обуславливает определенные требования к масштабируемости базы. Мы пытаемся прогнозировать, какие OLTP-наборы данных должны отражаться в информационном хранилище. Это самая сложная и вместе с тем самая интересная задача. Мы должны определить самый подходящий набор технологий и данных, чтобы обеспечить пользователям автономность в работе с базой, разумную производительность и возможность исследовать новые области в необходимом им темпе.
Вторая задача - интеграция информационного хранилища в оперативную структуру компании. Мы должны обеспечить пользователям возможность без проблем работать с данными с самой разной детализацией - от почти реального времени до долгосрочной перспективы, а также со сводной и аналитической информацией. Мы тратим много времени на разработку новых методов и форм предоставления пользователям информации об Amazon за текущий год.
Наша основная задача - организовать работу так, чтобы гарантировать масштабирование вместе с быстрым ростом спроса. Чем больше мы предоставим пользователям мощных "самообслуживаемых" аналитических инструментов и процессов, тем больше новшеств они смогут реализовать. Чем больше мы уделим внимания "продуктовой", а не "сервисной" стороне хранилища, тем больше пользы принесет работа нашей команды для Amazon.

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

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