Informix Logo



Данный документ дошел до современности из глубокой древности (1996). Естественно, что значительная часть положений этого "анализа" на текуший момент являются неверными полностью или частично. Собственно, этот текст находится на этом сервере скорее как исторический экспонат маркетинговой борьбы. Официальные лица компания Informix не имеею никакого отношения к размещению данного материала на нашем сервере. Материал опубликован "по просьбам трудящихся", которые ищут хоть какие-нибудь сравнительные материалы по СУБД для запугивания потенциальных заказчиков.


Сравнительный анализ Informix и Oracle

Фирмы Informix Software и Oracle Corporation являются конкурентами в области СУБД. Обе фирмы работают в одном секторе рынка и по своим ценовым и функциональным параметрам относятся к одному и тому же классу. Поэтому говорить о полном превосходстве продуктов одной фирмы над продуктами другой фирмы неправильно. Безусловно, у каждой фирмы и каждого отдельного продукта есть свои преимущества и свои недостатки. Политика и продукты фирмы Informix Software, тем не менее, имеют ряд достоинств, возможностей, которые или совсем не представлены в продукции фирмы Oracle, или, на наш взгляд, представлены недостаточно. Ниже будет рассмотрены некоторые критерии, по которым будет дан сравнительный анализ. План рассмотрения:

  • Производительность
  • Архитектура
  • Ресурсоемкость
  • Простота инсталляции и сопровождения
  • Удобства архивации
  • Удобство разработки приложений
  • Объектно-ориентированность
  • Функциональность
  • Политика фирм по работе с партнерами
  • Политика фирмы в области продуктов
  • Механизм ценообразования
  • Сильные стороны продукции Oracle
  • Сильные стороны продукции Informix для рынка exСССР

Производительность

Oracle любит TPC-A и -B тесты, от которых отказались другие производители и сам Комитет TPCC. Если смотреть на TPC-C тесты (эти тесты сейчас считаются одними из самых объективных), то Informix OnLine 7.1 и Oracle 7.3 показывают примерно одинаковые результаты и имеют примерно одинаковую стоимость за одну транзакцию.   Надо отметить, что до появления версии Oracle 7.3 фирма Oracle вообще не публиковала результаты по TPC-C тестам и только после появления версии Oracle 7.3 начала это делать (первые публикации результатов тестирования Oracle 7.3 приходятся на осень 1995 года, то есть еще до начала продаж; более того, реально купить Oracle 7.3 нельзя и сейчас, а Informix 7.1 - текущая продаваемая версия). Версия Informix OnLine 7.1 существует уже около полутора лет и, таким образом, сравниваются версии, выпущенные с интервалом в год. В версии Informix OnLine 7.2, в частности, улучшена работа оптимизатора запросов и эта версия обеспечивает лучшую, по сравнению с Informix OnLine 7.1, производительность. Публикация результатов TPC-C тестов сервера Informix OnLine DS 7.2 может упрочить позиции фирмы Informix по данному критерию.

Архитектура сервера 

В начале 90-х годов наметилась тенденция к увеличению числа процессоров на серверах. Если ранее основной парк серверов составляли однопроцессорные машины (хотя и весьма мощные), то к настоящему времени доля компьютеров с симметричной многопроцессорной архитектурой от общего числа компьютеров, используемых в качестве серверов велика и постоянно растет. Учтя эту тенденцию, фирма Informix полностью переписала ядро своего сервера (работы начались в 1991-м году, первая версия для продажи появилась в конце 1993-го года). Новая архитектура сервера Informix OnLine называется "динамическая и масштабируемая" (DSA - Dynamical Scalable Architecture). Эта архитектура основана на распараллеливании и конвейеризации запроса пользователя (запрос пользователя может исполняться на нескольких процессорах одновременно). Данная архитектура дает выигрыш и для однопроцессорных машин, так как более полно используются все ресурсы машины.

Фирма Oracle поступила немного по другому. Она оставила свое старое ядро, но сделала надстройку, которая распараллеливала запросы и обращалась к ядру. Реально эта надстройка оформлена в виде отдельного продукта. Политика "надстроек" это обычная политика фирмы Oracle в области модернизации своих серверов. Недостатками такой политики являются усложнение сопровождения и увеличение требований к ресурсам (см. ниже пункты Ресурсоемкость и Простота инсталляции и сопровождения). Скорее всего, в какой-то момент фирма Oracle будет вынуждена переписать ядро своего сервера, что потребует больших вложений и немалого времени. Informix уже сделал это.

