Все новости от 11 июля 2000 г. IBM поставила рекорд в испытаниях TPC-C
СУБД IBM DB2 Enterprise-Extended Edition 7.1 стала рекордсменом в испытаниях TPC-C организации Transaction Processing Performance Council (TPPC), представив убедительное свидетельство непревзойденной стабильности и масштабируемости DB2 7.1 на кластере без разделения ресурсов с большим числом серверов общего назначения. Благодаря внесенным в последнюю минуту изменениям в коде, IBM смогла выполнить правила, стоившие Microsoft отмены широко разрекламированных результатов испытаний SQL Server 2000. До постановления TPPC о том, что результаты испытаний SQL Server 2000 не соответствуют правилам TPC-C, SQL Server 2000 занимал две первые позиции в списке TPC-C.
По утвержденным результатам TPC-C, опубликованным 3 июля, СУБД DB2 EEE 7.1, установленная на кластере из 32 серверов IBM Netfinity с операционной системой Windows 2000 Advanced Server, продемонстрировала устойчивую работу с пропускной способностью в 440 879,95 транзакций в минуту при стоимости владения в течение пяти лет в 32,28 $ на транзакцию. Это чрезвычайно впечатляющие результаты. DB2 EEE 7.1 работает втрое быстрее ближайшего в списке TPC-C конкурента. В сентябре база данных Oracle8i 2.0, установленная на кластере серверов Sun Microsystems Enterprise 6500, показала результат 135 461,4 транзакций в минуту при стоимости 97,10 $ на транзакцию.
Новые результаты подтверждают тот очевидный факт, что наращивание корпоративной базы данных с использованием кластерных конфигураций без разделения ресурсов на базе оборудования общего назначения может привести к лучшим результатам при намного более низких расходах по сравнению с приобретением больших серверов с симметричной мультипроцессорной обработкой. Главное ограничение этого подхода заключается в том, что набор данных и запросы должны допускать распределение между серверами.
Как далеко можно зайти?
eWEEK Labs имеет эксклюзивные права на данную публикацию, и ее сотрудники присутствовали в лаборатории IBM Research в Triangle Park при выполнении последней серии испытаний. Мы взяли интервью у специалистов IBM, пытаясь выяснить, как им удалось собрать и настроить гигантскую тестовую установку. Свыше 7000 дисководов обеспечивали память объемом 116 Тбайт на 18 млрд записей крупнейшей транзакционной базы данных, с которой когда-либо приходилось иметь дело IBM. Вполне возможно, это самая крупная база данных в истории. Благодаря ее гигантским размерам, тест стал испытанием возможностей кода DB2, в ходе которого выявились некоторые трудно выявляемые проблемы. «Это был хороший опыт в том смысле, что мы нашли узкие места в коде системы регистрации, коде фиксации и в оптимизаторе. Это поможет нашим заказчикам, — сказал Джиллс Фекто (Gilles Fecteau), известный специалист IBM из Торонто, который 11 лет занимается параллельными технологиями баз данных. (Фекто отложил свой выход на пенсию на один день, чтобы оставаться в лаборатории до окончания испытаний.) — Мы не смогли бы провести эти испытания, если бы не внесли в код соответствующие изменения».
В отличие от SQL Server, DB2 обеспечивает единое представление СУБД для управления из одной точки — даже если база данных распределена между множеством серверов. Это значительно упрощает управление. Результаты теста TPC-C DB2 кажутся особенно значимыми, если учесть, что IBM много лет проводила испытания TPC-C только для DB2 на платформе AS/400. Это вызывало у наблюдателей подозрение по поводу соответствия требованиям этих испытаний последних версий DB2 на платформах, отличных от AS/400. «Мы говорили заказчикам, что можем выполнять обработку онлайновых транзакций, но они требовали доказать это. Теперь доказательство налицо», — говорит Фекто.
Неожиданное препятствие
Однако в последний момент испытания оказались под угрозой срыва. Их чуть было не отменили в связи с недавно принятыми TPPC новыми правилами, которые значительно усложняют достижение высоких результатов на тестах TPC-C кластерными системами без разделения ресурсов. Всего за три недели до окончания испытаний в IBM узнали, что первое и второе места Microsoft опротестованы и компания может быть дисквалифицирована — таким образом, результаты IBM могли быть признаны недействительными еще до их публикации. 30 июня оба результата Microsoft в самом деле были аннулированы на основании пункта 1.6.3 спецификации TPC-C, который требует, чтобы в базе данных TPC-C «любым набором строк или колонок» можно было манипулировать с применением «общеупотребительных механизмов».
Распределенная технология, применяемая SQL Server 2000 в тестах Microsoft, не позволяла обновлять данные в колонках, используемых для расчленения базы данных (так называемые разделяемые ключи). (Впоследствии Microsoft ввела такую возможность в свой продукт, который еще не поступил в продажу.) Хотя тест TPC-C не выполняет эту операцию — что в феврале позволило SQL Server успешно пройти его, ценой нового правила для Microsoft стала отмена рекордных результатов.
IBM тоже грозила дисквалификация, так как в начале испытаний и DB2 7.1 не выполняла этого требования. Однако IBM планировала ввести возможность обновления разделяемых ключей в DB2 8 — уже был разработан соответствующий код. Это позволило IBM удовлетворить требования TPC-C, перейдя — в течение 24 часов, пока шли слушания по поводу возможного прекращения испытаний, — к версии с разделяемыми ключами. В коммерческой версии DB2 обновляемые разделяемые ключи появятся в декабре, когда IBM выпустит первый апдейт DB2 7.1.
За удовольствие надо платить
Как и всем участникам крупных испытаний TPC-C, IBM потребовалась очень дорогая конфигурация аппаратуры: общая стоимость владения испытательной установки за пять лет (показатели TPC-C включают стоимость контрактов на техническое обслуживание) составила 14,2 млн $, что делает этот тест вторым по дороговизне за всю историю TPC. Но ввиду высокой пропускной способности, продемонстрированной DB2 7.1 на этом оборудовании, результаты ставят его на последние места по соотношению цена/производительность, что свидетельствует об экономической эффективности используемых IBM серверов средней ценовой группы.
Тест TPC-C отличается особой интенсивностью операций ввода/вывода, и большая часть стоимости — около 7 млн $ — приходится на дисководы. Следующая статья расходов — 3 млн $ — относится собственно к ПО DB2. Общая стоимость 32 четырехпроцессорных серверов Netfinity 8500R на процессорах Pentium III Xeon 700 МГц и с 4 Гбайт памяти составила 2,5 млн $. Остальные расходы пришлись на лицензии на операционную систему, клиентское и сетевое оборудование.
Удобен для конфигурации без разделения ресурсов
Тест TPC-C очень просто поддается распределению и хорошо подходит для используемой IBM конфигурации без разделения ресурсов. Мы спросили у создателя теста TPC-C и аудитора испытаний Франко Рааба (Francois Raab), не нарушают ли выбранные Microsoft и IBM конфигурации условия теста. «Я бы даже сказал, что они входят в TPC-C, как в перчатки, — ответил он. — Большинство задач не так хорошо масштабируются на кластере, как TPC-C. Это не нарушает условий теста и не опровергает его результатов. Это означает лишь, что их нужно интерпретировать соответствующим образом».
Рааб предложил свою интерпретацию использования компанией IBM кластера без разделения ресурсов: «Это означает, что системы такого размера не просто маркетинговая фантазия, что кластеры можно наращивать почти до Луны (единственным ограничением будет стоимость), что из обычных компьютеров можно строить гигантские системы, что крупные кластерные конфигурации из компьютеров общего назначения чрезвычайно надежны (в составе TPC-C они проходят обязательные тесты ACID), что в борьбе за производительность IBM не намерена уступать ни пяди… По-моему, главная новость, которую принесли эти испытания, — стабильность. Они продемонстрировали, что кластеры такого размера стабильны и готовы к производственной эксплуатации. Что касается производительности, то ее нужно воспринимать с достаточной мерой скептицизма. В TPC-C кластеры хорошо масштабируются потому, что уровень межузловых транзакций (менее 12%) намного ниже, чем в большинстве производственных приложений. Тем не менее в случае IBM это означает, что между узлами выполняется почти 50 тыс. транзакций в минуту. Это не так уж мало!».
IBM, со своей стороны, готова принять любой вызов. «Я думаю, что нашу архитектуру и усилия, которые мы вложили в это мероприятие, нельзя назвать скромными, — говорит Фекто из IBM. — Если кто-то возьмется достичь того же результата, увеличив количество машин, что ж, пусть попробует». В продолжение темы:
|
|
| andy - andreypronetscape.net 12 Jul 2000 9:48 AM |
Наконец поставщик СУБД официально заявил, что для TPC-C тестов специально оптимизируется исходный код сервера и что сам тест имеет мало общего с реальными задачами. Тогда чего стоят эти цифры, что они показывают?
|
|
| MainFramer 12 Jul 2000 11:35 AM |
andy: Того же, что и любые цифры, полученные в результате тестов. Ничего не могу сказать о DB2 на писюках, однако превосходным результатам тестов на AS/400 и S/390 верить можно. |
|
| AM 12 Jul 2000 12:22 PM |
andy: Насколько я понял статью, код модифицировался не под конкретный тест, а для удовлетворения ограничениям, накладываемых авторами теста. А то что за сутки IBM сумела вставить код из более старшей версии в младшую, все откомпилять да еще и не сглючить при этом, показывает проработанность структуры программы и силу программистов. |
|
| Dmitry Grigorovich - odipbiogate.com 12 Jul 2000 12:46 PM |
А почему за сутки ? Сообщение о том, что результаты тестов Microsoft были аннулированы было где-то неделю назад.
|
|
| ich - ichlta.lviv.ua 12 Jul 2000 6:58 PM |
Хм ... Я вот подумал а не перейти ли на DB2? Никто не знает пиратские версии легко достать? Нет я понимаю что так БД не делают! Но никто же не заставляет покупать все, нечто можно и пиратское а сервис от IBM достанется за купленное ;) Так никто пиратской DB2 не видел? |
|
| Diman - dimanncom.ru 13 Jul 2000 1:04 AM |
Да только то и показывают, что эта СУБД способна дробить числа с указанной скоростью. А если у тебя есть (конечно же !) задача из реальной жизни, то получается примерно в десять раз скорость меньше. К тому же, любая оптимизация преследует цели - на то она и оптимизация. Определенно количество целей ограниченное, т.е. перечислимое. Так вот их перечисление частично есть TPC тесты. К тому же если бы не они, то как можно было бы сравнивать производительность СУБД ?! Может DB2 вещь и хорошая, но первая любовь незабываема. У меня она (среди софта конечно :)) ) к Oracle. В реальных задачах запросы SELECT будут существенно посложнее, чем в TPC. Я знаю как работает с ними Oracle - просто потрясно ! Но теперь вижу - прогрессируют все. Что же, долгой жизни тебе DB2 ! |
|
| Diman - dimanncom.ru 13 Jul 2000 1:08 AM |
Пардон, но я отвечал на первую публикацию ... (не обратил внимание на подярок сортировки) |
|
| VaS - stvasyakrintel.ru 13 Jul 2000 7:28 AM |
DB2 всегда была лидером. И в скорости, и в возможностях. Oracle появился позже и всегда догонял ее. Вот и все. |
|
| Andy - andreypronetscape.net 13 Jul 2000 6:01 PM |
To AM, Diman, MainFramer: Весь цикл подготовки TPC теста занимает примерно год. Сначала тестировщики вместе с разработчиками определяют критические секции именно для данного TPC теста и затем именно под данный тест происходит модификация C-кода сервера. Дальше выпускается релиз сервера номер такой-то. И еще несколько месяцев тестировщики настраивают сервер, ОС, железо. Так происходит везде в IBM, Informix, Microsoft, Oracle. Нет разницы что за железо: Intel, RISC, Mainframe. Резюме. Если хочешь выбрать СУБД для конкретной задачи, бери разные СУБД и смотри, кто как себя ведет. |
|
| Victor Metelitsa 14 Jul 2000 9:19 AM |
Бесплатная DB2 (personal developer edition): http://www.software.ibm.com/data/db2
|
|
| Sergey Afonin 15 Jul 2000 9:51 AM |
Интересно, а более подробные цифры по тесту Oracle (количество процессоров, скорость) что же не указали ?... |
|
| Nikolay A. Kulikov - nicksoft-pro.ru 17 Jul 2000 10:54 AM |
2Sergey Afonin: www.tpc.org P.S. А в матушке Рассее Oracle еще долго будет лидировать. Так как у Oracle здесь 20 человек консультантов разъезжают,а у IBM сожалению по DB2 UDB максимум 5 |
|
|