Иногда в конкурентной борьбе проявляется истинное величие. Оценить такие моменты в полной мере способен, как правило, лишь знаток, но когда они остаются в прошлом, мы об этом сильно сожалеем.

Именно такая ситуация наблюдается сейчас в сражении гигантов мира СУБД. Начиная с 1980-х годов, IBM и Oracle регулярно пытались потеснить друг друга на рынке реляционных баз данных. Microsoft, включившаяся в борьбу почти на десять лет позже, выступает здесь в качестве юниора, к тому же ориентируется лишь на одну платформу. Да, она уверенно набирает вес, демонстрируя очевидные успехи. Однако IBM и Oracle конкурируют на всех основных платформах и находятся в пике спортивной формы.

В этой статье мы проанализируем продукты DB2 Universal Database (UDB) v.7.2 корпорации IBM (http://www-4.ibm.com/software/data/db2/udb) и Oracle9i производства Oracle (http://www.oracle.com/ip/index.html) — стратегические платформы для критически важных бизнес-приложений, а также рассмотрим некоторые параметры Microsoft SQL Server 2000 (http://www.microsoft.com/sql/default.asp). Сейчас мы остановимся на решениях указанных производителей в области средств бизнес-аналитики (business intelligence, BI), а в дальнейших публикациях рассмотрим инструментарий для электронного бизнеса.

Принципы и фундаментальные различия

С общей точки зрения предложения IBM и Oracle очень похожи. Новейшие усовершенствования — как в DB2 UDB v.7.2, так и в Oracle9i — касаются трех основных областей: управления данными, BI и электронного бизнеса. Обе системы претендуют на роль центра вашей вселенной корпоративных данных, разница — в деталях реализации. Oracle требует, чтобы в ее СУБД располагались все корпоративные данные, в том числе и файлы, не относящиеся к базам данных и, как правило, базирующиеся на созданной Oracle файловой системе Internet File System. IBM ставит перед собой такую же общую цель, но ее подход основан на интегрированной, но разнородной архитектуре, в которой возможен доступ к гетерогенным источникам данных.

Весьма интересно сравнивать эти системы с точки зрения затрат. Существует по крайней мере два весьма субъективных и противоречащих друг другу отчета, посвященных оценке совокупной стоимости владения (Total Cost of Ownership, TCO). В каждом из отчетов утверждается, что один из продуктов существенно превосходит другой по критерию TCO* (причем речь идет о разных продуктах). Интересно, что в середине июня Oracle решила снизить цену на свою базу данных (цена тем не менее остается выше, чем у IBM). По-видимому, Oracle показалось, что у заказчиков складывается неверное впечатление о TCO. Совокупная стоимость владения — сложный показатель, и чтобы его оценить, нужно обладать очень точными и подробными сведениями об ИТ- и бизнес-требованиях конкретной организации.


* 1. Buyers Guide to Database Servers Based on Cost of Ownership and Effectiveness, by Analyst Firm Input; http://www.input.com/buyers_guide/yntco/yntco_main.cfm.

2. DB2 UDB vs. Oracle8i: Total Cost of Ownership. D.H. Brown and Associates: http://www-4.ibm.com/software/data/oracledb2.pdf.

Совместимость архитектур систем

Многие ошибочно полагают, что технологии баз данных давным-давно превратились в стандартный потребительский товар. Тот, кто утверждает, что в этой области ничего нового не происходит, не вполне понимает революционные достижения последних лет. Между тем с 1995 года произошел переход от объектно-ориентированных СУБД, оптимизаторов и блокировки на уровне строк к реализации в базах данных объектно-ориентированных функций, обеспечению доступа к большей части корпоративных данных, технологиям Java, ETL (extract, transform and load — «извлечение, преобразование и загрузка») и интерактивной аналитической обработке (Online Analytic Processing, OLAP). Новые СУБД сложны и требуют солидной специальной подготовки.

Предлагаемые Oracle и IBM продукты чрезвычайно обширны и всеохватны. Невозможно правильно выбрать СУБД, основываясь лишь на перечне функций или технических параметров типа схемы разбиения на разделы, — обе СУБД прекрасно справляются с большинством задач.

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

По существу самый важный параметр, который приходится учитывать при покупке, — это влияние СУБД на общую системную архитектуру. Необходимо подумать о совместимости разнообразных подсистем, таких, как Web-серверы, серверы приложений, промежуточное ПО поддержки обмена сообщениями (Message-Oriented Middleware, MOM), наборы корпоративных приложений и инструментальных средств. Анализ совместимости иногда позволяет быстро и однозначно определиться с выбором базы данных.

Не стоит беспокоиться по поводу совместимости с операционной системой, обе корпорации сегодня поддерживают ведущие UNIX-платформы, мэйнфреймы IBM OS/390, а также Windows 95/98/NT/2000.

Экскурс в BI

BI-средства в базах данных делятся на семь категорий: средства управления информационными хранилищами, средства оптимизации производительности, OLAP-инструменты, средства доступа к внешним данным, инструментарий ETL, инструменты извлечения данных (Data Mining) и средства сопряжения между объектно-ориентированными языками и реляционной БД (Object/Relational, O/R).

Управление информационным хранилищем. И Oracle, и IBM подчеркивают наличие в своих системах функций управления информационными хранилищами, критически важных для столь сложных продуктов.

Подсистема DB2 Warehouse Manager and Query Patroller управляет запросами, анализирует затраты и следит за использованием ресурсов. Другой модуль DB2, Data Warehouse Center, объединяет набор инструментальных средств, обеспечивающих ETL, контроль качества и очистку данных с помощью технологий компании Trillium Software, а также средство моделирования схем, позволяющее передавать метаданные в OLAP-подсистему. Оно управляет авторизацией и отображает в графическом виде процессы и потоки данных. Метаданные предоставляются средствами диспетчера Information Catalog Manager, который в числе прочего способен отображать исходные и преобразованные данные, а также выдавать подробные сведения о преобразовании данных.

В версии Oracle 9i существенно улучшены процедуры управления информационными хранилищами. Диспетчер Data Resource Manager обеспечивает активное управление рабочей нагрузкой. В частности, вы можете создавать группы пользователей и ограничивать выделяемую им долю процессорных мощностей, степень параллелизма, число одновременно выполняемых запросов и время работы. Память и параллельные процессы выделяются динамически в соответствии с поступающими запросами и доступными ресурсами. Упрощение процесса сбора статистики позволило обойтись без средств управления сегментами отката, которые прежде представляли собой настоящий кошмар для администраторов информационного хранилища. Интегрированное администрирование выполняется с помощью диспетчера Oracle Enterprise Manager (OEM).

Производительность. На протяжении десяти с лишним лет DB2 являлась лидером в области оптимальности производительности. В версии 7 своей СУБД Oracle представила оптимизатор, основанный на подсчете вычислительных затрат, а в версии 9i он был существенно улучшен и теперь при оценке учитывает не только операции ввода/вывода, но также процессорные ресурсы и память.

В обеих СУБД реализованы развитые механизмы разбиения данных на разделы для повышения производительности путем распараллеливания запросов. Расширенная корпоративная версия DB2 UDB Extended Enterprise Edition (EEE) обеспечивает масштабирование вплоть до очень больших баз данных (Very Large Database, VLDB) благодаря архитектуре «shared-nothing» (то есть с отсутствием общих, разделяемых ресурсов). Традиционно сервер Oracle Parallel Server (OPS), основанный на использовании разделяемого дискового ресурса, по степени масштабируемости уступал EEE. Этот сервер присутствует и в версии Oracle 9i, теперь он называется Real Application Clusters (RAC) и отличается улучшенной масштабируемостью, производительностью и управляемостью. Кроме того, RAC поддерживает доступ к неоднородной памяти (NUMA) и серверным кластерам. Эти изменения призваны повысить популярность продуктов Oracle, аналогичных UDB EEE, — конкурентная борьба становится все более интересной.

Доходы от продажи лицензий на СУБД в 2000 году составили 8,8 млрд долл., что на 10% больше, чем в 1999 году. На трех ведущих поставщиков (Oracle, IBM и Microsoft) приходится 79% этой суммы, а первое место принадлежит Oracle.

Источник: компания Dataquest, май 2001

OLAP. Обе СУБД поддерживают функции OLAP, встроенные непосредственно в ядро базы данных. Обе позволяют применять аналитические процедуры с реляционными данными (Relational OLAP, ROLAP), используя звездообразные объединения (star joins) и аналитические функции (кубы, свертка, группировка и ранжирование). Поддерживаются и более сложные операции, например вычисление скользящих средних и сумм.

В DB2 имеется модуль Data Warehouse Center, оснащенный средствами моделирования схем, способными передавать метаданные в интегрированный набор OLAP-средств и модуль Star Schema Builder. Кроме того, корпорация IBM давно поддерживает партнерские отношения с корпорацией Hyperion Solutions, продукт которой, Essbase, используется в DB2 в качестве сервера многомерного OLAP (multidimensional OLAP, MOLAP).

В Oracle метаданные размещаются в каталоге OLAP, который описывает многомерную модель и управляется средствами OEM. В такой архитектуре существуют два интегрированных источника данных, управляемых посредством интегрированного каталога: РСУБД и рабочая среда Analytic (ранее называвшаяся Oracle Express). Последняя представляет собой базу данных MOLAP для прогнозирующих аналитических функций. Разрабатывать приложения можно либо с помощью основанного на Java API-интерфейса, либо используя компоненты BI Beans. Для разработки BI Beans можно применять JDeveloper, а для их развертывания — Oracle9iAS. Основанный на Java API-интерфейс предоставляет низкоуровневый доступ к серверу OLAP и, вероятнее всего, будет применяться сторонними поставщиками для создания специальных Java-приложений и апплетов. BI Beans представляют собой API более высокого уровня, включающий такие компоненты, как перекрестные таблицы и диаграммы, которые используются большинством внутрикорпоративных разработчиков. Оба вида компонентов поставляются в версии 9.0.1.

На протяжении многих лет система Essbase считалась лучшей в своем классе; подход Oracle в большей мере ориентирован на фирменные технологии корпорации. В этой области корпорация Oracle выступает в роли догоняющей. Essbase долго позиционировался как самостоятельный, не зависящий от базовой РСУБД сервер OLAP, в то же время довольно сложно представить себе компанию, использующую Express в среде, где Oracle не является основной РСУБД.

Доступ к внешним данным. Перечень поддерживаемых источников у обеих систем впечатляет. Оба комплекта ПО поддерживают данные о переходах между Web-страницами (clickstream), репликацию данных и MQSeries, хотя у Oracle есть собственное средство управления очередями, Advanced Queuing.

Oracle обращается к «плоским» файлам вне базы данных как к «внешним таблицам», которые доступны только для чтения и могут использоваться для преобразований. В продукте IBM доступ к файлам мультимедиа реализован посредством модуля Data Links, что дает серверу базы данных полный контроль над файлами и позволяет выполнять их синхронную репликацию.

В DB2 возможны распределенные запросы к серверам Microsoft SQL Server, Sybase Adaptive Server и Oracle с помощью встроенных в базу данных средств DB2 RelationalConnect (раздел DataJoiner). Распределенный доступ на уровне запросов теперь доступен непосредственно из SQL-процедур. Обмен метаданными с такими системами IBM, как Data Warehouse Center и Information Catalog Manager, обеспечивается через XML-объекты Common Warehouse Metamodel и систему ERwin. В Oracle для этой цели применяются шлюзы доступа к внешним данным, теперь также реализована возможность распределенных запросов.

И IBM, и Oracle активно играют на руку разработчикам Microsoft. Обе базы данных поддерживают технологию Object Linking and Embedding (OLE) DB. Кроме того, СУБД Oracle9i поддерживает доступ к Microsoft Transaction Services и Internet Information Service (IIS). А самая большая неожиданность заключается в том, что в DB2 теперь можно работать с хранимыми процедурами на Visual Basic.

Для доступа к таким источникам данных, как приложения i2 TradeMatrix BPI или SAP R/3, могут применяться «соединители» DB2 UDB Data Warehouse Manager Connectors. Подключение выполняется простым перетаскиванием объектов SAP в окно среды моделирования процессов. DB2 UDB также превосходит конкурента в возможностях доступа к гетерогенным источникам данных. Для доступа к другим интегрированным в общую среду СУБД здесь применяются упаковщики (wrappers), для обращения к MQSeries с инструкциями — SQL-функции. Эти функции позволяют объединять и анализировать разнородные данные, обеспечивая видимость почти однородной среды.

ETL. Реализация ETL-операций в самой СУБД является огромным шагом вперед, в том числе и в нашем представлении о базах данных. Эти процессы представляют собой наиболее сложную часть BI, так как в них зачастую требуется выполнять объединение несовместимых данных, источником которых являются несопоставимые модели. Разработчики обычно предпочитают фокусироваться на более наглядных и продуктивных звездообразных схемах, упуская из виду и недооценивая архитектуру и процессы ETL. Действительно, выполнение ETL и объединения данных разных систем иногда похоже на складывание головоломки-мозаики из двух абсолютно несовместимых наборов кусочков. В DB2 UDB встроено средство Visual Warehouse, предусматривающее более 100 различных видов сложных операций для очистки и преобразования данных.

ETL-функциональность в Oracle — это, скорее, набор функций, а не единый инструментарий. В числе этих функций — унаследованный от Carleton модуль Warehouse Builder, обеспечивающий конструирование ETL-процессов и управление ими, а также механизм преобразования для сквозной ETL-обработки. Имеются и другие, вспомогательные функции, например, средство многотабличной вставки, новая инструкция Merge для вставки и обновления за один проход, а также возможность доступа к внешним таблицам и табличным функциям, которые принимают и возвращают наборы строк. Функция «захвата» изменившихся данных Change Data Capture позволяет обрабатывать изменения данных в БД Oracle без обращения ко всему набору исходных строк.

Извлечение данных. Это критически важный компонент BI, который помогает обнаруживать структуры (patterns) в данных и прогнозировать поведение объектов. Этот компонент встроен в обе СУБД. Имеющееся в UDB средство извлечения текстовых данных Intelligent Miner for Text поддерживает выполнение оценок для развертывания инструментария извлечения данных. Оно реализовано как средство расширения. Для представления аналитических моделей используется язык разметки прогнозирующих моделей PMML (Predictive Model Markup Language), а доступ к логике модели обеспечивается через стандартный интерфейс SQL API. Процесс оценки можно создать как SQL-представление и использовать его при работе в БД Oracle.

С помощью комплекта Oracle9i Data Mining Suite и алгоритмов data mining, унаследованных от компании Darwin, можно исследовать деятельность клиентов, профилировать их, моделировать отклик и изменения доходности. Имеются также алгоритмы Transactional Naive Bayes для контролируемого обучения с целью определить ожидаемые значения или классы, а также прогнозирующие ассоциативные правила для неконтролируемого обучения и обнаружения кластеров и взаимозависимостей в данных. Для прогнозирования результатов можно использовать оценки, а алгоритмы «просеивания» данных встроены в API-интерфейс на основе Java.

Подсистема 9i Personalization применяется для динамического предоставления рекомендаций конечным пользователям на базе результатов извлечения данных. Например, клиентам, повторно посещающим Web-страницу, можно предлагать товары, выбор которых основан на «просеивании» данных о предыдущих посещениях сайта.

O/R и управление содержанием. И у UDB, и у Oracle перечень O/R-функций обширен. В обеих системах реализованы фирменные алгоритмы индексации, которые можно достраивать в соответствии с задачами BI. В продукт IBM включены средства расширения (Extenders) для работы с пространственной или текстовой информацией, а также соединитель Life Sciences для подключения к источникам данных, относящимся к биотехнологиям. В Oracle для доступа к обычным данным имеются похожие на Extenders «картриджи» Data Cartridges, а для работы с мультимедиа (в том числе с изображениями, звуком и видео) служит модуль Oracle InterMedia.

Различия

Обе компании предусмотрели в своих СУБД основные средства бизнес-аналитики (BI). IBM предпочитает объединять лучшие в своих классах специализированные продукты (пример — интеграция Essbase и ERwin). Oracle, хотя и поддерживает открытые стандарты, однако стремится в своих решениях размещать все виды данных в СУБД Oracle, а для работы с ними заказчикам рекомендуется применять инструментальные средства Oracle (такие, как JDeveloper и Oracle9iAS).

Говоря о DB2 UDB, нельзя не упомянуть поглощения корпорацией IBM компании Informix. На момент написания этих строк официальная позиция IBM заключается в продолжении поддержки продуктов Informix (в частности, Red Brick Decision Server) в обозримом будущем. Вполне вероятно, что так и будет, хотя трудно оценить, сколько продлится эта поддержка и что будет дальше.

Обе базы данных оборудованы обширным набором BI-средств. Однако следует с осторожностью отнестись к новейшим возможностям Oracle9i — может выйти несколько обновлений версии, прежде чем завершится отладка новшеств. Что касается IBM, то некоторые функции UDB доступны лишь на ограниченном числе платформ. Например, с Visual Basic можно работать лишь в версии UDB для Windows. Следует также учесть, что далеко не все перечисленные функции прилагаются к соответствующим базам данных бесплатно.

Ваша задача заключается в подсчете реальной совокупной стоимости владения в вашей организации. Не забудьте учесть все дополнительные лицензионные платежи, зарплату персоналу и оплату услуг консультантов. Затем следует определить, как каждая из баз данных вписывается в общую архитектуру компании. Например, организации, активно использующей приложения Oracle, РСУБД Oracle для доступа к OLTP и сервер приложений Oracle Application Server, целесообразно использовать и BI-решения корпорации Oracle. А вот компании, не успевшей вложить в технологии Oracle крупные средства, но использующей WebSphere, AIX, MQSeries, CORBA и набор разнообразных баз и источников данных в качестве РСУБД для OLTP, можно порекомендовать UDB. Естественно, что большинство компаний находится в этой классификации где-то посередине, тем не менее решающими факторами выступают совокупная стоимость владения и архитектурная совместимость.

Тим Куинлан — консультант в области баз данных. Живет и работает в Торонто. Обладает 20-летним опытом проектирования и реализации баз данных OLTP и информационных хранилищ. С ним можно связаться по e-mail: tquinlan@tlqconsulting.com.

Автор благодарит за помощь Билла Вонга (IBM), Грэга Мартелла (Oracle), Джона Энга (Microsoft) и Гранта Золкавича (North Technology Partners).

Взлет Microsoft SQL Server

Схема объединения программ в «бандлы», вероятно, принесла Microsoft много неприятных минут в прошлом, но сегодня она создала базу для резкого взлета СУБД этой компании. В результате конкуренты вынуждены применять такие же методы.

Начиная с версии 7, Microsoft стала включать в Microsoft SQL Server в качестве стандартных компонентов многие BI-средства — OLAP (в том числе ROLAP, MOLAP и HOLAP), инструментарий извлечения данных Analysis Services, ETL-решение Data Transformation Services, а также модуль запросов на английском языке, совместно используемые метаданные и удобные средства управления информационными хранилищами. IBM и Oracle не стали рассматривать это объединение как попытку недобросовестной конкуренции, а предпочли перенять у Microsoft ее тактику.

Достигнутое Microsoft лидерство в интеграции, схеме ценообразования и удобстве использования продукта ставят IBM и Oracle в положение догоняющих.

По словам Джона Энга, ведущего менеджера Microsoft, ответственного за BI-средства сервера Microsoft SQL Server, стратегия Microsoft направлена на "упрощение" технологии информационных хранилищ. Таким образом, подход компании состоит в создании своими силами полноценной платформы, которая характеризуется быстротой продвижения на рынке, удобством в использовании и легкостью развертывания.

Самостоятельное создание ПО отличает Microsoft от других компаний, которые интегрировали в свои базы данных приобретенные технологии. Другая отличительная черта сервера Microsoft SQL Server — его ориентированность на фирменные технологии Microsoft, такие, как COM, .NET и ActiveX Data Objects. Oracle и IBM больше ориентируются на открытые технологии, в частности CORBA и Java.

В будущем следует ожидать, что разработчики станут все больше внимания уделять простоте программирования БД и облегчению доступа к прикладным функциям. Кроме того, Microsoft будет стремиться к увеличению своей доли на рынке терабайтных БД. Соревнование будет захватывающим, ведь Microsoft успешно доказала, что ее база данных является комплексной и простой в работе. Однако она должна доказать скептикам, что масштабируемость и доступность сервера Microsoft SQL Server и Windows существенно выросли и сравнялись по этим показателям с платформами UNIX и мэйнфреймами.

Продолжение следует