Если говорить о деталях, а именно, что есть внутри сервера Informix и чего нет в Oracle, и что действительно полезно для конечного пользователя, то надо выделить следующие возможности сервера Informix OnLine DS, которых нет у сервера Oracle:

  • Внутренний параллелизм
  • Реально многонитиевая архитектура
  • Параллельный просмотр индексов
  • Управляемое разнесение таблиц по разным дискам
  • Позможность работать с информацией внутри одной таблицы при частичной порче носителя
  • Репликация на уровне журналов
  • Встроенные средства архивации
  • Встроенные средства сетевого взаимодействия

Ресурсоемкость

Informix требует 35 КБт ОЗУ на клиента (хотя рекомендует 250 КБт), Oracle 7.1 работоспособен начиная с 500 Кбт на клиента. Для жесткого диска имеем примерно такое же соответствие.- Informix OnLine DS - 40 Мбт, а Oracle 7.1 - 250 Мбт. Несмотря на то, что стоимость аппаратного обеспечения постоянно падает и, казалось бы, это не очень существенно, такие разные требования означают, что

  • на одной и той же аппаратуре можно обеспечить доступ к информации для разного числа пользователей;
  • можно снизить стоимость аппаратуры для решения одной и той же задачи;
  • для каждого пользователя можно выделять ресурсы с "запасом", что позволяет повысить скорость обработки сложных запросов, ввести дополнительное дублирование информации и т.д.

Простота инсталляции и сопровождения

Сервер Informix OnLine DS прост в установке и сопровождении. Oracle 7 требует специального адинистратора. Informix имеет около 50 параметров для настройки. Сервер Oracle 7.1 без всяких расширений (то есть при меньшей функциональности) - около 200. Другими словами, Informix однозначно проще при инсталляции и сопровождении. В качестве иллюстрации можно привести цитату из журнала "ORACLE Information Bulletin for SCO UNIX" за март 1995 (перевод дается по журналу "Мир Oracle N 2(40) февраль 1996, стр 42):

 Перед инсталляцией SQL*Net SPX следует исправить модули $ORACLE_HOME/spx/spx.mk (в строках 207 и 210 удалить по 8 пробелов перед символом @) и $ORACLE_HOME/bin/genosntab (в строке 162 заменить слово osntlispx на osntspxga);......
 Перед инсталляцией Oracle 7 c CD-ROM необходимо инсталлировать заплату SCO SLS UOD374; ....

 Если спросить у любого, кто хоть раз ставил и обслуживал Informix, нужно ли что-то подобное делать и там, то ответ будет однозначен - "нет". Следствием такой разницы будет более дешевая и устойчивая эксплуатация сервера Informix OnLine, уменьшение времени простоя. 

Надо отметить, что помимо сервера Informix OnLine, фирма Informix предлагает и еще более простой, удобный в администрировании сервер Informix SE (Standart Engine). Сервер SE совместим с сервером OnLine. Основное назначение этого сервера - приложения малого и среднего класса, разработка приложений. Таким образом, у пользователя и разработчика есть возможность выбора. Oracle такой возможности не предлагает. Помимо базовых серверов, и Informix, и Oracle предлагают предназначенные для массового рынка заранее сконфигурированные и настроенные workgroup-варианты серверов Oracle 7 и Informix OnLine. Oracle Workgroup Server проще по администрированию, чем базовый сервер Oracle 7, однако все же существенно сложнее, чем сервер Informix.

Informix OnLine DS предоставляет средства для динамического отслеживания производительности и загрузки сервера (утилита On-Perf). Информация о загрузке сервера выводится в удобном для понимания графическом виде. Можно даже проследить на каких процессорах исполняется тот или иной запрос. И, самое главное, средства, встроенные в Inforimix OnLine DS позволяют отслеживат загрузку динамически, то есть администратор видит не только "моментальный" снимок (как в Oracle 7), но и процесс изменения загрузки в реальном времени.

Сервер приложений

Informix NewEra позволяет строить трех-связанные приложения (клиент - сервер приложений - сервер базы данных), причем сервер приложений разрабатывается на том же самом языке, что и базовое приложение - Informix NewEra. Oracle такой возможности не предоставляет. Подобная возможность для Oracle может быть реализована через монитор транзакций, но это усложняет приложение и требует покупки и изучения дополнительных продуктов. Informix NewEra имеет указанную возможность как встроенную, поставляемую в базовом комплекте функцию.

Использовании сервера приложений может быть выгодным в следующих случаях:

  • Такое жесткое деление приложения на две части позволяет структуризировать приложение, сделать его более надежным и более легким в сопровождении. Разработку разных компонент одного приложения можно поручить разным программистам, что уменьшит время на разработку приложения в целом. Таким образом, наличие сервера приложений позволяет полностью использовать принцип "разделяй и властвуй";
  • Возможность перенести обработку данных на тот же компьютер, где и хранятся данные может благоприятно влиять на производительность так как использование срвера приложений позволяет снизить объем передаваемой по сети информации (сетевого траффика). Скорость передачи данных по сети (10 Мбит теоретически, а практически не более 4 МБит для стандартного Ethernet) является одним из самых узких мест в современных вычислительных системах.
  • Многие клиенты содержат большое количество процедур для обработки хранимых данных. Такие клиенты могут требовать ресурсов, сравнимых с ресурсами для сервера. Стоимость оборудования для клиента становится сопоставимой со стоимостью оборудования для сервера - возникает "синдром толстого клиента". Если вынести многократно повторяемый код из клиентов на один сервер, то можно снизить общую стоимость системы за счет экономии на оборудовании для клиентов.

Удобства архивации

Имеющаюся в сервере Informix OnLine DS cпециальная утилита архивации ON-Archive (в будущем ON-Bar) специально предназначена для наиболее частой задачи администратора - создания архива. По сравнению с Oracle 7, средства архивации сервера Informix OnLine имеют дополнительно:

  • встроенные средства параллельной архивации и восстановления (имеется в виду работа одновременно нескольких параллеьных процессоров и архивация на несколько носителей одновременно, что очень важно для архивации больших объемов);
  • возможность инкрементальной (пишутся только изменения) архивации отдельных частей баз данных и таблиц (на уровне партиций). Таким образом можно архивировать только самые важные, критичные данные.

Кроме того, необходимо отметить также, что утилита ON-Bar предоставляет открытый (доступный для всех) программный интерфейс (API). Таким образом, можно использовать интегрированные средства архивации, доступные от других производителей. Это особенно важно для построения хранилищ данных (Data Warehouse), где разные сервера баз данных должны быть интегрированы в единое целое, и администратор системы не должен задумываться над тем, на каком сервере находятся те или иные данные. Наличие программного интерфейса к средствам архивации позволяет создавать резерную копию информации всего хранилища одной командой.

Удобство разработки приложений

Informix-4GL является очень простй, но, в то же время, функционально полной, средой разработки терминальных (алфавитно-цифровых) приложений. Informix NewEra является объектно-ориентированной, открытой системой программирования. Обе системы построены на основе концепции языка четвертого поколения - предметно-ориентированного языка.

Традиционно используемые средства разработки Oracle (Oracle*Forms, Oracle*Menus) примерно соответсвуют продуктам Informix-SQL, Informix-ViewPoint. Стиль приложений, которые можно построить с помощью продуктов Oracle*Forms, Oracle*Menus определяется некоторыми заготовками, то есть имеет навязанный системой программирования интерфейс. То есть эти продукты нельзя назвать гибкими. Более новая среда разработки Oracle Developer 2000, по общему признанию, уступает новому поколению систем программирования (Informix NewEra, PowerBuilder, Delphi и т.д.).

Начиная с версии 2.0 Informix NewEra позволяет иметь единое приложение как для алфавитно-цифровых терминалов, так и для графических интерфейсов. Причем данная возможность сделана не за счет урезания возможностей по разработке графических приложений, а за счет разработки специальной визуальной библиотеки классов. Oracle такой возможности не предоставляет (приложения на Oracle*Forms и Oracle*Menus могут исполняться в графических средах Windows/Motif, но по сути своей остаются алфавитно-цифровыми).

В серверах Informix есть возможность отладки и трассировки хранимых процедур и триггеров, чего нет в Oracle. Такая возможность позволяет отлаживать хранимые процедуры и триггеры более быстро и более тщательно, что ведет к снижению сроков разработки системы и повышению ее надежности.

Informix NewEra позволяет строить трех-связанные приложения (клиент - сервер приложений - сервер базы данных), причем сервер приложений разрабатывается на том же самом языке, что и базовое приложение - Informix NewEra. Oracle такой возможности не предоставляет. Подобная возможность может быть реализована через монитор транзакций, но это усложняет приложение и требует дополнительных продуктов. Informix NewEra имеет указанную возможность как встроенную, поставляемую в базовом комплекте функцию.

Объектно-ориентированный подход

Объектно-ориентированный подход доказал свое право на жизнь и сейчас очень популярен. Система программирования Informix-NewEra - настоящая объектно-ориентированная среда разработки. У Oracle такого нет. Приобретение фирмой Informix Software фирмы Illustra добавило поддержку объектов на уровень самого сервера базы данных. После внесения объектно-ориентированной технологии в сервер Informix OnLine (что должно произойти к концу 1996-го года) пользователи смогут расширять список доступных типов данных в соответствии со своими задачами. Про Oracle пока ничего не известно. Следует отметить, что Informix приобрел уже готовую, отработанную технологию, которую он уже начал интегрировать в свои продукты. Если даже Oracle и ведет аналогичные разработки, то разработка с нуля, скорее всего, потребует больших усилий и большего времени.

Функциональность

При примерно одинаковой внутренней функциональности (с точки зрения разработчика программ) Informix имеет дополнительно

  • скроллируемые курсоры (выборку, сделанную на сервере, можно просматривать во всех направлениях, для реализации того же на Oracle нужно эмулировать просмотр на клиенте, что приводит к усложнению клиента и повышению сетевого траффика);
  • возможность разнесенния таблиц по разным дискам (это позволяет ускорить поиск информации, иметь возможность продолжить работу с уцелевшими данными при гибели одного из носителей и т.д.);
  • уровни изоляции DIRTY READ, CURSOR STABILITY, COMMITED READ (наличие дополнительных уровней изоляции позволяет писать более гибкие и эффективные приложения).
  • Informix предлагает более развитые типы данных для представления числовых значений (SMALLINT, INTEGER, DECIMAL(m,n), FLOAT), что позволяет писать более естественные и эффективные приложения); Oracle предлагает только тип NUMERIC - аналог DECIMAL в Informix.

