Ingres (database)

Продукт
Разработчики: Ingres
Дата последнего релиза: 12 октября 2010 года
Технологии: СУБД

Содержание

О продукте

Ingres (произносится «ingress») — коммерчески поддерживаемая реляционная СУБД с открытыми исходными текстами. Ingres была создана как научно-исследовательский проект в Калифорнийском университете в Беркли в начале 1970-х годов. Закончился этот проект в начале 1980-х. Исходный код, как и для других проектов того же происхождения, был доступен за минимальную плату под лицензией BSD.

Postgres (Post Ingres) (позже развился в PostgreSQL), несмотря на своё название, не основан на Ingres.

История

В 1973 году в IBM приступили к разработке новой СУБД System R и научно-исследовательская группа, занимавшаяся данным проектом, выпустила комплект документации с описанием создаваемой системы. Двое учёных в Беркли — Майкл Стоунбрейкер (Stonebraker) и Юджин Вонг (Wong) — заинтересовались результатами своих коллег из IBM и приняли решение начать свой собственный проект по созданию реляционной СУБД.

Этот проект использовался для исследования географической базы данных группой экономики в Беркли и был назван «Ingres» (INteractive Graphics REtrieval System — диалоговая графическая система поиска). В дальнейшем проектом заинтересовались в трёх военных ведомствах: в Военно-воздушных и Сухопутных силах и Военно-морском флоте.

Получив стороннее финансирование, Ingres был разработан в течение середины 1970-х годов группой студентов и учёных. Ingres проходил через эволюцию, сопровождающуюся доработками, как и System R, с ранним прототипом в 1974 году. Затем Ingres был распространён среди небольшого количества пользователей и участников проекта. Прототип многократно переписывался, чтобы включить накопленный опыт, замечания пользователей и новые идеи. Подобно System R, Ingres работал в системах «низкого уровня» — в операционной системе Unix на машинах DEC.

Версии

Ingres Database 10 (последняя версия)

Ключевые улучшения:

  • Добавлен комплекс инструментов и библиотек Ingres Migration Tool Set для упрощения миграции на Ingres c других СУБД, поддерживается оптимизация и адаптация схем хранения данных от СУБД MySQL, Oracle, MS SQL и Sybase;

  • Реализована поддержка мультиверсионного метода организации конкурирующего доступа к данным (MVCC, multi-version concurrency control), позволяющего избавиться от блокировок при выполнении операций чтения (всегда отдаётся текущий "снапшот" состояния, вносимые изменения будут отражены уже в другом "снапшоте"). Переход к MVCC позволил значительно увеличить производительность многопользовательских систем и конфигураций с большим числом параллельных запросов;

  • Поддержка шифрования данных на уровне столбцов, позволяет обеспечить хранение в зашифрованном виде информации в отдельных столбцах, содержащих приватные или секретные данные, такие как номера кредитных карт или PIN-коды. При этом данные сохраняются в зашифрованном виде не только в харнилище, но и в логах транзакций, журналах и контрольных точках. В качестве алгоритма допустимо использование 128-, 192- и 256-битного шифрования Advanced Encryption Standard (AES).

  • Поддержка сегментирования (partitioning) таблиц, логического разбиения больших таблиц на части, размещаемые на разных дисках/файловых системах;

  • С целью повышения совместимости с другими СУБД добавлены новые типы данных, например, ранее не реализованный тип BOOLEAN;

  • Улучшение механизмов по загрузке больших наборов данных в БД. Например, процесс загрузки данных через стандартный драйвер JDBC 4.0 ускорен на 50%; директива COPY теперь поддерживает запись и чтение файлов в форматах CSV и SSV; скорость выполнения операции "COPY FROM" из текстового файла увеличена почти в два раза;

  • Добавлена поддержка режима пакетного выполнения запросов, при котором вначале выполняется определенный набор запросов и только затем сервер возвращает общий ответ об успешности операции клиенту. В пакетном режиме допускается только использование выражений, не возвращающих данных, например, INSERT и DELETE (использование SELECT недопустимо);

  • Добавлена поддержка скалярных подзапросов, при которых производится выборка только одного столбца или выражения и возвращается только одна строка. Например: "SELECT a, (SELECT MAX(salary) FROM emp), b, ..." или "SELECT ... FROM table1, (SELECT a FROM table2 WHERE col = '123')...";

  • Размер имен столбцов, таблиц, индексов, представлений, переменных и т.п. увеличен с 32 до 256 символов;

  • Добавлена поддержка переименования таблиц и столбцов при помощи конструкций "ALTER TABLE table_name RENAME TO new_table_name", "ALTER TABLE table_name RENAME [COLUMN] old_column_name TO new_column_name" и "RENAME TABLE table_name TO new_table_name";

  • Добавление новых математических функций GREATEST, GREATER, LEAST, LESSER; для совместимости с MySQL, MS SQL, Informix и DB2 добавлена функция LAST_IDENTITY (возвращает последний сгенерированный идентификатор); для совместимости с Oracle добавлены функции NVL и NVL2 (позволяют возвращать указанный аргумент, если другой аргумент NULL); функции для генерации и проверки типовых проверочных кодов - GENERATE_DIGIT и VALIDATE_DIGIT;

  • Добавлена поддержка 64-разрядных ОС Windows;

  • Для Unix-платформ улучшена производительность прямого ввода/вывода и реализована возможность предварительного выделения места под создаваемые файлы для файловых систем с поддержкой функции fallocate.



СМ. ТАКЖЕ (1)


Подрядчики-лидеры по количеству проектов

За всю историю
2021 год
2022 год
2023 год
Текущий год

  SAP CIS (САП СНГ) (38)
  Softline (Софтлайн) (35)
  РДТЕХ (33)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
  ФОРС - Центр разработки (25)
  Другие (729)

  Сапиенс солюшнс (Sapiens solutions) (7)
  Navicon (Навикон) (3)
  BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  IFellow (АйФэлл) (2)
  Другие (35)

  РДТЕХ (1)
  IBS (1)
  Ред Софт (Red Soft) (1)
  InnoSTage (Инностейдж) (1)
  Сбербанк-Технологии (СберТех) (1)
  Другие (20)

  Arenadata (Аренадата Софтвер) (5)
  Тантор Лабс (Tantor Labs) (3)
  ФОРС - Центр разработки (2)
  Ред Софт (Red Soft) (1)
  Digital Design (Диджитал Дизайн) (1)
  Другие (18)

  Arenadata (Аренадата Софтвер) (5)
  GlowByte, ГлоуБайт (ранее Glowbyte Consulting, ГлоуБайт Консалтинг) (2)
  GMCS (1)
  ISimpleLab (АйСимплЛаб) (1)
  RDV (РДВ Автоматизация) (1)
  Другие (13)

Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle (44, 179)
  SAP SE (6, 177)
  Microsoft (23, 142)
  PostgreSQL Global Development Group (14, 125)
  Постгрес профессиональный (ППГ, Postgres Professional) (6, 40)
  Другие (263, 242)

  SAP SE (3, 11)
  Microsoft (3, 11)
  PostgreSQL Global Development Group (3, 10)
  Oracle (2, 4)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 3)
  Другие (10, 13)

  PostgreSQL Global Development Group (4, 9)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
  VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (2, 3)
  Arenadata (Аренадата Софтвер) (3, 2)
  Apache Software Foundation (ASF) (2, 2)
  Другие (9, 9)

  PostgreSQL Global Development Group (3, 13)
  Постгрес профессиональный (ППГ, Postgres Professional) (1, 6)
  Arenadata (Аренадата Софтвер) (3, 5)
  Apache Software Foundation (ASF) (3, 4)
  Тантор Лабс (Tantor Labs) (2, 3)
  Другие (8, 10)

  PostgreSQL Global Development Group (4, 10)
  Arenadata (Аренадата Софтвер) (3, 6)
  VMware (2, 6)
  Постгрес профессиональный (ППГ, Postgres Professional) (2, 5)
  Сбербанк-Технологии (СберТех) (2, 2)
  Другие (4, 6)

Распределение систем по количеству проектов, не включая партнерские решения

За всю историю
2021 год
2022 год
2023 год
Текущий год

  Oracle Database - 106
  Microsoft SQL Server - 104
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 102
  PostgreSQL СУБД - 79
  SAP HANA (High Performance Analytic Appliance) - 72
  Другие 374

  Microsoft SQL Server - 9
  SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 8
  PostgreSQL СУБД - 7
  Oracle Database - 3
  SAP HANA (High Performance Analytic Appliance) - 3
  Другие 21

  Postgres Pro СУБД - 5
  ADB - Arenadata DB - 2
  PostgreSQL СУБД - 2
  Oracle Database - 2
  Tarantool Платформа in‑memory вычислений - 2
  Другие 13

  Postgres Pro СУБД - 6
  PostgreSQL СУБД - 4
  Tantor СУБД - 3
  ADB - Arenadata DB - 3
  Apache Kafka - 2
  Другие 10

  ADB - Arenadata DB - 5
  PostgreSQL СУБД - 4
  Postgres Pro СУБД - 3
  ADH - Arenadata Hadoop - 2
  Сбер Platform V Pangolin - 2
  Другие 8