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

DataMirror

DataMirror — это технология и программное обеспечение, предназначенное для репликации данных в реальном времени или по расписанию между различными базами данных, хранилищами данных и облачными платформами. Основная цель DataMirror — обеспечение синхронизации, целостности и доступности данных, а также создание резервных копий и распределённых систем обработки информации. Технология используется в корпоративных информационных системах, где требуется высокая надёжность и отказоустойчивость.

История

Развитие технологии DataMirror началось в конце 1990-х — начале 2000-х годов, когда компании столкнулись с необходимостью синхронизации данных между несколькими базами данных, расположенными в разных географических точках. Первые коммерческие решения, такие как DataMirror Transformation Server (позже — IBM InfoSphere Data Replication), были разработаны канадской компанией DataMirror Corporation, основанной в 1993 году. В 2007 году компания была приобретена корпорацией IBM за 165 миллионов долларов США, что позволило интегрировать технологию в более широкий стек продуктов IBM для управления данными.

С развитием облачных вычислений и Big Data в 2010-х годах DataMirror эволюционировал в сторону поддержки распределённых систем, включая Apache Kafka, Amazon Web Services (AWS), Microsoft Azure и Google Cloud Platform. Современные реализации DataMirror часто основаны на открытых протоколах, таких как Change Data Capture (CDC), и поддерживают потоковую обработку данных.

Принцип работы

DataMirror функционирует на основе механизма репликации данных, который может быть реализован двумя основными способами:

  • Синхронная репликация — данные записываются одновременно в несколько узлов, что гарантирует консистентность, но увеличивает задержки.
  • Асинхронная репликация — данные сначала записываются в основной узел, а затем копируются в резервные (зеркальные) узлы с минимальной задержкой.

Ключевой компонент DataMirror — агент репликации, который отслеживает изменения в исходной базе данных (например, через журналы транзакций) и передаёт их в целевую систему. Для этого используются технологии CDC (Change Data Capture), которые позволяют захватывать вставки, обновления и удаления строк без блокировки таблиц.

Основные этапы работы

  1. Захват изменений — агент считывает журнал транзакций или использует триггеры базы данных.
  2. Преобразование — данные могут быть преобразованы в другой формат (например, из SQL в JSON) или очищены от дубликатов.
  3. Передача — изменения отправляются по сети (через TCP/IP, HTTPS или специализированные протоколы) в целевую систему.
  4. Применение — целевая база данных применяет изменения, поддерживая актуальность копии.

Классификация

DataMirror можно классифицировать по нескольким признакам:

По типу репликации

  • Однонаправленная — данные копируются только из источника в приёмник (например, для резервного копирования).
  • Двунаправленная — изменения синхронизируются между двумя системами в обе стороны (требует разрешения конфликтов).
  • Многонаправленнаярепликация между тремя и более узлами (используется в распределённых базах данных).

По способу реализации

  • Аппаратный DataMirror — реализован на уровне дисковых массивов (например, RAID-1 или зеркалирование на уровне контроллеров хранения).
  • Программный DataMirror — реализован на уровне СУБД или приложений (например, Oracle Data Guard, PostgreSQL Streaming Replication, MySQL Replication).

По среде выполнения

  • Локальный — репликация между базами данных в одном дата-центре.
  • Геораспределённый — репликация между дата-центрами, расположенными в разных городах или странах.
  • Облачный — репликация между локальной инфраструктурой и облачными сервисами (гибридные решения).

Применение

DataMirror широко используется в следующих сценариях:

  • Отказоустойчивость и аварийное восстановление — создание горячей резервной копии базы данных, которая может быть активирована в случае сбоя основной системы.
  • Распределённые вычисления — обеспечение доступа к актуальным данным в разных географических точках (например, для филиалов компании).
  • Аналитика и отчётностьрепликация данных из операционных баз (OLTP) в хранилища данных (OLAP) без нагрузки на продуктивные системы.
  • Миграция данных — перенос данных между различными СУБД (например, с Oracle на PostgreSQL) с минимальным временем простоя.
  • Синхронизация с облачными платформами — интеграция локальных систем с сервисами AWS, Azure или Google Cloud.

Примеры реализации

IBM InfoSphere Data Replication (ранее DataMirror)

Один из наиболее известных продуктов, поддерживающий репликацию между IBM Db2, Oracle, Microsoft SQL Server и другими СУБД. Использует CDC для захвата изменений и поддерживает как синхронную, так и асинхронную репликацию.

PostgreSQL Streaming Replication

Встроенная функция PostgreSQL, позволяющая создавать горячие резервные копии с использованием асинхронной репликации. Поддерживает синхронную репликацию для критически важных данных.

Oracle Data Guard

Решение для репликации и аварийного восстановления баз данных Oracle. Поддерживает автоматическое переключение на резервный узел (failover) и ручное переключение (switchover).

Open-source решения

  • SymmetricDS — кроссплатформенная система репликации, поддерживающая MySQL, PostgreSQL, Oracle и другие СУБД.
  • Debezium — платформа для CDC, часто используемая с Apache Kafka для потоковой репликации.

Преимущества и недостатки

Преимущества

  • Высокая доступность — снижение риска потери данных при сбоях.
  • Гибкость — поддержка различных СУБД и облачных платформ.
  • Масштабируемость — возможность добавления новых узлов без остановки системы.
  • Снижение нагрузки — перенос запросов на чтение на резервные копии.

Недостатки

  • Задержки — при асинхронной репликации возможна потеря данных в случае сбоя до завершения копирования.
  • Сложность настройки — требует квалифицированного персонала для корректной конфигурации.
  • Конфликты данных — при двунаправленной репликации необходимо разрешать коллизии (например, одновременное изменение одной записи в двух узлах).
  • Стоимость — лицензионные продукты (например, IBM InfoSphere) могут быть дорогими.

Критика

Основные критические замечания в адрес DataMirror связаны с его зависимостью от сетевой инфраструктуры: при нестабильном соединении или высокой задержке репликация может нарушаться, что приводит к рассинхронизации данных. Также отмечается, что в распределённых системах с большим количеством узлов (более 10) сложность управления и разрешения конфликтов возрастает экспоненциально. Некоторые эксперты указывают, что для критически важных систем предпочтительнее использовать синхронную репликацию, несмотря на её более высокие требования к пропускной способности сети.

Интересные факты

  • Технология DataMirror лежит в основе многих современных систем резервного копирования, таких как Veeam Backup & Replication.
  • В 2023 году компания Google представила решение AlloyDB Omni, которое включает встроенный механизм репликации, аналогичный DataMirror, для гибридных облачных сред.
  • В России технология DataMirror активно используется в банковском секторе для обеспечения непрерывности операций, например, в Сбербанке и ВТБ.

См. также

  • Репликация данных
  • Change Data Capture (CDC)
  • Отказоустойчивость
  • База данных

Источники

  • IBM InfoSphere Data Replication Documentation, IBM Corporation, 2020.
  • PostgreSQL Replication and Automatic Failover, 2nd Edition, O'Reilly Media, 2021.
  • Oracle Data Guard Concepts and Administration, Oracle Corporation, 2022.
  • SymmetricDS User Guide, JumpMind Inc., 2023.
  • Debezium Documentation, Red Hat, 2023.

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →