Informix

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

История Informix

1980 год: начало 

Роджер Сипл и Лора Кинг работали в Cromemco, где они разработали небольшую реляционную СУБД, базирующуюся на ISAM, которая была частью программного комплекса для формирования отчётов.

Впоследствии Сипл и Кинг покинули Cromemco и основали свою собственную компанию Relational Database Systems (RDS) в 1980 году. Их первым продуктом стал Marathon — 16-битная версия их ранней реализации ISAM. Marathon предназначался для операционной системы Onyx — версии Unix для ранних микропроцессоров ZiLOG.

В RDS они сконцентрировались на расширяющемся рынке реляционных СУБД и выпустили собственный продукт под маркой Informix (INFORMation on unIX) в 1981 году. В составе Informix поставлялся их собственный язык Informer. Также в состав пакета входил формировщик отчётов ACE, который позволял извлекать данные из базы данных и представлять их в удобной для чтения форме. Инструмент PERFORM позволял пользователям интерактивно обращаться к данным в базах данных и редактировать их. Финальным релизом стала версия 3.30, выпущенная в начале 1986 года.

В 1985 году RDS представила новый, основанный на SQL, движок запросов в составе INFORMIX-SQL (ISQL) версии 1.10 (версия 1.00 никогда не выпускалась). Продукт включал новые версии ACE и PERFORM, которые теперь поддерживали SQL. Самым значительным отличием ISQL от предыдущей версии Informix стало выделение кода доступа к базе данных в процесс движка (sqlexec) — ранее он являлся частью клиента. Это стало этапом перехода к клиент-серверной модели вычислений. Эволюционировавший ISAM, который был по сути ядром Informix, в новой инкарнации получил название C-ISAM.

В начале 1980-х Informix оставался мелким игроком на рынке СУБД, но, с ростом популярности UNIX и SQL в середине 1980-х, доля Informix заметно выросла. К 1986 году они стали достаточно большими для IPO. Название компании меняется на Informix Software. Продукты включали в себя INFORMIX-SQL версии 2.00 и INFORMIX-4GL 1.00. Они поставлялись как в составе движка СУБД, так и как самостоятельные инструменты (ISQL и I4GL соответственно).

Серия последующих релизов, представившая новый движок запросов, получила известность как INFORMIX-Turbo. Turbo использовал новый RSAM, который был более производительным в многопользовательской среде по сравнению с C-ISAM. С релизом версии 4.00 в 1989 году Turbo был переименован в INFORMIX-OnLine (название отражало возможность создания резервных копий баз данных при работающем сервере и пользователях, изменяющих данные в момент создания бэкапа). Также оригинальный продукт, основанный на C-ISAM, был отделён от инструментов (ISQL и I4GL) и назван INFORMIX-SE (Standart Engine). Выпущенная под конец 1990 года версия 5.00 обладала полноценной поддержкой распределённых транзакций с двухфазным подтверждением и хранимых процедур. В версии 5.01 также появилась возможность использовать триггеры.

1988 год: приобретение Innovative Software 

В 1988 году Informix приобретает Innovative Software, производителя офисных систем для Unix и DOS под маркой SmartWare и WingZ, инновационной программы по работе с электронными таблицами для Apple Macintosh.

WingZ предоставлял продвинутый графический интерфейс, поддерживал объёмные электронные таблицы, а также предоставлял возможность программирования на языке HyperScript, который имел некоторое сходство с языком HyperCard. Оригинальный релиз был весьма успешным в своё время: WingZ был на втором месте по популярности после Microsoft Excel. В 1990 году WingZ был портирован на большое число других платформ (в большинстве своём это были Unix-системы). В этот период начались повальные инвестирования в рабочие станции на базе Unix, что позволило бы использовать их для обработки больших финансовых моделей. Некоторое (не очень продолжительное) время WingZ был достаточно успешным в своей нише. Несмотря на это, он страдал от недостатка девелоперских и маркетинговых ресурсов, возможно из-за общего недопонимания рынка не-серверных приложений. В начале 1990-х WingZ стал неконкурентоспособным и был продан в 1995 году. Также Informix продал лицензию Clarise, которая скомбинировала WingZ с обновлённым графическим интерфейсом. Результатом стал продукт Claris Resolve.

1994 год: динамически масштабируемая архитектура 

После неудачи на рынке офисного ПО Informix перефокусировался на растущий рынок серверов баз данных. В 1994 году, в результате сотрудничества с Sequent Computer Systems, Informix выпускает версию 6.00 своей СУБД. Главным нововведением стала Динамически Масштабируемая Архитектура (Dynamic Scalable Architecture, DSA).

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

Название сменилось на Informix Dynamic Server после того, как продукт недолго называли Obsidian, а затем — Informix OnLine Dynamic Server. К тому времени, как Version 7 появилась на рынке, SMP системы уже набрали некоторую популярность, как и Unix. По сути, Version 7 на поколение опережала соперников и постоянно находилась в лидерах по тестам. В результате к 1997 году Informix прочно утвердился на втором месте в списке СУБД вендоров, с лёгкостью вытеснив Sybase.

Отталкиваясь от успеха Версии 7, Informix разделил ядро разработки СУБД на два направления. Первое, вначале известное как XMP (eXtended Multi-Processing), впоследствии стало линейкой Version 8, также известной как XPS (eXtended Parallel Server). Это направление сфокусировалось на развитии хранилищ данных и параллелизма для high-end платформ, таких как IBM RS-6000/SP.

1995 год: приобретение Illustra 

Второе направление — технология объектно-реляционных СУБД (O-R) — сформировалось после покупки в 1996 году СУБД Illustra. Illustra, написанная бывшими разработчиками Postgres под руководством одного из пионеров баз данных Майкла Стоунбрейкера, обладала множеством возможностей, которые позволяли работать с данными как с объектами в смысле объектно-ориентированного программирования. Такая возможность позволяла значительно сократить время разработки многих проектов. В Illustra впервые появились DataBlade-модули, которые позволяли создавать новые типы данных и другие возможности, расширявшие функциональность базового сервера. Таким образом сервер мог получить поддержку пространственных и мультимедийных данных. Все эти возможности были включены в Informix Universal Server (IUS) или Version 9.

Обе новые версии, V8 (XPS) и V9 (IUS), появившиеся на рынке в 1996 году, сделали Informix первой среди «большой тройки» компаний 1990-х годов, занимающихся производством СУБД (другие две компании — Oracle и Sybase), которая предложила встроенную поддержку O-R в своих продуктах. Модули DataBlade вскоре стали достаточно популярными: благодаря партнёрству с Illustra на новую платформу было портировано около дюжины модулей. Конкуренты добавили аналогичные функциональные возможности позднее — в 1997 году Oracle представила пакет дополнений, добавлявший поддержку временных серий () и объектных типов данных, а Sybase обратилась за аналогичным дополнением к сторонним компаниям.

1996—1997 годы: внутренние проблемы 
Хотя Informix являлся технологическим лидером на рыне СУБД, к 1996 году начались задержки выпуска новых продуктов. Охваченный техническими и маркетинговыми проблемами, новый продукт для разработки приложений, Informix-NewEra, вскоре оказался в тени становившейся всё популярней Java. Ранее Майкл Стоунбрейкер обещал, что технология Illustra будет внедрена в течение года после приобретения компании, но, как и предсказывал Gartner Group, на интеграцию потребовалось более двух лет. В начале 1997 года не согласный с новым направлением развития компании ведущий разработчик XPS Гарри Келли переходит на работу к главному конкуренту — Oracle Corporation, прихватив с собой ещё 11 разработчиков. Это вынудило Informix подать в суд на Oracle, дабы предотвратить потерю технических секретов.

1997 год: ошибки руководства 

Маркетинговые неудачи, равно как и ошибки на уровне корпоративного руководства, затмили собой техническое превосходство Informix. 1 апреля 1997 года Informix заявил, что прибыль за первый квартал не дотянула до ожидаемых 100 млн долл. Генеральный директор Филлип Уайт заявил, что причиной этого стала потеря ориентации на основной бизнес СУБД и чрезмерная растрата ресурсов на O-R технологию. Последовали существенные операционные потери и сокращения рабочих мест. Компания пересчитала выручку за период 1994—1996 годов. Оказалось, что значительный объём прибыли, пришедшийся на середину 1990-х, составляли продажи лицензий партнёрам, которые, в свою очередь, не сумели их реализовать конечным пользователям. Это и другие нарушения в конечном счёте привели к переоценению выручки на 200 млн долл. Даже после отставки Уайта в июле 1997 года компания продолжала страдать от подобных бухгалтерских издержек и вынуждена была сделать ещё один пересчёт прибыли в начале 1998 года.

Последствия 

Хотя спекуляции на тему неграмотного руководства продолжали преследовать компанию, возможности Informix Dynamic Server (IDS) продолжали расти. Смена курса руководства также начала приносить свои плоды. В статье из сентябрьского номера журнала PC Magazine за 1998 год среди ста компаний, наиболее влияющих на IT сферу, про Informix говорится:

…Informix бьётся со своим главным оппонентом Oracle на поприще O-R расширением возможностей их флагмана Informix Dynamic Server с помощью Universal Data Option. После года турбулентности, в течение которого компания перенесла проблемный аудит, Роберт Финночио назначен новым генеральным директором компании Menlo Park, California. При доходе за 1997 год в размере 662,3 млн долл. Informix постепенно укрепляет свои позиции на рынке СУБД.

В ноябре 2002 года Филлип Уайт, бывший генеральный директор Informix, был обвинён по восьми пунктам Федеральным Верховным Судом в мошенничестве. Тринадцать месяцев спустя он был признан виновным в заполнении фальшивого регистрационного заявления Комиссии по торговле ценными бумагами.

В мае 2004 года Министерство юстиции заявило, что Уайт приговорён к двум годам в федеральной тюрьме, штрафу в 10 тыс. долл, двум годам условно и 300 часам общественных работ. Заявление также гласило, что объём ущерба, нанесённый акционерам действиями Уайта, не может быть адекватно оценён из материалов дела.

Гражданин Германии и резидент Уолтер Кёнигседер, заместитель вице-президента компании по европейскому направлению, также был обвинён. Но Верховному Суду так и не удалось добиться его экстрадиции.

В ноябре 2005 года вышла книга, рассказывающая о взлёте и падении Informix. Она написана одним из старейших сотрудников Informix. «Реальная история Informix Software и Фила Уайта: Уроки бизнеса и лидерства для руководства» позволяла взглянуть на историю компании изнутри глазами одного из сотрудников. В книге содержится детальное описание успехов компании на начальном этапе, ужасного падения и того, каким образом генеральный директор Фил Уайт оказался в тюрьме.

2001 год: другие приобретения 

Начиная с 2001 года главные события в жизни Informix перестают касаться технических инноваций. В марте компания приобретает Ardent Software, компанию, история которой состоит из слияний и поглощений. Это приобретение добавило мультипространственные движки UniVerse и UniData (вместе известные как U2) к уже достаточно большому к тому времени списку СУБД-движков в портфолио компании, которое включало в себя не только семейство Informix, но и ориентированный на хранилища данных SQL-движок Red Brick и 100 % Java-версию SQL, Cloudscape (которая впоследствии была включена в соответствующую имплементацию J2EE).

Таким образом, на момент приобретения Informix IBM линейка продуктов состояла из:

 Informix C-ISAM — последняя версия оригинальной СУБД Marathon.
 Informix SE — предлагалась в качестве low-end системы для встраивания в приложения.
 Informix OnLine — полноценная система для управления базами данных среднего размера.
 Informix Extended Parallel Server (XPS, V8) — high-end версия V7, предназначенная для использования на большом количестве распределённых машин.
 Informix Universal Server (V9) — комбинация движка V7 OnLine с поддержкой O-R mapping и DataBlade модулей от Illustra.
 Informix-4GL — четвёртое поколение языка программирования для приложений.
 Red Brick Warehouse — продукт по управлению хранилищами данных.
 Cloudscape — реляционная СУБД, написанная целиком на Java, предназначенная для мобильных устройств и J2EE-архитектур. В 2004 году Cloudscape был выпущен IBM под именем Derby в качестве СУБД с открытым исходным кодом, её поддержкой занимается Apache Software Foundation.
 U2 набор, UniVerse и UniData — мультипространственные СУБД, которые представляют возможность работы с сетями, иерархиями, массивами и другими типами данных, которые сложно смоделировать в SQL.

IBM приобретает Informix 

В июле 2000 года Питер Гейнс, бывший генеральный директор Ardent, занимает пост генерального директора Informix. Он начинает заниматься реорганизацией компании, пытаясь сделать её более привлекательной для последующей продажи. Важнейшим шагом в этом направлении стало отделение всех технологий СУБД от остальных приложений и инструментов.

В апреле 2001 года IBM, ведомая предложением Wal-Mart (крупнейший клиент Informix), приобретает у Informix технологию СУБД, бренд, планы для будущих разработок (внутренний проект под кодовым именем Arrowhead), а также базу в 100 тыс. клиентов. Оставшиеся ресурсы по разработке приложений и инструментариев образуют новую компанию Ascential Software. В мае 2005 года IBM приобретает Ascential, воссоединяя там самым ресурсы Informix под собственным лейблом Information Management Software.

Текущие планы 

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

 В октябре 2006 года корпорация IBM объявила о выпуске в 2007 году новой версии СУБД IBM Informix Dynamic Server (IDS) с кодовым названием Cheetah.

 12 июня 2007 года СУБД IBM Informix 11.1 Cheetah был официально представлен общественности.

 Одновременно с объявлением о выходе новой версии Informix 11.1 IBM объявила о том, что DB2 и IBM Informix Dynamic Server будут развиваться параллельно и независимо друг от друга. Запланированное ранее объединение двух продуктов отменено. IBM Informix будет развиваться и позиционироваться на рынке в качестве СУБД для высокопроизводительных OLTP систем, в то время как DB2 будет идеальной СУБД для Data Warehouse. Новая версия сервера будет поддерживать сервис-ориентированную архитектуру (Service-Oriented Architecture, SOA), что поможет в интеграции приложений.

Основными нововведениями данной версии являются: новый алгоритм обработки контрольной точки (теперь работа приложений не блокируется в момент выполнения контрольной точки), возможность создания нескольких вторичных серверов в репликации. Появился абсолютно новый уровень изоляции — LAST COMMITTED READ, позволяющий получать самую последнюю принятую версию строк, даже если другой параллельный сеанс удерживает исключительную блокировку на уровне строк.

 С версии Informix 11.1 появилась 64-битная версия для платформы Windows.

 28 апреля 2008 года был представлен IBM Informix 11.5 Cheetah 2. В этой версии сервера появились значительные улучшения высокой доступности при работе в кластере. Появился новый менеджер соединений, который динамически маршрутизирует требования приложений-клиентов об установлении соединений на наиболее подходящий сервер в кластере высокой доступности. Менеджер соединений соединяется с каждым из серверов в кластере и собирает статистическую информацию о типе сервера, неиспользуемых мощностях и текущем состоянии сервера. На основе этой информации менеджер соединений перенаправляет соединение на подходящий сервер. Кроме того, регулировщик менеджера соединений обеспечивает алгоритм автоматической поддержки отказоустойчивости в кластерах с высокой доступностью. Используя файл конфигурации, вы указываете, какой вторичный сервер примет на себя управление, если на первичном сервере произойдёт сбой. Так же появилась возможность обновлять данные на вторичных серверах в кластере высокой доступности.

 С версии Informix 11.5 появилась поддержка платформы Mac OS.

 Теперь появилась возможность бесплатно скачать с сайта IBM версию Informix Developer Edition для различных платформ. Informix Developer Edition обладает полной функциональностью, но имеет некоторые ограничения на объём данных и количество используемых процессоров и не предназначена для использования в коммерческих целях.

 IBM объявила об окончании в 2009 году технической поддержки версий 7.31 и 9.40. Для версии Informix 7.31 окончание технической поддержки намечено на 30 сентября 2009 года. Для версии Informix 9.40 техническая поддержка заканчивается 30 апреля 2009 года. Окончание поддержки IDS v10.00 запланировано на 2010 год.

 Следующим этапом развития должна стать СУБД IDS v12.00, известная под рабочим названием Panther.

 В мае 2010 года IBM обновила линейку редакций Informix. Появились две бесплатные версии для использования в коммерческих целях Informix Innovator-C для всех платформ, включая 32- и 64-битные системы Linux, Windows, AIX и т. д., а также Informix Ultimate-C для Windows и MacOS. Для этих версий также существует платная техподдержка. Также представлены редакции Informix Growth Edition V11.50 и Informix Ultimate Edition V11.50 с разными вариантами стоимости лицензий.
 В июле 2010 года версии Informix Ultimate-C для Windows и MacOS были сняты.
 В октябре 2010 года IBM выпустила новую версию IDS 11.70 Panther для всех основных платформ.

Примечания

Ссылки 
 Страница Informix на сайте IBM
 IBM Informix at developerWorks
 Интернациональная группа пользователей Informix
 Русскоязычное сообщество Informix

Проприетарные СУБД
Программное обеспечение для macOS
Поглощения IBM