IBM Db2 Analytics Accelerator
IBM Db2 Analytics Accelerator (IDAA) — это аппаратно-программный комплекс, предназначенный для ускорения выполнения аналитических запросов (запросов типа OLAP) к базам данных под управлением СУБД IBM Db2 for z/OS. Решение позволяет разгрузить основной процессор мейнфрейма (z/OS), перенаправляя ресурсоёмкие запросы на специализированные аналитические процессоры, что значительно сокращает время выполнения сложных отчётов и не влияет на производительность операционных (транзакционных) нагрузок.
История и развитие
Разработка IBM Db2 Analytics Accelerator началась в конце 2000-х годов в ответ на растущий спрос со стороны крупных корпоративных клиентов на быструю аналитику в реальном времени без миграции данных с мейнфреймов. Первая версия продукта была выпущена в 2010 году. Изначально IDAA базировался на специализированном аппаратном обеспечении IBM, построенном на процессорах Power и, впоследствии, на архитектуре Netezza.
В 2014 году вышло второе поколение Accelerator, которое было интегрировано с IBM BLU Acceleration — технологией хранения данных в оперативной памяти и колоночного сжатия. Ключевым изменением стал отказ от специализированной аппаратуры в пользу программного решения, работающего на стандартных серверах x86 (Linux). Это позволило снизить стоимость владения и упростить масштабирование.
Дальнейшие версии (с 2015 года и далее) сосредоточились на расширении функциональности: поддержка более сложных типов запросов (включая соединения и подзапросы), улучшенная интеграция с IBM Db2 for z/OS, а также возможность работы с данными, хранящимися в формате партиций (partitioned tables). Последние версии продукта полностью программные и работают как виртуальные машины на гипервизоре Linux, что делает их совместимыми с современными облачными и гибридными средами.
Принцип работы
Основной принцип работы IDAA заключается в прозрачном перенаправлении запросов (query offloading).
1. Анализ запроса
Когда пользователь или приложение отправляет запрос к СУБД IBM Db2 for z/OS, оптимизатор Db2 оценивает, является ли данный запрос аналитическим (например, содержит агрегатные функции SUM, COUNT, AVG, группировки GROUP BY, соединения больших таблиц) или операционным (короткие единичные транзакции SELECT/INSERT/UPDATE по ключу).
2. Решение об offloading
Оптимизатор принимает решение: если запрос выгодно выполнять на IDAA (по критериям стоимости и времени), он автоматически передаёт его на сервер Accelerator. Решение принимается на основе метаданных и статистики, накопленных в системном каталоге Db2. Пользователь не указывает явно, куда отправлять запрос — процесс полностью автоматический.
3. Выполнение на Accelerator
Запрос выполняется на программном сервере IDAA, который использует технологию колоночного хранения данных (BLU Acceleration). Данные, необходимые для запроса, могут быть либо уже предварительно загружены в память Accelerator, либо загружаться из Db2 по мере необходимости. Выполнение на IDAA максимально использует параллельные вычисления и аппаратное ускорение (SSD-накопители, большие объёмы RAM).
4. Возврат результата
Результат выполнения запроса (набор строк или агрегированное значение) передаётся обратно в IBM Db2 for z/OS, который возвращает его клиенту. Внешне для приложения-клиента взаимодействие абсолютно прозрачно: оно выглядит как обычное выполнение запроса к Db2.
Архитектура
Современная версия IBM Db2 Analytics Accelerator состоит из следующих компонентов:
- IDAA Manager — управляющий узел, отвечающий за конфигурацию, мониторинг, лицензирование и управление репликацией данных.
- IDAA Nodes — один или несколько вычислительных узлов (серверов x86 с Linux), на которых развёрнута среда BLU Acceleration. Каждый узел хранит часть данных (по принципу шардинга) и выполняет полученные запросы. Узлы могут быть организованы в кластер.
- Сетевое соединение — высокоскоростная сеть (обычно Ethernet 10Gb или InfiniBand) между мейнфреймом и кластером IDAA.
- Синхронизация данных — процесс, при котором данные из таблиц Db2 for z/OS автоматически реплицируются в колоночный формат на IDAA. Синхронизация может быть как полной (при старте), так и инкрементальной (в реальном времени или по расписанию). IDAA поддерживает механизм Change Data Capture (CDC) для минимальной задержки.
Характеристики и возможности
- Колоночное сжатие (BLU Acceleration) — данные хранятся в колоночном (столбцовом) формате, что позволяет существенно снизить объём хранимых данных (в 5–10 раз по сравнению со строчным хранением) и ускоряет операции агрегации.
- Прозрачность — полная интеграция на уровне ядра СУБД Db2 for z/OS. Не требуется изменений в приложениях, SQL-запросах или хранимых процедурах.
- Высокая производительность — типичное ускорение сложных аналитических запросов в 5–50 раз по сравнению с выполнением на основном процессоре мейнфрейма. Некоторые запросы могут ускоряться до 100 раз.
- Работа в реальном времени — поддержка синхронизации данных в режиме, близком к реальному времени (задержка от секунд до минут в зависимости от настроек).
- Масштабируемость — добавление дополнительных узлов IDAA линейно увеличивает производительность и объём хранимых данных.
- Защита данных — все данные в IDAA шифруются на дисках (шифрование в покое) и передаются по сети с использованием TLS.
Применение
IBM Db2 Analytics Accelerator используется в первую очередь в крупных финансовых, страховых, телекоммуникационных и ритейловых организациях, которые эксплуатируют мейнфреймы IBM Z для критически важных операционных систем (Core Banking, CRM, ERP). Основные сценарии применения:
- Оперативная отчётность (Operational Reporting) — быстрый доступ к данным для построения отчётов в реальном времени без копирования данных в отдельные хранилища (Data Warehouse).
- Аналитика по историческим данным — выполнение запросов, которые охватывают большие периоды времени (годы) и требуют сканирования огромных таблиц, что было бы непрактично на мейнфрейме.
- Поддержка решений по управлению рисками и комплаенсу — быстрая обработка регуляторных отчётов.
- Интеграция с Hadoop и другими аналитическими платформами — возможность выгрузки обогащённых данных из IDAA в системы Data Lake.
Примеры и критика
Пример использования: банк использует IBM Db2 for z/OS для обработки ежедневных транзакций по кредитным картам. Запрос на расчёт общего оборота по всем картам за последний месяц, который на мейнфрейме выполнялся 30 минут, после внедрения IDAA выполняется за 30–60 секунд.
Критика продукта в основном сводится к следующему:
- Зависимость от архитектуры IBM Z — IDAA не может использоваться с другими СУБД, кроме IBM Db2 for z/OS.
- Стоимость — хотя IDAA дешевле, чем покупка дополнительных мощностей мейнфрейма, он всё равно требует начальных инвестиций в лицензионное обеспечение (программное и, в прошлом, аппаратное).
- Ограниченная гибкость — не все SQL-конструкции могут быть выгружены на IDAA (например, некоторые типы DML-операций, рекурсивные запросы). Однако с каждой версией это ограничение сокращается.
- Управление данными — необходимость настройки и мониторинга репликации данных создаёт дополнительную административную нагрузку.
См. также
- IBM Db2 for z/OS
- Мейнфрейм
- Колоночная СУБД
- BLU Acceleration
Источники
- IBM Knowledge Center: Db2 Analytics Accelerator for z/OS (официальная документация).
- IBM Redbooks publication "IBM Db2 Analytics Accelerator for z/OS: Performance and Best Practices".
- IBM Db2 Analytics Accelerator Overview and Architecture (IBM Technical Library).
- Статья "IBM Db2 Analytics Accelerator: The Next Generation" (IBM Systems Magazine).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →