Выждав драматическую паузу, 16 марта корпорация Microsoft выпустила пресс-релиз (на русском языке он появился 24 марта) по поводу прозвучавшего ранее вызова главы Oracle Ларри Эллисона. Это пари неоднократно упоминалось в прессе, привлекая внимание пользователей. Поэтому мы публикуем сегодня полный текст ответа со стороны Microsoft.
23 ноября 1998 года компания Oracle бросила вызов компании
Microsoft, предложив пари с условием "выплаты 1 миллиона долларов любому,
кто сумеет продемонстрировать, что система управления базами данных (СУБД)
Microsoft SQL Server 7.0 сможет достичь хотя бы сотой доли производительности
СУБД Oracle8i при выполнении стандартных бизнес-запросов на больших (терабайтных)
базах данных".
В качестве критерия выступало значение 71,5 секунд для
запроса N5 (query five) по тестам TPC-D, достигнутое СУБД Oracle. Показатели
TPC-D, находящиеся в ведении Совета по оценке производительности обработки
транзакций (Transaction Processing Performance Council, TPC), призваны
оценивать производительность и скорость работы СУБД при работе с очень
большими базами данных в типичных условиях бизнес-среды, где .пользователи
обращаются к хранилищу данных с более или менее случайно распределенными
запросами (ad hoc queries).. Условия пари выглядели вполне определенно:
построить базу данных клиентов, поставщиков, заказов, комплектующих с учетом
времени и географии общим объемом порядка 1 Тб и затем ответить на типичный
бизнес-запрос: "Какую часть валового дохода прошлого года составили поставки
внутри страны, а какую - экспортные поставки?"
Нельзя сказать, что результаты, достигнутые Oracle, "лишили
сна" группу разработчиков Microsoft SQL Server: 71,5 секунды - достойный
показатель, но отнюдь не сенсационная новость. Скорее обратил на себя внимание
тот факт, что исполнительный директор Oracle Ларри Эллисон решил перевести
сугубо технические вопросы в область рекламной кампании. Дело в том, что
хотя предложенное Oracle пари, вначале кажется довольно очевидным, его
условия вряд ли можно назвать справедливыми.
"На первый взгляд вызов Oracle выглядит прямым и честным,
- говорит Дуглас Лиланд, менеджер группы SQL Server компании Microsoft.
- На деле же это игра краплеными картами. Чтобы понять причину, необходимо
разобраться в деталях создания баз данных и оценки их производительности
посредством показателей TPC-D. Как бы то ни было, вызов Oracle - очень
тонко продуманная уловка".
Все дело в новом инструменте, появившемся в некоторых
СУБД, под названием "материализованные представления" (materialized views),
который в конце концов позволил Oracle довести время выполнения тестов
TPC-D менее чем до одной секунды, - что является невероятным улучшением
стандартных результатов в 1000 секунд, достигнутых в апреле 1998 года.
Однако материализованные представления в корне меняют первоначальный смысл
этого теста, в результате чего вообще стало неясно, насколько в таком виде
тест TPC-D применим для оценки технологий управления базами данных. В результате
в феврале этого года объединенный совет TPC проголосовал за отмену TPC-D
в его текущем виде и за его разделение на два независимых теста.
Даже если отвлечься от материализованных представлений,
за кадром, по словам Лиланда, остался важнейший вопрос: роль показателя
TPC-D в оценке доступности технологий управления базами данных для бизнес-среды.
Представленные компанией Oracle значения TPC-D были достигнуты на платформе
стоимостью более 10 млн, что находится далеко за пределами возможностей
основной массы компаний, которые хотели бы использовать в своей работе
терабайтные хранилища и базы данных для поддержки принятия решений. По
мнению Лиланда, "вызов Oracle не имеет непосредственного отношения к нашим
клиентам. Он относится к показателям, достигнутым в идеализированной ситуации,
далекой от реальных условий; более того, для его достижения потребовалась
чрезвычайно дорогая платформа. Мы по-прежнему считаем, что наши клиенты
оценивают приобретаемое решение на основе более широких критериев, принимая
во внимание и такие факторы, как доступность технологии и отдача от инвестиций
в нее".
OLAP
Тем не менее, в этом месяце в рамках кампании "getting
Results" компания Microsoft, в ответ на вызов Oracle и постоянно подогреваемую
вокруг этого шумиху, пошла на то, чтобы обнародовать некоторые результаты
своих тестов. Microsoft сообщила о достижении для запроса N5 показателя
1,075 секунд, что заметно быстрее первоначальных показателей, фигурировавших
в предложенном Oracle пари, и практически не отличается от последнего достижения
Oracle - 0,7 секунды. Полученный Microsoft результат был достигнут системой
на базе Microsoft SQL Server 7.0 Enterprise Edition общей стоимостью менее
$600 тыс.
"Наше решение не только обеспечивает производительность,
аналогичную Oracle, но и стоит в шестнадцать раз меньше, - говорит Лиланд.
- Это показывает, что Microsoft предлагает мощные решения в области хранения
и обработки данных и поддержки принятия решений, стоимость владения которыми
соответствует реалиям нынешнего бизнеса. Это основа нашего подхода: мы
предлагаем решения, которые уменьшают издержки и максимизируют отдачу".
Решение Microsoft, разработанное совместно с компанией
Hewlett-Packard на базе аппаратной платформы Hewlett-Packard, основано
на технологии OLAP компании Microsoft. Будучи неотъемлемым компонентом
SQL Server 7.0, OLAP реализует чрезвычайно гибкий и мощный подход к задачам
доступа к данным, их просмотра и анализа.
Технология OLAP основана на многомерном подходе, который
организует данные в виде многомерного пространства переменных (в этом качестве
выступают время, географическое расположение, продукты, каналы сбыта и
т.п.) и количественных функций этих переменных (например, общий объем продаж,
объем продаж в расчете на единицу продукции, расходы и т.п.). Переменные
при таком подходе могут быть разделены на подмножества в соответствии со
спецификой задачи: например, данные, зависящие от времени, можно анализировать
по годам, кварталам, месяцам и дням.
Модель данных OLAP существенно упрощает формулирование
сложных запросов, фильтрацию и классификацию данных и позволяет легко изменять
степень детализации результатов. Она предлагает естественный, интуитивно
ясный метод навигации, упрощающий просмотр и понимание информации, находящейся
в хранилище, и позволяющий повысить эффективность анализа и отдачу от применения
технологий поддержки принятия решений.
Технология OLAP, преобразование данных и управление метаданными
- это лишь несколько примеров современных технологий, реализованных в SQL
Server 7.0 в качестве стандартных компонентов. Они являются важной составной
частью Microsoft Data Warehousing Framework - набора открытых интерфейсов
и спецификаций, которые позволяют независимым разработчикам программного
обеспечения разрабатывать тесно интегрированные решения для широкого спектра
актуальных задач, одновременно снижая затраты на приобретение, развертывание
и сопровождение крупномасштабных бизнес-систем.
Применимость показателя TPC-D
Разрабатывая решение в рамках ответа на вызов, компании
Microsoft и Hewlett-Packard учитывали, что Oracle подверг систему специальной
оптимизации под TPC-D, используя материализованные представления, что лишило
смысла применение этих тестов для оценки реальной производительности выполнения
запросов. Это, в свою очередь, привело к быстрому росту показателей производительности
по тестам TPC-D, что заставило Совет TPC задуматься об их существенной
переработке.
Материализованные представления - полезная технология
для некоторых типов запросов. Этот подход позволяет оптимизировать базу
данных так, чтобы заранее вычислять результаты некоторых запросов, сохранять
их и затем возвращать пользователю, добиваясь тем самым невероятной скорости
выполнения. В основе материализованных представлений лежит предварительное
агрегирование данных, к которым относится запрос. Тем самым основная часть
работы, обычно выполнявшаяся на стадии запроса, переносится в область разработки
базы данных и ее загрузки. Благодаря материализованным представлениям результат
запроса оказывается вычисленным заранее, что и приводит к практически мгновенному
результату. Существенный недостаток этого подхода - падение производительности
запросов, выполняющих обновление самих материализованных представлений:
в этом случае приходится обновлять как базу данных, так и представление.
Вот как смотрит на эту проблему Совет TPC, точка зрения
которого изложена в мартовском номере его периодического издания "TPC Benchmark
Status": "[Материализованные представления] весьма эффективны в ситуации,
когда опытный пользователь (например, администратор базы данных), хорошо
представляя себе и структуру запроса, и область его выполнения, может создать
промежуточные структуры данных - такие, как агрегированные столбцы, - и
тем самым оптимизировать базу данных для выполнения запросов этого типа.
Проблема же заключается в том, что тесты TPC-D были предложены для оценки
производительности по отношению к случайным запросам без наличия какой-либо
предварительной информации о них".
Чтобы разрешить возникшее противоречие между использованием
материализованных представлений и изначальным назначением тестов TPC-D,
Совет TPC предложил заменить TPC-D двумя новыми системами тестов - TPC-R
и TPC-H, первый из которых допускает тестирование системы, использующей
материализованные представления. Согласно TPC Benchmark Status, "новый
показатель TPC-H должен восстановить непредвзятость исходного показателя
TPC-D".
Вместо того, чтобы пытаться достичь результата по показателю,
значимость которого уже подвергнута сомнению, Microsoft и Hewlett-Packard
предпочли сосредоточиться на разработке решения, соответствующего условиям
реального бизнеса, включая требование максимальной отдачи. Кроме того,
это решение должно отвечать изначальному смыслу показателя TPC-D.
"Мы не видели смысла соревноваться с Oracle в той части
вызова, которая представляла собой не более чем маркетинговый ход, - говорит
Дуглас Лиланд. - Вместо этого мы решили рассматривать вызов как удачный
случай воспользоваться нашей технологией для создания системы, отвечающей
реальным нуждам наших клиентов: недорогой, масштабируемой, мощной и достаточно
гибкой для того, чтобы взять на себя решение широкого спектра бизнес-задач".
Объединенный проект Microsoft-HP был реализован с помощью
Microsoft SQL Server 7.0 Enterprise Edition, SQL Server OLAP Services и
четырехпроцессорной системы HP NetServer LXr8000 на базе 450-мегагерцовых
процессоров Pentium II Xeon с 4 Гб оперативной памяти. В системе было использовано
девять контроллеров дискового массива HP NetRAID-3Si, к которым было подключено
560 накопителей. Платформа с перечисленными выше характеристиками стоила
$512 899.
21 замер, выполненный на этой системе, дал результаты
в интервале от 0,062 секунды до 1,532 секунд; среднее значение составило
1,075 секунд. "Результаты нашего совместного теста доказывают возможность
создания, загрузки, индексирования и развертывания крупномасштабных баз
данных на основе существующих промышленных технологий при относительно
небольших затратах, - говорит Майкл Мэхон, заведующий лабораторией разработки
систем и программного обеспечения компании Hewlett-Packard. - Мы смогли
увеличить объем тестовых баз данных в десять раз без дополнительных расходов
и без затрат времени на разработку. Мы планируем не только продолжить совместные
усилия в этом направлении, но и довести результаты тестов до наших корпоративных
клиентов".
"Прежний подход утверждал, что только дорогие и сложные хранилища данных действительно способны приносить пользу, - добавляет Дуглас Лиланд. - Мы же весьма ясно продемонстрировали, что инновационная платформа Microsoft позволяет решать бизнес-задачи практически с той же производительностью, что и системы Oracle, но за малую долю их стоимости".