IBM Informix

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 16:03, 10 декабря 2017.
IBM Informix
IBM logo.svg
Разработчики: IBM
Постоянный выпуск: IBM Informix 12.10.xC7 / 15 июня 2016
Состояние разработки: Активная
Написана на: C, C++, assembly
Операционная система: Кросс-платформенная
Тип ПО: RDBMS
Лицензия: Proprietary EULA
Веб-сайт Official Informix website


IBM Informix - это семейство продуктов в подразделении IBM Information Management, которые являются СУБД. Продукты Informix были первоначально разработаны Informix Corporation, дочерняя компания Informix Software была приобретена IBM в 2001 году.

Основные особенности

Текущая версия IBM Informix - 12.10. Разрабатывался под кодовым названием "Centaurus". Основными улучшениями стали добавление встроенного сжатия индексов, интеграция коллекций [[JSON (JavaScript Object Notation)|JSON с поддержкой драйверов JSON от MongoDB на сервере, а также объекты баз данных, разрешающие расширение, для разделения на несколько серверов в кластере или сетке (например, запросы могут возвращать данные из локально подключенного экземпляра сервера или из всей сетки с тем же SQL)[Источник 1]

История развития

1980-е года

Роджер Сипл и Лора Кинг, которые работали в компании Cromemco, разработали реляционную СУБД, базирующуюся на ISAM После ухода из Cromemco, Сипл и Кинг основали компанию Relational Database Systems (RDS) в 1980 году. Первым продуктом RDS стал Marathon — 16-битная версия ранней реализации ISAM. Marathon предназначался для операционной системы Onyx — версии Unix для ранних микропроцессоров ZiLOG. В RDS они обратили внимание на расширяющийся рынок реляционных СУБД и выпустили собственный продукт под названием Informix (INFORMation on unIX) в 1981 году. Финальным релизом стала версия 3.30, которая была выпущена в начале 1986 года.

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

К началу 1980-х Informix все еще был мелким игроком на рынке СУБД, но в связи с ростом популярности UNIX и SQL в середине 1980-х, доля Informix заметно выросла. Компания переименовалась в Informix Software. Следующие релизы, с новым движком запросов назыввались 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 также появилась возможность использовать триггеры.

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

Informix обратили внимание на растущий рынок серверов баз данных. В 1994 году, Informix выпускает версию 6.00 своей СУБД. Основной новинкой является Динамически Масштабируемая Архитектура (Dynamic Scalable Architecture, DSA). Из-за DSA произошла значительная переработка ядра СУБД, получившего поддержку горизонтального и вертикального параллелизма, благодаря которым продукт ведущим по масштабируемости на рынке OLTP систем и для хранилищ данных. 1996 год: приобретение Illustra Illustra, написана бывшими разработчиками Postgres под руководством Майкла Стоунбрейкера.

Среди её возможностей:

  • Работа с данными как с объектами в смысле объектно-ориентированного программирования. Благодаря ей проекты стали разрабатываться гораздо быстрее.
  • Появились DataBlade-модули, которые давали возможность создавать новые типы данных

1996—1997 годы: внутренние проблемы

Из-за технических и маркетинговых проблем, Informix-NewEra уступал в своей популярности Java. Также Illustra была внедрена только спустя два года после её написания. Также Гари Кэлли - ведущий разработчик уходит к Oracle, забрав с собой немного сотрудников. Это вынудило Informix подать в суд на Oracle, дабы предотвратить потерю технических секретов.

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

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

2000е года

В марте 2001 компания приобретает Ardent Software, которая разрабатывала мультипространственные движки UniVerse и UniData (вместе известные как U2). На момент приобретения 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 года Питер Гейнс становится генеральным директором Informix. Он пытается реорганизовать компанию, делая её привлекательной для последующей продажи. Одним из основных шагов стало отделение всех технологий (СУБД) от остальных приложений и инструментов. В апреле 2001 года IBM, ведомая предложением Wal-Mart, приобретает у Informix технологию (СУБД), бренд, планы для будущих разработок, а также базу в 100 тыс. клиентов.

Вариации IBM Informix

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

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

IBM Informix Express Edition База данных, у которой имеются все необходимые функции Informix для домашнего использования. Есть версии для нескольких платформ.

IBM Informix Workgroup Edition Предназначен для компаний, которым нужно разрабатывать и внедрять функции корпоративного класса при небольших затратах — для сред Windows и Mac OS X.

IBM Advanced Workgroup Edition Дает широкие возможности управления данными для компаний малого и среднего бизнеса, отличается от BM Informix Workgroup Edition наличием Informix Warehouse Accelerator, который улучшает производительность системы.

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

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

IBM Informix Advanced Enterprise Edition Включает в себя возможности Informix, доступные на всех поддерживаемых платформах, а также Informix Warehouse Accelerator (IWA) и оптимизацию хранения.[Источник 2]

Ниже представлена сравнительная таблица этих версий

Informix Developer Edition Informix Innovator-C Edition IBM Informix Express Edition IBM Informix Workgroup Edition IBM Advanced Workgroup Edition IBM Informix Enterprise Edition IBM Informix Advanced Enterprise Edition и IBM Informix Advanced Developer Edition
Платная или бесплатная Бесплатная Бесплатная Платная Платная Платная Платная Платная
Поддерживаемые платформы Linux, UNIX, macOS, Windows, ARM Linux, macOS, Windows Linux, UNIX, macOS, Windows Linux, UNIX, macOS, Windows, ARM AIX 64-bit, HP IA 64 bit, Solaris SPARC 64 bit, Solaris Intel 64, Linux 64 bit Linux, UNIX, macOS, Windows, ARM AIX 64-bit, HP IA 64-bit, Solaris SPARC 64-bit, Solaris Intel 64, Linux 64-bit
Типы лицензирования Нет Нет Authorized User Single Install, LU Виртуальный Сервер, или PVU Authorized User Single Install, LU Виртуальный Сервер, или PVU PVU Authorized User Single Install или PVU PVU для Advanced Enterprise Edition, Authorized User для Informix Advanced Developer Edition
Ограничения процессора 1 ядро 1 ядро 4 ядра 4 сокета, 16 ядер 4 сокета, 16 ядер для базы данных; 16 ядер для IWA Без ограничений Без ограничений
Ограничения на количество CPU VP 1 1 4 16 16 для каждого компонента Без ограничений Без ограничений
Ограничения на объем используемой памяти 1Гб для одного инстанса 2Гб 8Гб 16Гб 16Гб для базы данных, 48Гб для IWA Без ограничений Без ограничений
Официально разрешается использование на логических разделах [LPAR] и динамических логических разделах [DLPAR] Нет Нет Да Да Да Да Да
Ограничение на размер пространств хранения данных 8Гб 8Гб Без ограничений Без ограничений Без ограничений Без ограничений Без ограничений
Шифрование Да Да Да Да Да Да Да
Параллельные операции и фрагментация Да Нет Нет Нет Нет Да Да
Кластеризация Без ограничений Нет Кластер ограничен до двух узлов Без ограничений Без ограничений Без ограничений Без ограничений
Кластер High Availability Без ограничений Нет Ограничение - один вторичный узел Ограничение - два вторичных узла Ограничение - два вторичных узла Без ограничений Без ограничений
Возможность выполнять операции SQL или NoSQL на втором узле кластера High Availability Да Нет Да Да Да Да Да
Continuous Log Restore (ontape и ON-Bar утилиты для бэкапов) Да Нет Да Да Да Да Да
Поддержка распределенных операций SQL/NoSQL Да Нет Нет Нет Нет Да Да
Поддержка NoSQL Да Да Да Да Да Да Да
Исключенные возможности администрирования SQL Без исключений Приоритизация резервного копирования / восстановления пространств баз данных с помощью OnBar, Recovery Time Objective, Приватный кэш для CPU VP, Шифрование на уровне столбцов данных, Изменение схемы фрагмента таблицы, Direct I/O, Высокопроизводительный загрузчик, Восстановление любой точки жизненного цикла таблицы, Авто-статистика при построении индекса, Уровень изоляции Last committed, Множественные триггеры Приоритизация резервного копирования / восстановления пространств баз данных с помощью OnBar, Recovery Time Objective, Приватный кэш для CPU VP, Шифрование на уровне столбцов данных, Изменение схемы фрагмента таблицы, Direct I/O, Высокопроизводительный загрузчик Приоритизация резервного копирования / восстановления пространств баз данных с помощью OnBar, Recovery Time Objective, Приватный кэш для CPU VP, Шифрование на уровне столбцов данных, Изменение схемы фрагмента таблицы, Direct I/O, Высокопроизводительный загрузчик Приоритизация резервного копирования / восстановления пространств баз данных с помощью OnBar, Recovery Time Objective, Приватный кэш для CPU VP, Шифрование на уровне столбцов данных, Изменение схемы фрагмента таблицы, Direct I/O, Высокопроизводительный загрузчик Без исключений Без исключений
DataBlade Developers Kit Да Да Да Да Да Да Да
Встроенные расширенные функциональные возможности Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries Spatial, Basic Text Search, Node, Large Object Locator, Web Feature Service, Binary, MQ messaging, TimeSeries
Virtual Table / Index Interface Да Да Да Да Да Да Да
Лицензия Cognos® BI — Five-user Нет Нет Нет Нет Да Нет Да
Лицензия SPSS® Data Modeler Нет Нет Нет Нет Нет Нет Да
Оптимизация хранения данных (компрессия) Да Нет Нет Нет Нет В качестве дополнения Да
Advanced Access Control (LBAC) Да Нет Да Да Да Да Да
InfoSphere® Change Data Capture В качестве дополнения Нет Нет Нет Нет В качестве дополнения В качестве дополнения
Informix Developer Edition Informix Innovator-C Edition IBM Informix Express Edition IBM Informix Workgroup Edition IBM Advanced Workgroup Edition IBM Informix Enterprise Edition IBM Informix Advanced Enterprise Edition и IBM Informix Advanced Developer Edition

Версии IBM Informix

Informix 12.10

С развертыванием версии 12.10 в 2013 году IBM подтверждает реальную приверженность Informix технологии, в результате чего вновь появились новые новые возможности. Было добавлено множество новых операторов SQL, а также функциональность, ориентированная на автоматическое администрирование ядра базы данных. Некоторые нововведения весьма примечательны:

  • Запросы находятся в таблице запросов, физически расположенной на нескольких серверах.
  • Добавление ключевого слова GRID в оператор SQL или использование переменной окружения.
  • Больше нет необходимости писать сложные UNION-запросы, которые в конечном итоге должны быть переписаны, если

новый элемент добавляется или удаляется в таблицу запросов. Вторая ключевая особенность версии 12.10 - это интеграция неструктурированных моделей данных, называемых JSON и BSON, которые являются базой технологии NoSQL. Эта новая функция - реальная открытая дверь к вселенной BIG DATA, к которой можно обращаться, используя совместимый драйвер MongoDB. Informix 12.10 - уникальная возможность объединить все преимущества механизма OLTP, включая гибкую сетку, свойства ACID с размером неструктурированных данных благодаря движку NoSQL. Есть возможность выполнить SQL-соединение между традиционной таблицей SQL с коллекцией NoSQL.

Informix 11.70

Выпущена в 2010. Эта версия выходит в результате крупной инвестиции со стороны IBM. Первый выпуск 11.70 насчитывает не менее 78 новых функций и улучшений. Самым значимым является введение гибкой сетки (Flexible Grid). На основе MACH11 архитектуры, гибкая сетка - это новый и не сложный способ создания и администрирования кластеров серверов Informix DB. Другая новая функция - автоматический пул хранения данных (Automatic Storage Pool), подтверждает направление, принятое IBM к автоматическому администрированию IDS, который дополняется настраиваемыми параметрами, с каждым новым выпуском. Метод многоиндексного доступа позволяет оптимизатору Informix выбирать и использовать несколько индексов на одной таблице во время запроса, что ускоряет сложные запросы.

Informix 11.50

Выпущена в 2008. Эта версия содержит в себе улучшения, способствующие стабилизации работы, но не являющиеся революционными. Самым заметным из изменений является сжатие данных таблиц, что кроме преимуществе в хранении, дает "побочный эффект" - увеличение производительность ввода/вывода.

Informix 11.10

Выпущена в 2007. В этой версии произошли значительные инновации, такие как внедрение кластера MACH11. Важные улучшения производительности также присутствуют: вытеснение контрольных точек блокировки, создание онлайн-индекса, режим прямого ввода-вывода для куки-файлов и многое другое. Эта версия, наконец, представляет пользователям Open Admin Tool, инструмент администрирования с графическим интерфейсом, у которого имеется способность анализа производительности SQL-запросов во время выполнения с использованием SQLTRACE. Также был развернут внутренний планировщик Informix, целью которого является администрирования и мониторинга в автоматическом режиме.

Informix 9.40

Выпущена в 2003. Включает в себя: Расширенные средства администрирования репликации. Множество новых операторов SQL.

Установка

Источники

  1. IBM Informix // everipedia.org: сайт. URL: https://everipedia.org/wiki/IBM_Informix/ / (дата обращения: 26.11.2017)
  2. Compare the Informix Version 12 editions //http://www.iiug.org: сайт. URL: http://www.iiug.org/en/2017/07/29/compare-informix/ (дата обращения: 10.12..2017)