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

DB2 9 Viper

DB2 9 Viper — это кодовое название девятой версии реляционной системы управления базами данных (СУБД) IBM DB2, выпущенной корпорацией IBM в 2006 году. Основным нововведением версии стала гибридная архитектура, объединяющая поддержку реляционных и иерархических данных, что позволило обрабатывать XML-документы нативно, без преобразования в табличное представление. Релиз ознаменовал переход DB2 в категорию гибридных (XML-ready) баз данных.

История

Разработка DB2 9 (кодовое название Viper) началась в 2004 году под руководством лаборатории IBM в Торонто. Предшествующая версия DB2 8 (2002) уже включала базовую поддержку XML через функции разбора, но требовала хранения данных в реляционных столбцах. К 2005 году рынок столкнулся с ростом объёмов полуструктурированных данных, не укладывающихся в строгие схемы SQL — таких как веб-контент, электронный документооборот и сообщения в формате SOAP.

IBM решила интегрировать в ядро СУБД поддержку XML-модели данных. Работа велась параллельно с проектом DB2 для z/OS (основной мейнфреймовой платформы), но Viper стал первым продуктом, где гибридная архитектура была реализована коммерчески. Бета-версия была представлена на конференции IBM Information On Demand в 2005 году, а финальный релиз состоялся 14 июля 2006 года (для Linux, UNIX, Windows; позднее — для z/OS).

Ключевым моментом стал выпуск бесплатной редакции DB2 Express-C (на базе Viper), предназначенной для разработчиков и малого бизнеса. Это способствовало росту популярности DB2 среди сообщества открытого кода, хотя сама СУБД оставалась проприетарной.

Архитектура и ключевые особенности

Гибридная модель хранения (pureXML)

Основная инновация Viper — введение столбцов с типом данных XML, физически хранящихся в иерархическом формате (дерево узлов), а не в реляционных таблицах. Возможны два режима хранения XML-данных:

  • Нормализованное хранение (Annotated XML Schema Decomposition) — данные разбиваются на реляционные таблицы с использованием аннотированных схем XSD.
  • Неструктурированное хранение (native XML) — данные сохраняются как BLOB (двоичный объект) с индексом по схеме XPath. Это первое коммерческое решение IBM, где XML-данные не требуют развёртки в строки и столбцы.

Режим гибрида позволяет комбинировать SQL и XQuery в одном запросе. Пример запроса на языке SQL/XML:

``sql SELECT emp_id, XMLQUERY('$doc/employee/name/text()' PASSING emp_doc AS "doc") FROM employees WHERE XMLEXISTS('$doc/employee[@dept="IT"]' PASSING emp_doc AS "doc"); ``

Улучшения производительности

  • Компрессия данных (Row Compression) — уменьшение размера хранимых данных до 50–70 % за счёт словарного сжатия.
  • Adaptive Compression — динамическая настройка алгоритмов в зависимости от типа данных.
  • Управление памятью (Self-Tuning Memory Manager) — автоматическое распределение буферных пулов между реляционными и XML-данными.
  • Массовое копирование (Load) с возможностью параллельной загрузки XML-документов.

Безопасность и администрирование

  • LBAC (Label-Based Access Control) — доступ на основе меток конфиденциальности, привязанных к строкам или XML-узлам.
  • Audit Policy — журналирование изменений на уровне таблиц и документов.
  • Autonomic Computing — автоматическая настройка параметров (буферные пулы, соединения, сортировка) без участия администратора.

Версии и редакции

DB2 9 (Viper) распространялась в четырёх основных редакциях для распределённых платформ:

РедакцияНазначениеОсобенности
DB2 Express-CРазработка, тестирование, малый бизнесБесплатна до 2 ядер, 4 ГБ ОЗУ, без ограничений на размер базы. Включает pureXML.
DB2 ExpressКоммерческое использованиеПлатная, до 4 ядер, 16 ГБ ОЗУ.
DB2 Workgroup Server EditionСредние предприятияПоддержка многоядерных систем, расширенная репликация.
DB2 Enterprise Server EditionКрупные организацииПолный функционал, кластеризация, Data Partitioning Feature, HADR (High Availability Disaster Recovery).

Для платформы z/OS (мейнфреймы) была выпущена версия DB2 9 for z/OS, которая также поддерживала pureXML, но отличалась архитектурой виртуального хранения и интеграцией с z/VM.

Применение

  • Электронный документооборот: хранение и поиск документов в форматах XML, XBRL (финансовая отчётность), FpML (финансовые деривативы).
  • Веб-приложения: интеграция с Java EE (через WebSphere Application Server) и .NET (через IBM Data Server Provider for .NET).
  • Интеграция данных: в качестве хранилища для решений IBM InfoSphere (ETL, мастер-данные).
  • Научные и инженерные задачи: хранение метаданных экспериментов, геномных данных.

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

Несмотря на прорывную архитектуру, Viper подвергался критике по нескольким причинам:

  • Производительность XML-запросов — для больших документов (более 10 МБ) нативное хранение часто оказывалось медленнее реляционного разбора из-за накладных расходов на создание индексов XPath.
  • Сложность администрирования — настройка параметров pureXML требовала глубокого понимания XML Schema и путей XPath; автоматизация была недостаточной.
  • Совместимость с конкурентами — продукт Oracle Database 11g (2007) предложил собственную реализацию XML-типов, что привело к фрагментации стандартов.
  • Проблемы с масштабируемостью — на распределённых кластерах (DPF) поддержка XML-столбцов была ограничена.

Наследие

DB2 9 Viper заложила основу для последующих версий: в DB2 10 (2012) была добавлена поддержка XML-индексов на основе XPath 2.0, а в DB2 11 (2014) — интеграция с Hadoop и JSON. С 2019 года IBM позиционирует Db2 (переименованная в 2017 году) как гибридную базу данных для транзакционных и аналитических нагрузок, но pureXML остаётся нишевой возможностью, уступая по популярности JSON и реляционным таблицам.

Источники

  • IBM Redbook: «DB2 9: pureXML Overview and Application Development» (2006).
  • «DB2 9 Technical Overview» — IBM Developer Works, 2007.
  • Г. Мелтон, Д. Хантер, «Understanding DB2 9 Security», IBM Press, 2007.
  • Статья: «DB2 Viper: Fast Forward to the Future of Data Management» — Database Trends and Applications, 2006.
  • Материалы конференции IDUG 2006 — «DB2 9: The Next Generation».

)

Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru