Открыть сервисСервис

IBM Informix

IBM Informix — это семейство реляционных систем управления базами данных (СУБД), разрабатываемых корпорацией IBM. Informix относится к классу промышленных СУБД, предназначенных для обработки высоконагруженных транзакционных систем (OLTP), а также для встроенных и мобильных решений. Отличительной особенностью Informix является высокая производительность при минимальных накладных расходах на администрирование, поддержка работы в режиме реального времени и возможность развёртывания на устройствах с ограниченными ресурсами (например, на промышленных контроллерах или POS-терминалах).

История

Основание и ранние годы (1980-е)

История Informix начинается в 1980 году, когда компания Relational Database Systems, Inc. (RDS) была основана в городе Менло-Парк, Калифорния. Первым продуктом стала СУБД Informix (сокращение от «Information on Unix»), выпущенная в 1981 году. Изначально система разрабатывалась для операционной системы UNIX и была одной из первых реляционных баз данных, реализованных на этой платформе. В 1985 году компания сменила название на Informix Software.

Расцвет и конкуренция (1990-е)

В 1990-е годы Informix стала одним из лидеров рынка СУБД, конкурируя с Oracle, Sybase и Microsoft SQL Server. Ключевым продуктом этого периода стала версия Informix Dynamic Server (IDS), выпущенная в 1994 году. IDS впервые предложила архитектуру «динамического масштабирования» (Dynamic Scalable Architecture, DSA), которая позволяла эффективно использовать симметричную многопроцессорную обработку (SMP) и кластеризацию. В 1995 году Informix приобрела компанию Illustra, разработчика объектно-реляционной СУБД, что привело к созданию гибридной платформы Informix Universal Server.

Финансовые трудности и поглощение IBM (2000-е)

В конце 1990-х годов Informix столкнулась с серьёзными финансовыми проблемами, вызванными как агрессивной конкуренцией, так и внутренними ошибками в бухгалтерской отчётности (скандал с переоценкой выручки). В 2001 году корпорация IBM приобрела бизнес Informix по разработке СУБД за 1 миллиард долларов. После сделки IBM продолжила развитие продукта, интегрировав его в свою линейку ПО для управления данными. Версия Informix Dynamic Server стала флагманским продуктом, а более старые линейки (Informix-SE, Informix-OnLine) были постепенно выведены из эксплуатации.

Современный этап (2010-е — настоящее время)

Под управлением IBM Informix сохранил нишевую популярность, особенно в сегментах встроенных систем, телекоммуникаций и розничной торговли. В 2017 году IBM выпустила версию Informix 14.10, которая включала поддержку JSON, улучшенную работу с Docker-контейнерами и облачные развёртывания. В 2020-х годах Informix продолжает развиваться как лёгкая, высокопроизводительная СУБД для IoT, edge computing и мобильных приложений.

Архитектура и ключевые особенности

Многопоточная архитектура

В отличие от многих классических СУБД, использующих модель «один процесс — одно соединение», Informix с версии IDS применяет многопоточную архитектуру (Virtual Processor, VP). Один процесс (oninit) управляет множеством виртуальных процессоров, каждый из которых отвечает за определённый тип задач (ввод-вывод, сетевые соединения, выполнение SQL-запросов). Это позволяет системе эффективно использовать ресурсы CPU и памяти, особенно на SMP-системах.

Поддержка различных типов данных

Informix изначально поддерживает не только стандартные реляционные типы (числа, строки, даты), но и сложные типы данных:

  • BLOB/CLOB — для хранения больших двоичных и текстовых объектов.
  • Пространственные типы — для работы с геоданными (через модуль Spatial DataBlade).
  • JSON/BSON — начиная с версии 12.10, для работы с документами в формате NoSQL.
  • Временные ряды — специализированные типы для хранения и анализа временных последовательностей (например, показания датчиков).

Кластеризация и отказоустойчивость

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

  • HDR (High Availability Data Replication) — синхронная или асинхронная репликация данных на резервный сервер.
  • RSS (Remote Standalone Secondary) — асинхронная репликация для удалённых резервных копий.
  • SDS (Shared Disk Secondary) — кластер с общим дисковым хранилищем.
  • CLR (Continuous Log Restore) — непрерывное восстановление из журналов транзакций.

Встроенные возможности

Informix может работать в режиме «встроенной СУБД» (embedded database), когда ядро базы данных встраивается непосредственно в приложение. Это позволяет использовать Informix на устройствах с ограниченными ресурсами — от банкоматов и POS-терминалов до промышленных контроллеров и автомобильных систем.

Версии и редакции

Основные линейки

  • Informix Dynamic Server (IDS) — флагманская версия, поддерживающая все современные возможности (кластеризацию, JSON, временные ряды).
  • Informix Express Edition — бесплатная версия для разработки и небольших проектов (ограничение по числу ядер и объёму данных).
  • Informix Innovator-C Edition — бесплатная версия для стартапов и малого бизнеса (до 4 ядер, до 1 ТБ данных).
  • Informix Warehouse — специализированная версия для построения хранилищ данных и аналитики.

Версии для конкретных платформ

Informix поддерживает широкий спектр операционных систем: Linux (x86, x86-64, ARM), AIX, HP-UX, Solaris, Windows (ограниченно), а также macOS (только для разработки). Существуют сборки для архитектур POWER и SPARC.

Применение

Промышленные и встроенные системы

Informix традиционно используется в:

  • Розничной торговле — как backend для POS-терминалов, систем управления складом и учёта товаров.
  • Телекоммуникациях — для биллинга, управления абонентами и обработки событий в реальном времени.
  • Промышленности — в SCADA-системах, на производственных линиях и в системах управления технологическими процессами.
  • Транспорте — в бортовых системах управления, навигации и логистики.

IoT и Edge Computing

Благодаря малому размеру (ядро IDS занимает около 100 МБ) и низкому энергопотреблению, Informix активно применяется в устройствах Интернета вещей (IoT). Система может работать на одноплатных компьютерах (Raspberry Pi, ARM-контроллеры) и выполнять обработку данных непосредственно на границе сети (edge computing), без необходимости постоянного подключения к облаку.

Финансовый сектор

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

Инструменты администрирования

Командная строка

Основным инструментом управления является утилита dbaccess, предоставляющая интерфейс командной строки для выполнения SQL-запросов, создания объектов и настройки параметров. Для более тонкого администрирования используются утилиты onstat, onmode, oncheck и oninit.

Графический интерфейс

IBM предоставляет IBM OpenAdmin Tool (OAT) — веб-интерфейс, работающий через браузер. OAT позволяет выполнять мониторинг производительности, настройку репликации, управление пользователями и просмотр журналов. Также доступен плагин для Eclipse — IBM Data Studio.

Интересные факты

  • Informix была одной из первых СУБД, реализовавших поддержку SQL-стандарта ANSI (в версии 1986 года).
  • В 1990-е годы Informix Dynamic Server считался самой быстрой СУБД для OLTP-нагрузок по результатам тестов TPC-C.
  • В 2001 году, после покупки Informix, IBM получила доступ к технологиям, которые позже были использованы при разработке DB2.
  • Informix поддерживает работу с данными в формате временных рядов (TimeSeries) — это одна из немногих СУБД, имеющих встроенную поддержку этого типа данных.
  • Версия Informix для встраиваемых систем (Informix Client SDK) может быть установлена на устройства с объёмом оперативной памяти от 64 МБ.

Критика

Основные претензии к Informix связаны с:

  • Малой популярностью — по сравнению с Oracle, MySQL или PostgreSQL, Informix имеет ограниченное сообщество и меньшее количество сторонних инструментов.
  • Сложностью миграции — переход с Informix на другие СУБД (или наоборот) требует значительных усилий из-за уникальных особенностей архитектуры и диалекта SQL.
  • Ограниченной поддержкой облачных платформ — хотя IBM предлагает Informix в своём облаке (IBM Cloud), поддержка со стороны AWS, Azure или Google Cloud минимальна.
  • Высокой стоимостью лицензий — для коммерческого использования Informix требуется приобретение платной лицензии, что делает его менее привлекательным для небольших проектов по сравнению с бесплатными СУБД.

Источники

  • IBM Informix Information Center (документация IBM)
  • «Informix Dynamic Server 11.10: The Complete Reference» — Carlton Doe, McGraw-Hill, 2007
  • «Informix: The Power of the Database» — Jerry D. Baker, 1995
  • Материалы конференций IDUG (International DB2 Users Group) — секции по Informix
  • Статья «A History of Informix» — журнал Database Trends and Applications, 2001
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru