Функциональные возможности IBM Db2
IBM Db2 использует общепринятую на текущий момент клиент-серверную архитектуру реляционной СУБД, с обеспечением хранения информации на сервере и подключением приложений-клиентов к базам данных локально либо через сеть.
Для обеспечения конкурентного доступа к данным со стороны параллельно исполняемых приложений в Db2 используется транзакционный механизм, основанный на применении блокировок и ведения журнала транзакций, и обеспечивающий предоставление стандартных гарантий ACID (Атомарность, Согласованность, Изолированность, Долговечность). Данный механизм прошёл долгий путь эволюции для обеспечения максимальной производительности, надежности и минимизации задержек исполнения приложений.
В Db2 реализована поддержка всех распространенных промышленных стандартов доступа приложений к данным, включая стандартный язык запросов SQL, интерфейсы ODBC и JDBC, работу с типовыми текстовыми табличными форматами и т.п. Кроме того, Db2 включает в себя развитые возможности по хранению и работе с полуструктурированными данными в форматах XML, JSON/BSON. Для разработки хранимых процедур в DB2 реализована поддержка множества процедурных языков, включая:
- стандартный для Db2 язык SQL PL,
- используемый в СУБД корпорации Oracle язык SQL/PL,
- возможность разработки «внешних» хранимых процедур на языках Java, C, C++ и COBOL.
Отличительными особенностями Db2 является:
- масштабируемость, ограниченная только доступными вычислительными ресурсами, и максимально экономичное использование вычислительных ресурсов;
- мощные встроенные средства разграничения и контроля доступа, предоставляющая возможности гранулярного ограничения доступа к информации в разрезе объектов (таблиц, представлений), а также реализующая модель мандатного разграничения доступа;
- развитая интегрированная система резервного копирования и восстановления данных;
- наличие полного набора технологий для построения «классических» аналитических хранилищ данных (деление таблиц на разделы, материализованные представления, оптимизации кэширования данных и сканирования таблиц и индексов, «внутренний» параллелизм исполнения сложных запросов и т.п.);
- поддержка построения конфигураций массивно-параллельной аналитической обработки данных (MPP) из множества серверов, соединенных через коммуникационную сеть, на базе DB2 Database Partitioning Feature (DB2 DPF);
- максимальная устойчивость к отказам и практически линейное масштабирование кластерных конфигураций DB2 pureScale, с хранением данных на общих дисках;
- технология DB2 BLU, реализующая поддержку современной in-memory «поколоночной» аналитики без использования ручной оптимизации структуры баз данных.
Для облегчения миграции приложений с других типов СУБД (в первую очередь Oracle Database, а также PostgreSQL) в Db2 предусмотрены развитые средства обеспечения совместимости, включая поддержку необходимых типов данных, хранимых процедур, и стандартных системных представлений.
Существует несколько редакций продукта IBM Db2, объединяемых единым набором функций и отличающихся друг от друга наличием ограничений по используемым вычислительным ресурсам. Для ознакомления с продуктом, разработки приложений, изучения и даже развертывания небольших производственных конфигураций может использоваться редакция Db2 Community Edition, доступная бесплатно и предоставляющая полный набор функциональных возможностей.
Описание различных редакций IBM Db2 приведено в официальной документации на продукт.
Помимо редакций основного продукта IBM Db2, существует несколько продуктов, основанных на технологиях Db2, включая Db2 Warehouse и Db2 BigSQL. Более подробная информация об этих продуктах приведена в разделе Семейство продуктов IBM Db2.