Политика фирм по работе с партнерами

При сравнении двух конкурирующих фирм важным аспектом является не только то, какие продукты производят эти фирмы, но и то, как та или иная фирма работает со своими партнерами и клиенатми. По результатам проведенного в конце прошедшего года опроса, Informix Software занял третье место (из десяти), а Oracle - шестое (опрос проводился американским журналом "VAR Business", материалы напечатаны в газете "СофтМаркет" N 6 (214), февраль 1996 года).

Informix работает, как правило, через партнеров и обеспечивает тем самым гибкость. Большое число партнеров у фирмы Informix разрабатывают конечные прикладные системы, осуществляют помощь на местах, разрабатывают инструментальные системы и средства Oracle торгует своими продуктами сам. Договор на поставку, даже если он организован партнером, заключается с фирмой Oracle. Отсюда необходимость заключения еще одного договора на локальную поддержку и т.д.

Политика фирмы в области продуктов

Informix специализируется в области СУБД и придерживается стратегии "Best In Class". Oracle - по принципу "все сам". Для решения конкретной задачи у конкретного пользователя на основе Informix в качестве готового решения может использоваться разработка фирмы-партнера, специалиста в данной предметной области. Informix Software придерживается мнения, что специализация и концетрация усилий в области СУБД может дать лучшие результаты и более приемлимые решения для пользователей, нежели попытки объять все.

Механизм ценообразования

У сервера Informix OnLine DS все основные компоненты (параллельная обработка, репликация, архиватор и т.д.) включены в один продукт - не надо дополнительных затрат. Для реального использования сервера Oracle 7 к базовому комплекту надо докупать дополнительные продукты В частности, в базовый комплект Informix OnLine DS входят следующие компоненты, которые для Oracle 7 надо докупать отдельно:

  • репликатор данных;
  • поддержка распределенных баз данных;
  • поддержка параллельной обработки запросов;

Сильные стороны продукции Oracle

Продукция фирмы Oracle является главным конкурентом для продукции фирмы Informix Software. Oracle предлагает хорошую и интересную продукцию. Маркетинговая политика Oracle весьма аггрессивна. Для более корректного сравнения надо рассмотреть внимательнее те пункты, которым могут уделять внимание те, кто предлагает решения на основе Oracle.

Поддержка практически всех платформ - Oracle старается обеспечить максимально полную многоплатформенность. Например, сервера Oracle доступны и для мейнфреймов, и для DEC VMS, и для Novell Netware. Как говорят по этому поводу "Oracle не поддерживает только телевизионные игровые приставки". Для Российского рынка очень важным маркетинговым моментом является доступность Oracle для Novell Netware. Informix же ориентируется на рынок Unix/Windows NT. Именно эти платформы являются приоритетными при разработке серверов. Для Novell NetWare 3.11 Informix предлагает достаточно старый вариант сервера OnLine 4.1x. Однако реалии современного развития сетевых ОС таковы, что доля Unix/Windows NT в качестве сетевых ОС возрастает, а доля NetWare снижается. Кроме того, NetWare ориентирована на работу в качестве файл-сервера, а не сервера базы данных. При тех же аппаратных возможностях производительность СУБД, работающих под ОС Unix выше, чем под NetWare (это относится в одинаковым версиям одного и того же продукта, например Oracle 7). Кроме того, под NetWare затруднено создание масштабных распределенных баз данных (основной протокол NetWare IPX/SPX ориентированы на локальные сети). Поэтому доступность продукции Oracle для NetWare не может считаться ключевым моментом. Более того, Oracle реально не обеспечивает полную поддержку NetWare. Например, Trusted Oracle для NetWare не доступен. А такие платформы, как мейнфреймы и DEC VMS вообще малораспространены по сравнению с Unix/Windows NT.

64-разрядная СУБД - Oracle утверждает, что их сервер является единтсвенным, коротый является реально 64-битным и реально использует преимущества 64-разрядных ОС типа DEC OSF/1. Это не так. Версия 64-битная Informix OnLine DS 7.1 была представлена еще в июле 1995 года.

Прямая поддержка протоколов X.25, коммутируемых линий и т.д. - Oracle старается напрямую работать через сетевые протоколы X.25, по телефонным коммутируемым линиям и т.д. Informix же поддерживает только самые распространенные сетевые протоколы TCP/IP и IPX/SPX. Для работы продуктов фирмы Informix через протокол X.25 или через коммутируемые линии надо поверх них поставить протокол TCP/IP. При прямой поддержке протоколов типа X.25 (это протокол коммутации пакетов, то есть протокол низкого уровня) можно обеспечить производительность на, примерно, 15% выше, чем при работе по TCP/IP, поставленного поверх X.25. Однако при этом требуется купить у Oracle дополнительный продукт, надо прилагать дополнительные усилия по администрированию и т.д. Утверждение же, что Oracle работает по, например, протоколу X.25, а Informix - нет, нельзя считать верными - Informix не работает по этим протоколам напрямую , но прекрасно работает по ним, когда поверх этих протоколов стоит стандартный протокол TCP/IP. Причем эта поддержка имеется практически всегда, когда протокол X.25 или коммутируемые линии используются регулярно. Например, реализация протоколов TCP/IP поверх коммутиремых линий (протоколы SLIP, PPP) входят в базовый комплект поставки таких пакетов, как PC-NFS и PC/TCP (за наличие этих протоколов не надо платить дополнительные деньги) 

Дополнительная функциональность (наличие тех или иных специфических возможностей) - продавцы Oracle очень часто пытаются сделать акцент на той или иной функциональной возможности, которой нет у Informix. Однако надо четко понимать, что функционально Informix и Oracle одинаковы - не существует задачи, которую можно сделать на Oracle и нельзя сделать на Informix. Как правило, та или иная функциональная возможность или называется по другому, или достаточно просто реализуется с помощью других средств. Рассмотрим, например, такую часто рекламируемую возможность Oracle, как моментальный снимок (snapshot) базы данных. Фактически, это уровень изоляции READ CONSISTENCY, который фиксирует состояние базы данных на момент начала выборки для, например, проведения большого отчета. В серверах Informix нет такого уровня изоляции, зато совершенно аналогичное действие можно запрограммировать через открытие курсора в режиме COMMITED READ. Использование одного действия вместо двух нельзя называть принципиальным преимуществом. Более того, для удобства пользователей, данный уровень изоляции появится в версии Informix OnLine DS 7.2 Примерно так же обстоят дела и с другими широко рекламируемыми возможностями Oracle - они либо уже есть в Informix OnLine под другими названиями, либо могут быть реализованы с помощью штатных средств.

Oracle поставляет готовые решения - продавцы Oracle могут предложить не только инструментальные средства создания баз данных (то и только то, чем занимается Informix Software) но и законченные решения (например, Oracle Financials, Oracle WorkFlow и т.д.). В частности, именно такой подход обеспечивает Oracle более высокий, по сравнению с Informix, годовой оборот. Но фирма Oracle Corporationn и больше по числу персонала, чем Informix Software. Про это нельзя говорить, что это преимущество фирмы Oracle - это просто другой подход. Informix Software считает, что фирма должна быть специализирована на каком-то секторе рынка - а именно, на рынке инструментальных средств. Рынок конечных приложений - это другой рынок, и при необходимости обеспечить конкретное решение конкретному пользователю, фирма Informix, вместе со своими партнерами, специалистами в данной проедметной области, может обеспечить такое решение. 

Oracle - самая быстрая СУБД - продавцы Oracle часто говорят о том, что "Oracle - самая быстрая СУБД". В качестве доказательства обычно приводятся результаты TPC-A и TPC-B тестов. На указанных тестах сервер Oracle действительно показывает неплохие результаты (хотя Informix отстает очень мало), но надо учитывать , что, во-первых, сервер Oracle 7 создавался специально под эти тесты (в этом сервере реализован механизм дискретных транзакций, который не подходит для других задач), и, во-вторых, TPC-A и TPC-B тесты в данный момент не поддерживаются самим комитетом TPCC (Transaction Proceeding Council Comitee). На тестах TPC-C, которые в настоящий момент считаются наиболее объективными, Oracle не имеет преимущества Более того, Oracle стал публиковать TPC-C тесты только после появления версии Oracle 7.3 (самая последняя версия) и сравнивать ее с версией Informix OnLine 7.1, которой уже полтора года.

Сильные стороны продукции Informix для рынка exСССР

Продукты фирмы Informix Software и, в частности, сервера баз данных Informix, достаточно хорошо подходят для использования на территории бывшего Советского Союза, так как: 

  • не требуют высоко образованных и высокооплачиваемых администраторов баз данных, что (а) позволяет использовать продукцию Informix там, где нет высокообразованного персонала, вдалеке от крупных университетских центров, (б) снижает стоимость поддержки и сопровождения системы в целом и (в) снижает вероятность простоя системы из-за ошибки администратора 
  • очень неприхотливы к ресурсам, что позволяет (а) снизить расходы на аппаратное обеспечение и (б) получить более емкую и быструю систему при той же аппаратной части.
  • фирма Informix имеет развитую сеть партнеров, что позволяет максимально быстро оказать техническую поддержку, разработать какое-либо специфическое приложение и т.д.
  • фирма Informix редлагает очень простой в администрировании сервер SE, который можно использовать на этапе разработки. Данный сервер является очень недорогим решением и для рынка мощных машин, когда Oracle Workgroup Server доступен только для массовых платформ типа Windows NT или SCO. Кстати сказать, Informix для подобных платформ, помимо серверов OnLine и SE также имеет Informix OnLine Workgroup Server.
 

Украинская баннерная сеть
 

[Home]

Сайт поддерживается группой пользователей Информикс на Украине.

Hosted by NO-more.