Skip to main content

Oracle GoldenGate Veridata 26c: Эволюция от утилиты к платформе автоматизации

Что принципиально нового появилось в 26-м релизе Oracle GoldenGate Veridata? Если говорить кратко — он наконец-то стал полноценным гражданином мира DevOps.

Я помню времена Veridata 12c. Мощный инструмент для сравнения данных, спору нет. Но попытки встроить его в конвейеры автоматизации наталкивались на суровую реальность: либо веб-интерфейс, либо vericom.sh. Скрипты, шелл, костыли — и вот ты уже гордый владелец сложной системы из вызовов коммандника и парсинга вывода. Но, да, это работало и довольно неплохо.

В 23-м релизе что-то начало меняться, но именно 26-й версии можно смело сказать: наконец-то. То, что мы раньше делали с помощью vericom.sh и баш-скриптов, теперь можно делать через полноценный REST API. И это не просто "еще один способ", это фундаментальный сдвиг в том, как мы строим процессы вокруг верификации данных.

API как фундамент автоматизации

Открываем документацию по REST endpoints и видим не просто пару методов "для галочки", а полноценное покрытие жизненного цикла сравнения:

  • Управление конфигурацией: создание соединений (/connections), групп сравнения (/groups), джобов (/jobs) и правил сравнения (/cps). Больше не нужно накликивать это в GUI или тащить за собой XML-ки через утилиты импорта/экспорта, если вы строите динамическую инфраструктуру.

  • Запуск и мониторинг: запуск джобы (/execution/jobs/{id}), остановка, мониторинг статуса (/monitoring/jobs). Это именно то, чего так не хватало для интеграции с Jenkins, GitLab CI или вашей внутренней системой оркестрации.

  • Работа с расхождениями: получение данных о "раз sync" записях (/oos/{runId}) и, что важнее, запуск ремонта (/repair/jobs/{runId}). Мы теперь можем строить умные пайплайны: обнаружил расхождение — запусти автоматический ремонт или создай тикет в ServiceNow.

  • Администрирование: управление пользователями (/admin/users), настройка уровней логирования (/logs/server/configuration). Все это теперь можно централизованно конфигурировать через код.

Встроенный планировщик: прощай, Cron

Второй ключевой момент, который идет рука об руку с API — нативная поддержка планировщика. Раньше, чтобы запускать сравнение по ночам, мы использовали cronvericom.sh . Это было внешнее по отношению к Veridata решение.

Теперь планировщик — это часть продукта. Судя по блогу Oracle, он доступен и через UI, и через API (/configuration/schedule/jobs). Это означает, что мы можем создавать периодические задания на сравнение данных программно. Хотите сравнивать критичную витрину каждые 15 минут? Пожалуйста, просто POST на нужный эндпоинт с расписанием в формате cron. Все это ловится, логируется и управляется из единого центра.

Что это меняет на практике?

  1. Инфраструктура как код (IaC): теперь конфигурацию Veridata можно хранить в Git. При развертывании нового окружения мы не вспоминаем, как настроить соединения к тестовой и продовой БД. Мы просто применяем манифесты через API.

  2. Интеграция с пайплайнами: этап верификации данных после миграции или репликации становится "first-class citizen" в CI/CD. Джоба запускается автоматически, статус проверки влияет на прохождение пайплайна. Зеленая сборка означает не только "код скомпилировался", но и "данные сошлись".

  3. Автоматическое устранение расхождений: мы можем строить реактивные системы. Обнаружили расхождение в некритичных справочниках? Запустили POST /repair/jobs. Обнаружили в финансовом журнале? Отправили алерт в Telegram и создали задачу администратору, даже не заходя в веб-морду.

Конечно, приятно, что в 26-й версии появилась поддержка MongoDB и Azure Synapse, а сам продукт теперь доступен в виде контейнеров (что тоже упрощает автоматизацию развертывания). Но для меня, как для человека, который годами писал обертки над vericom.sh, главная новость именно в этом: Veridata превратился из инструмента с ручным управлением в платформу для автоматизации доверия к данным. API и встроенный планировщик — вот то, чего мы ждали долгие годы.