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

История 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 представила пакет дополнений, добавлявший поддержку временных серий (англ. time series) и объектных типов данных, а 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 линейка продуктов состояла из:

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 предполагается занимать нишу хранилищ данных.

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

Примечания

Ссылки

Для улучшения этой статьи желательно: Проставить шаблон-карточку, который существует для предмета статьи. Пример использования шаблона есть в статьях на похожую тематику.Найти и оформить в виде сносок ссылки на независимые авторитетные источники, подтверждающие написанное.Добавить иллюстрации.После исправления проблемы исключите её из списка. Удалите шаблон, если устранены все недостатки.