IBM Db2 Mirror
IBM Db2 Mirror — это технология высокодоступного и отказоустойчивого кластеризации для систем управления базами данных (СУБД) IBM Db2, реализованная на уровне операционной системы IBM i. Она обеспечивает синхронную репликацию данных и автоматическое переключение между двумя узлами кластера с целью минимизации времени простоя при сбоях.
История
Технология Db2 Mirror была анонсирована корпорацией IBM в 2018 году как развитие концепции высокодоступных решений для платформы IBM i. До её появления основными способами обеспечения отказоустойчивости были логическая репликация (например, с помощью IBM i PowerHA) и аппаратные решения (например, кластеры на базе PowerHA SystemMirror). Db2 Mirror стала первым продуктом, который реализовал синхронную репликацию на уровне базы данных Db2, что позволило значительно сократить время восстановления (RTO) до секунд и практически полностью исключить потерю данных (RPO = 0). Первая версия была выпущена для IBM i 7.3 и Db2 for i 7.3. В последующих обновлениях (7.4, 7.5) расширялась поддержка типов данных, объектов и сценариев использования.
Архитектура и принцип работы
Узлы кластера
Db2 Mirror использует два физических или логических сервера (узла), работающих под управлением IBM i. Один узел является активным (primary), второй — резервным (standby). Оба узла должны быть подключены к одной сети и иметь доступ к общему хранилищу данных (например, через SAN или SAS). В отличие от классических решений с асинхронной репликацией, Db2 Mirror не требует отдельного хранилища для каждого узла — данные хранятся на общем дисковом массиве.
Синхронная репликация
Основной механизм — синхронная репликация изменений на уровне страниц базы данных. При выполнении транзакции на активном узле изменения (записи, обновления, удаления) сначала записываются в журнал транзакций (journal) на активном узле, а затем немедленно передаются на резервный узел через высокоскоростное соединение (обычно 10Gb Ethernet или Fibre Channel). Резервный узел применяет эти изменения к своей копии базы данных. Только после подтверждения успешного применения изменений на обоих узлах транзакция считается завершённой. Это гарантирует, что в любой момент времени данные на обоих узлах идентичны.
Автоматическое переключение (failover)
При обнаружении сбоя на активном узле (например, аппаратный отказ, сбой ОС, потеря связи) резервный узел автоматически берёт на себя роль активного. Процесс переключения занимает, как правило, от нескольких секунд до минуты. После восстановления исходного узла он автоматически синхронизируется с текущим активным узлом и возвращается в резервное состояние. Администратор может инициировать плановое переключение (switchover) для обслуживания оборудования или обновления ПО.
Поддержка приложений
Приложения, работающие с базой данных, не требуют специальной настройки для использования Db2 Mirror. Они подключаются к виртуальному IP-адресу или имени сервера, которое автоматически перенаправляется на активный узел. После переключения приложения автоматически восстанавливают соединение с новым активным узлом. Это обеспечивает прозрачность для конечных пользователей.
Классификация и варианты развёртывания
Db2 Mirror может быть развёрнута в нескольких конфигурациях:
- Активный-резервный (Active-Standby): Базовая конфигурация, где один узел обрабатывает все запросы, второй — пассивен и поддерживает синхронную копию данных. Подходит для большинства критичных бизнес-приложений.
- Активный-активный (Active-Active): В этой конфигурации оба узла могут обрабатывать запросы, но каждый узел работает с собственным набором таблиц или разделов базы данных. Репликация между узлами остаётся синхронной, но требует тщательного проектирования схемы данных для избежания конфликтов. Используется реже, в основном для распределённых приложений с высокой нагрузкой.
- Географически распределённый кластер (Geo-Mirror): Узлы могут быть расположены в разных физических дата-центрах на расстоянии до нескольких десятков километров. В этом случае используется асинхронная репликация (из-за задержек в сети), что увеличивает RPO до нескольких секунд. Такая конфигурация защищает от катастроф (пожар, наводнение) в одном ЦОД.
Преимущества и ограничения
Преимущества
- Минимальное время простоя: RTO (Recovery Time Objective) — от нескольких секунд до минуты, RPO (Recovery Point Objective) — нулевое (при синхронной репликации).
- Прозрачность для приложений: Не требуется изменять код приложений.
- Простота управления: Администрирование через стандартные инструменты IBM i (например, Navigator for i).
- Экономия ресурсов: Не требуется отдельное хранилище для каждого узла (при использовании общего хранилища).
Ограничения
- Зависимость от сети: Требуется высокоскоростное и надёжное соединение между узлами. Задержки в сети увеличивают время отклика транзакций.
- Стоимость: Требуется лицензирование на оба узла (как для IBM i, так и для Db2). Также необходимы два сервера и общее хранилище.
- Совместимость: Не все объекты базы данных поддерживаются (например, некоторые типы индексов, временные таблицы, хранимые процедуры с определёнными конструкциями). Перед внедрением требуется анализ приложений.
- Нагрузка на производительность: Синхронная репликация может увеличить время выполнения транзакций на 5–15% в зависимости от нагрузки и сети.
Применение
Db2 Mirror используется в организациях, где критически важные бизнес-приложения (например, ERP-системы, банковские системы, системы управления складом) должны быть доступны 24/7. Она особенно востребована в финансовом секторе, розничной торговле, логистике и здравоохранении. В России технология применяется в компаниях, использующих IBM i (например, в ритейле, на производственных предприятиях, в государственных учреждениях). Однако из-за санкционных ограничений и ухода IBM с российского рынка в 2022 году, новые лицензии и поддержка для российских клиентов стали недоступны, что привело к переходу части пользователей на альтернативные решения (например, на СУБД с открытым исходным кодом или на отечественные СУБД).
Сравнение с другими решениями
| Характеристика | Db2 Mirror | PowerHA SystemMirror (асинхронная репликация) | Логическая репликация (например, MIMIX) |
|---|---|---|---|
| RPO | 0 (синхронная) | Секунды-минуты | Секунды-минуты |
| RTO | Секунды-минуты | Минуты-часы | Минуты-часы |
| Требования к хранилищу | Общее | Раздельное | Раздельное |
| Сложность настройки | Средняя | Высокая | Средняя |
| Зависимость от сети | Высокая | Средняя | Низкая |
| Стоимость лицензий | Высокая | Средняя | Средняя |
Интересные факты
- Db2 Mirror является частью экосистемы IBM i, которая, в свою очередь, является одной из старейших коммерческих операционных систем (выпущена в 1988 году).
- Технология была разработана с учётом требований к высокой доступности для банковских систем, где недопустима потеря даже одной транзакции.
- В 2021 году IBM выпустила обновление, позволяющее использовать Db2 Mirror с контейнерными приложениями на базе IBM i.
Источники
- IBM Knowledge Center: Db2 Mirror for i (IBM i 7.5)
- IBM Redbooks: Db2 Mirror for i: A Practical Guide
- Документация IBM PowerHA SystemMirror for i
- Статьи на сайте IBM Developer (раздел IBM i)
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →