Informix
Informix — это семейство систем управления реляционными базами данных (СУБД), разрабатывавшееся одноимённой американской компанией Informix Corporation (впоследствии — подразделение IBM). Informix известен своей высокой производительностью, масштабируемостью и поддержкой параллельных вычислений, что сделало его популярным в корпоративном сегменте, особенно в телекоммуникациях, финансах и розничной торговле.
История
Основание и ранние годы (1980–1990)
Компания Informix Corporation была основана в 1980 году в Менло-Парке (Калифорния) Роджером Сипплом, Ларри Каннингемом и другими инженерами. Первым продуктом стала СУБД Informix (версия 1.0), выпущенная в 1981 году, которая работала на операционной системе Unix. Название происходит от сочетания слов «Information» и «Unix». В 1985 году компания вышла на биржу NASDAQ. В 1986 году была выпущена версия Informix 4GL, которая включала язык четвёртого поколения (4GL) для разработки приложений, что упростило создание бизнес-приложений.
Расцвет и конкуренция (1990–1997)
В 1990-е годы Informix стал одним из лидеров рынка СУБД, конкурируя с Oracle, Sybase и IBM DB2. В 1994 году компания приобрела технологию объектно-реляционной СУБД Illustra, что привело к созданию Informix Universal Server (версия 9.x), поддерживающего работу с мультимедийными и пространственными данными. К 1995 году Informix занимал второе место по доле рынка после Oracle, особенно сильные позиции были в Unix-сегменте. В 1996 году была выпущена версия Informix Dynamic Server (IDS), которая стала флагманским продуктом, известным своей динамической масштабируемостью.
Финансовые проблемы и скандал (1997–2000)
В 1997 году компания столкнулась с серьёзными финансовыми проблемами из-за ошибок в бухгалтерской отчётности. В 1998 году Комиссия по ценным бумагам и биржам США (SEC) начала расследование, в результате которого выяснилось, что Informix завышала выручку на сумму более 200 миллионов долларов. Генеральный директор Фил Уайт был уволен, а компания выплатила штрафы. Это привело к падению акций и потере доверия рынка.
Поглощение IBM (2001–2005)
В апреле 2001 года корпорация IBM объявила о приобретении Informix Corporation за 1 миллиард долларов. Сделка была завершена в июле 2001 года. IBM интегрировала технологии Informix в свою линейку продуктов, в частности, Informix Dynamic Server стал частью семейства IBM Informix. В 2005 году IBM выпустила версию IBM Informix Dynamic Server 10.0, которая получила значительные улучшения в производительности и управляемости.
Современный этап (2005 — настоящее время)
После поглощения IBM продолжила развитие Informix, выпуская новые версии. В 2017 году IBM передала разработку Informix в дочернюю компанию HCL Technologies (Индия) в рамках стратегического партнёрства. HCL продолжает выпускать обновления и поддерживать продукт. В 2020 году вышла версия Informix 14.10, а в 2023 — Informix 15.0, которая включает поддержку контейнеризации и облачных развёртываний. Несмотря на снижение популярности по сравнению с Oracle и PostgreSQL, Informix сохраняет нишевую аудиторию в legacy-системах и отраслях, где требуется высокая надёжность.
Архитектура и ключевые характеристики
Многопоточная архитектура
Informix Dynamic Server (IDS) использует многопоточную архитектуру, которая позволяет эффективно использовать ресурсы процессора и памяти. В отличие от традиционных СУБД, где каждый пользовательский запрос создаёт отдельный процесс, IDS использует пул потоков, что снижает накладные расходы и улучшает масштабируемость.
Динамическая масштабируемость
Ключевая особенность IDS — возможность динамически добавлять и удалять ресурсы (процессоры, память) без остановки сервера. Это достигается за счёт виртуальных процессоров (VP), которые управляют различными типами нагрузки (ввод-вывод, сеть, административные задачи). Система может автоматически перераспределять нагрузку между VP.
Поддержка параллельных вычислений
Informix поддерживает параллельные запросы (parallel query processing), что позволяет разбивать сложные SQL-запросы на подзадачи и выполнять их на нескольких процессорах одновременно. Это особенно полезно для аналитических нагрузок и работы с большими таблицами.
Типы данных и расширения
Informix поддерживает стандартные реляционные типы данных (INTEGER, VARCHAR, DATE и др.), а также расширенные типы, такие как:
- BLOB (Binary Large Object) и CLOB (Character Large Object) для хранения мультимедиа.
- Spatial Data (пространственные данные) для географических информационных систем (ГИС).
- TimeSeries (временные ряды) для хранения и анализа последовательных данных (например, показания датчиков).
- JSON и BSON для работы с документами NoSQL.
Репликация и высокая доступность
Informix предлагает несколько механизмов для обеспечения отказоустойчивости:
- HDR (High Availability Data Replication) — синхронная или асинхронная репликация на резервный сервер.
- RSS (Remote Standalone Secondary) — удалённые реплики для чтения.
- ER (Enterprise Replication) — асинхронная репликация между несколькими узлами для географически распределённых систем.
- SDS (Shared Disk Secondary) — кластерная конфигурация с общим дисковым хранилищем.
Управление памятью
Informix использует собственный менеджер памяти, который управляет буферным кэшем, пулами сессий и другими структурами. Параметры настройки (например, SHMVIRTSIZE для виртуальной памяти) позволяют администраторам тонко настраивать производительность.
Версии и редакции
Основные версии
- Informix 1.0 (1981) — первая версия для Unix.
- Informix 4GL (1986) — добавлен язык четвёртого поколения.
- Informix 7.x (1994) — первая версия с поддержкой параллельных запросов.
- Informix 9.x (1997) — Universal Server с объектно-реляционными возможностями.
- Informix Dynamic Server 10.0 (2005) — первая версия под управлением IBM.
- Informix 11.x (2007) — добавлена поддержка временных рядов и пространственных данных.
- Informix 12.x (2012) — улучшена поддержка JSON и NoSQL.
- Informix 14.10 (2020) — добавлена поддержка контейнеров Docker.
- Informix 15.0 (2023) — поддержка Kubernetes и облачных развёртываний.
Редакции
- Informix Dynamic Server (IDS) — флагманская редакция с полным набором функций.
- Informix Express Edition — бесплатная версия для разработки и малых проектов (с ограничением по ресурсам).
- Informix Innovator-C Edition — бесплатная версия для учебных целей.
- Informix Warehouse — редакция, оптимизированная для хранилищ данных и аналитики.
Применение
Телекоммуникации
Informix широко используется в телекоммуникационной отрасли для управления абонентскими данными, биллинга и обработки транзакций в реальном времени. Например, система биллинга многих операторов связи (в том числе в России) построена на Informix.
Финансовый сектор
Банки и страховые компании используют Informix для обработки транзакций, управления кредитными историями и расчётов. Высокая производительность и надёжность делают его пригодным для критически важных систем.
Розничная торговля
Informix применяется в системах управления запасами, точках продаж (POS) и обработке заказов. Например, сеть магазинов Walmart использовала Informix в своих системах логистики.
Промышленность и логистика
Производственные предприятия и логистические компании используют Informix для управления цепочками поставок, складского учёта и мониторинга оборудования.
Наука и государственные учреждения
Informix применяется в научных проектах (например, в обработке данных с телескопов) и государственных информационных системах, где требуется высокая надёжность и долговременная поддержка.
Сравнение с другими СУБД
Informix vs Oracle
- Производительность: Informix часто превосходит Oracle в сценариях с высокой транзакционной нагрузкой (OLTP) благодаря многопоточной архитектуре.
- Сложность: Informix проще в администрировании, но имеет меньше функций для аналитики (OLAP).
- Стоимость: Informix обычно дешевле в лицензировании, особенно для малых и средних проектов.
- Экосистема: Oracle имеет более широкую экосистему инструментов, библиотек и сообщества.
Informix vs PostgreSQL
- Производительность: Informix быстрее в OLTP-сценариях, но PostgreSQL лучше подходит для сложных аналитических запросов.
- Расширяемость: PostgreSQL поддерживает больше сторонних расширений и типов данных.
- Сообщество: PostgreSQL имеет огромное открытое сообщество, в то время как Informix — проприетарный продукт с меньшим сообществом.
Informix vs IBM Db2
- Архитектура: Informix использует многопоточную архитектуру, Db2 — многопроцессную.
- Совместимость: Db2 лучше интегрируется с другими продуктами IBM (например, WebSphere, Cognos).
- Поддержка: После передачи HCL поддержка Informix стала менее активной, чем у Db2.
Критика и ограничения
- Закрытость: Informix является проприетарным продуктом, что ограничивает возможности модификации и аудита кода.
- Устаревшая кодовая база: Часть кода Informix была написана в 1980-х годах, что затрудняет интеграцию с современными технологиями (например, контейнеризация и облака поддерживаются, но не так хорошо, как у более новых СУБД).
- Малое сообщество: Из-за снижения популярности найти специалистов по Informix сложнее, чем по Oracle или PostgreSQL.
- Ограниченная аналитика: Informix не предназначен для больших аналитических нагрузок (Data Warehousing), уступая в этом специализированным решениям (Teradata, ClickHouse).
- Зависимость от одного вендора: После перехода к HCL поддержка и развитие продукта зависят от одной компании, что создаёт риски для долгосрочных проектов.
Интересные факты
- Informix был одной из первых СУБД, которая поддерживала параллельные запросы на многопроцессорных системах.
- В 1990-х годах Informix использовался в системе управления полётами NASA.
- После скандала с бухгалтерией в 1998 году акции Informix упали на 90%, что сделало его одним из самых громких корпоративных крахов в истории IT.
- Версия Informix 15.0 (2023) поддерживает работу в Kubernetes, что позволяет развёртывать её в современных облачных средах.
Источники
- IBM. «Informix Dynamic Server: Administration Guide» (документация IBM).
- HCL Technologies. «Informix 15.0 Release Notes» (2023).
- Книга: «Informix: The Inside Story» — история компании Informix Corporation (1999).
- Статья: «The Rise and Fall of Informix» — журнал «Database Trends and Applications» (2001).
- Документация Informix на официальном сайте HCL Software.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →