Разработчики: | 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.
Подрядчики-лидеры по количеству проектов
SAP CIS (САП СНГ) (38)
Softline (Софтлайн) (35)
РДТЕХ (33)
BeringPro (БерингПойнт) ранее BearingPoint Russia (28)
ФОРС - Центр разработки (25)
Другие (746)
Сапиенс солюшнс (Sapiens solutions) (7)
BeringPro (БерингПойнт) ранее BearingPoint Russia (3)
Navicon (Навикон) (3)
Инфосистемы Джет (2)
Крок (2)
Другие (35)
VK Tech (ранее VK Цифровые технологии, ВК Цифровые технологии и Mail.ru Цифровые технологии) (1)
Айтеко (Ай-Теко, iTeco) (1)
Астерос (1)
Атомдата (Atomdata) (1)
Группа Борлас (Borlas) (1)
Другие (20)
Распределение вендоров по количеству проектов внедрений (систем, проектов) с учётом партнёров
Oracle (44, 179)
SAP SE (6, 178)
Microsoft (23, 142)
PostgreSQL Global Development Group (14, 130)
Постгрес профессиональный (ППГ, Postgres Professional) (6, 41)
Другие (266, 253)
Microsoft (3, 11)
SAP SE (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)
Oracle (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, 12)
Arenadata (Аренадата Софтвер) (3, 7)
VMware (2, 7)
Постгрес профессиональный (ППГ, Postgres Professional) (2, 6)
Диасофт (Diasoft) (1, 3)
Другие (7, 8)
Распределение систем по количеству проектов, не включая партнерские решения
Oracle Database - 106
Microsoft SQL Server - 104
SAP NetWeaver Business Warehouse (SAP BW/4HANA) - 103
PostgreSQL СУБД - 81
SAP HANA (High Performance Analytic Appliance) - 72
Другие 383
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
Tarantool Платформа in‑memory вычислений - 2
Oracle Database - 2
Другие 13
Postgres Pro СУБД - 6
PostgreSQL СУБД - 4
Tantor СУБД - 3
ADB - Arenadata DB - 3
ClickHouse - система управления базами данных (СУБД) - 2
Другие 10
ADB - Arenadata DB - 6
PostgreSQL СУБД - 5
Postgres Pro СУБД - 4
Diasoft Digital Q.Database - 3
ADH - Arenadata Hadoop - 2
Другие 10