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

Ingres

Ingres — это французская компания, специализирующаяся на разработке и поддержке систем управления базами данных (СУБД). Основана в 1980 году как стартап, выделившийся из исследовательского проекта Калифорнийского университета в Беркли. Название «Ingres» является аббревиатурой от Interactive Graphics and Retrieval System (Интерактивная графическая и поисковая система). Компания известна своей одноимённой СУБД, которая стала одной из первых реляционных баз данных, оказав значительное влияние на развитие индустрии программного обеспечения.

История

Происхождение и ранние годы (1970–1980)

Проект Ingres был начат в 1973 году в Калифорнийском университете в Беркли под руководством Майкла Стоунбрейкера, одного из пионеров реляционных баз данных. Изначально система разрабатывалась как исследовательская платформа для проверки идей реляционной модели, предложенной Эдгаром Коддом. В 1977 году вышла первая версия Ingres, которая работала на операционной системе Unix. К 1980 году проект привлёк внимание инвесторов, и была основана компания Relational Technology Inc. (позже переименованная в Ingres Corporation) для коммерциализации технологии.

Коммерциализация и конкуренция (1980–1990)

В 1980-х годах Ingres конкурировала с другими реляционными СУБД, такими как Oracle, IBM DB2 и Sybase. Компания предлагала продукты для научных и коммерческих организаций, включая версии для операционных систем Unix, VMS и DOS. В 1985 году вышла версия Ingres 5.0, которая поддерживала распределённые базы данных и улучшенную производительность. Однако к концу десятилетия Ingres начала терять рыночную долю из-за агрессивного маркетинга Oracle и перехода на клиент-серверную архитектуру.

Поглощение и смена владельцев (1990–2005)

В 1990 году компания была приобретена корпорацией ASK Group, которая в 1994 году сама была куплена Computer Associates (CA). Под управлением CA Ingres продолжала развиваться, но её позиции на рынке ослабли из-за недостаточного инвестирования и конкуренции со стороны PostgreSQL и MySQL. В 2004 году CA выпустила Ingres r3, которая стала последней проприетарной версией. В 2005 году CA объявила о намерении открыть исходный код Ingres, что произошло в 2006 году.

Открытый исходный код и современность (2005–настоящее время)

В 2006 году Ingres была выпущена под лицензией GNU GPL, что сделало её свободной СУБД. В 2007 году была основана компания Ingres Corporation (позже переименованная в Actian Corporation) для поддержки и развития продукта. В 2010-х годах Ingres использовалась в основном в корпоративных средах, где требовалась высокая надёжность и совместимость с устаревшими системами. В 2018 году Actian Corporation была приобретена компанией HCL Technologies, которая продолжает разработку и поддержку Ingres.

Архитектура и характеристики

Реляционная модель

Ingres является реляционной СУБД, то есть данные в ней организованы в виде таблиц (отношений), связанных между собой с помощью ключей. Система поддерживает язык SQL (Structured Query Language) для запросов и управления данными. В отличие от более современных СУБД, Ingres использует классическую архитектуру с централизованным сервером, хотя в более поздних версиях была добавлена поддержка распределённых баз данных.

Транзакции и надёжность

Ingres поддерживает транзакции с гарантиями ACID (атомарность, согласованность, изолированность, долговечность). Это достигается за счёт использования журнала транзакций (WAL — Write-Ahead Logging) и механизмов блокировок. Система обеспечивает высокую надёжность, что делает её пригодной для критически важных приложений, например, в финансовом секторе или государственных учреждениях.

Индексация и производительность

Для ускорения запросов Ingres поддерживает различные типы индексов: B-деревья, хеш-индексы и битовые карты. Оптимизатор запросов использует статистику для выбора эффективного плана выполнения. В версии Ingres r3 была добавлена поддержка параллельных запросов и кластеризации.

Совместимость и интерфейсы

Ingres поддерживает стандартные протоколы взаимодействия, такие как ODBC (Open Database Connectivity) и JDBC (Java Database Connectivity), что позволяет подключаться к ней из различных языков программирования (C, C++, Java, Python). Система также совместима с инструментами для администрирования, например, с утилитами командной строки и графическими интерфейсами.

Применение

Корпоративные системы

Ingres традиционно использовалась в крупных организациях для управления данными в таких областях, как банковское дело, страхование, телекоммуникации и государственное управление. Например, в 1990-х годах Ingres применялась в системах управления персоналом и бухгалтерского учёта в ряде европейских компаний.

Научные исследования

Благодаря своей открытости и гибкости, Ingres использовалась в академических кругах для исследовательских проектов. В частности, на основе Ingres были разработаны прототипы распределённых баз данных и систем обработки временных рядов.

Устаревшие системы

В 2020-х годах Ingres сохраняет определённую популярность среди организаций, использующих унаследованные приложения, которые были разработаны в 1980–1990-х годах. Миграция с Ingres на более современные СУБД (например, PostgreSQL) часто требует значительных затрат, поэтому многие компании предпочитают продолжать поддержку устаревших систем.

Критика и ограничения

Сложность администрирования

Ingres критикуется за сложность настройки и администрирования по сравнению с более современными СУБД, такими как PostgreSQL или MySQL. Пользователи отмечают, что документация и инструменты управления устарели, а сообщество разработчиков невелико.

Ограниченная масштабируемость

Хотя Ingres поддерживает распределённые базы данных, её архитектура не рассчитана на горизонтальное масштабирование (sharding) в облачных средах. Это делает её менее привлекательной для современных веб-приложений и систем с высокой нагрузкой.

Отсутствие активного развития

После открытия исходного кода в 2006 году Ingres не получила значительных обновлений. В 2020-х годах разработка сосредоточена на исправлении ошибок и поддержке совместимости, а не на внедрении новых функций, таких как поддержка JSON, машинное обучение или интеграция с облачными платформами.

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

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →