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, машинное обучение или интеграция с облачными платформами.
Интересные факты
- Код Ingres послужил основой для создания PostgreSQL. Майкл Стоунбрейкер, покинув проект Ingres, начал разработку Postgres (Post-Ingres) в 1986 году, что привело к появлению одной из самых популярных реляционных СУБД с открытым исходным кодом.
- Ingres была одной из первых СУБД, поддерживающих язык SQL, который стал стандартом для реляционных баз данных.
- В 1990-х годах Ingres использовалась в системах управления полётами в некоторых авиакомпаниях, что подтверждает её надёжность.
Источники
- Michael Stonebraker, «The Ingres Papers», Addison-Wesley, 1986.
- Документация Ingres, Actian Corporation, 2018.
- История реляционных баз данных, Университет Беркли, 2005.
- Обзор СУБД Ingres, журнал «Computerworld», 1994.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →