Spójność danych bez przestojów.
Compare weryfikuje zgodność danych między bazą źródłową i docelową w scenariuszach replikacji, migracji, backupu, raportowania i active-active, bez wyłączania systemów z ruchu.
Czym jest Compare?
Compare powstał dla zespołów, które potrzebują wiarygodnej odpowiedzi na jedno praktyczne pytanie: czy baza docelowa jest nadal wierna źródłu, mimo że replikacja i ruch biznesowy działają bez przerwy?
Compare to moduł platformy GIFRÖST zapewniający spójność danych między bazą źródłową a bazami docelowymi — kopiami zapasowymi, bazami raportowymi, układami active-active i innymi systemami z redundantną kopią danych. W dalszej części dokumentacji systemy te określamy zbiorczo jako bazy docelowe.
Wymóg wysokiej dostępności danych i dostępu do nich niemal w trybie 24/7/365 sprawił, że firmy utrzymują rozproszone, redundantne kopie danych. W złożonym środowisku IT utrzymanie ich pełnej zgodności jest jednak trudne, a rozbieżności są realnym ryzykiem. Niewykryte w porę „złe" dane prowadzą do błędnych decyzji, niedotrzymanych SLA, a w konsekwencji do ryzyka operacyjnego, finansowego i prawnego.
Compare umożliwia okresowe — tak częste, jak potrzeba — porównania między źródłem a celem bez wyłączania któregokolwiek z systemów. To proste w obsłudze, a zarazem wydajne narzędzie do wykrywania danych niespójnych (out-of-sync), zanim wpłyną one na biznes. Można je wdrożyć razem z mechanizmem replikacji w czasie rzeczywistym lub niezależnie.
Replikacja działa, ale to za mało. Potrzebujesz potwierdzenia, że kopia nadal odpowiada źródłu.
Przestój nie wchodzi w grę. Walidacja musi odbywać się bez wyłączania źródła i celu z ruchu.
Baza docelowa ma znaczenie operacyjne. Raportowanie, DR, migracja i active-active wymagają potwierdzonej spójności.
Wyzwania w utrzymaniu spójności danych
Replikacja może działać poprawnie, a baza docelowa i tak może być błędna. Najczęstsze źródła niespójności są jednocześnie techniczne, operacyjne i ludzkie.
Narzędzia do inicjalnego ładowania i replikacji mogą inaczej interpretować te same dane albo pominąć otwarte transakcje w trakcie przełączenia.
Scenariusze lift-and-shift dokładają nowy poziom ryzyka spójności między lokalizacjami on-premise i cloud.
Odmienne kodowania, locale, endianness lub obsługa dat i czasu mogą po cichu deformować dane po stronie celu.
Brak kluczy, triggerów, zadań lub skryptów może prowadzić do duplikatów albo brakujących zachowań po stronie docelowej.
Replikacja może działać zgodnie z konfiguracją i jednocześnie nie spełniać wymagań jakości danych, bez jawnych błędów w logach.
Niektóre operacje, takie jak ładowanie masowe z pominięciem logu transakcyjnego, mogą w ogóle nie trafić do strumienia replikacji.
Replikacja asynchroniczna zawsze zostawia krótkie opóźnienie między zmianą w źródle a jej widocznością w celu.
Bazy raportowe i zapasowe bywają otwarte do zapisu, a działania użytkowników lub administratorów mogą naruszyć spójność.
Aplikacja korzystająca z bazy docelowej może wprowadzić nowe rozbieżności, nawet jeśli dziś środowisko jest zgodne.
Wymagania wobec rozwiązania
Skuteczne narzędzie do kontroli spójności nie może być tylko dokładne. Musi też być szybkie, selektywne, bezpieczne dla produkcji i użyteczne po zakończeniu porównania.
Compare łączy niskoinwazyjne działanie z selektywną logiką porównania, świadomością opóźnienia replikacji i raportowaniem gotowym do użycia operacyjnego i audytowego.
Jak działa Compare?
Compare unika modelu „odczytaj wszystko i porównaj wszystko". Zawęża pracę do danych, które mają znaczenie, i odróżnia chwilowe opóźnienie od realnej niespójności.
Wiersze są pobierane ze źródła i celu, a przy różnych silnikach baz dane są normalizowane do wspólnej postaci.
Klucze główne porównywane są wartość-po-wartości, a pozostałe kolumny domyślnie przez sygnaturę, by ograniczyć ruch sieciowy.
W środowiskach replikowanych podejrzane wiersze trafiają do kolejki, bo cel może być jeszcze chwilowo opóźniony względem źródła.
Po zadanym progu opóźnienia Compare rozróżnia chwilowy lag od trwałego driftu danych.
Wiersz zmienił się po porównaniu wstępnym, więc nie można jeszcze potwierdzić stabilnej niespójności.
Wiersz został potwierdzony jako zgodny po dodatkowej weryfikacji.
Wiersz pozostaje niespójny także po etapie potwierdzenia uwzględniającym opóźnienie replikacji.
Porównanie oparte o hashe ogranicza ruch sieciowy, a etap potwierdzenia odróżnia realne niespójności od różnic chwilowych wynikających z opóźnienia replikacji.
Architektura
Typowe wdrożenie Compare jest modułowe. Komponenty mogą działać razem lub osobno, wszystkie połączenia są dwukierunkowe, a repozytorium przechowuje wyłącznie konfigurację — bez danych użytkownika.
Konfiguruje zadania, uruchamia porównania i udostępnia raporty w interfejsie webowym.
Uruchamia zadania porównań na podstawie konfiguracji z repozytorium i dobrze wpisuje się w harmonogramowanie.
Działają blisko baz źródłowej i docelowej, pobierają wiersze i przekazują je do procesu porównania.
Przechowują konfigurację, wspierają import i eksport oraz oddzielają warstwę operacyjną od danych biznesowych.
Komponenty Compare
Bazy danych
JDBC Bezpośrednia łączność z bazą
TCP/IP + SSL Szyfrowany ruch agent-serwer
Obsługiwane bazy danych
Compare jest przygotowany do pracy z bazami klasy enterprise, które najczęściej pojawiają się w projektach replikacyjnych, modernizacyjnych i disaster-recovery.
Compare obsługuje obecnie następujące bazy danych klasy korporacyjnej:
PostgreSQL
Oracle
Informix
IBM DB2
Porównania jednorodne i niejednorodne
Ten sam model działania sprawdza się zarówno przy walidacji tego samego silnika, jak i przy migracjach między różnymi platformami, gdzie wcześniej trzeba ujednolicić dane.
Przydaje się wtedy, gdy źródło i cel działają na tym samym typie bazy, np. Oracle do Oracle, i chcesz potwierdzić zgodność replikacji lub środowiska zapasowego.
Sprawdza się przy migracjach między silnikami, np. Oracle do PostgreSQL lub Informix do Db2, gdzie Compare normalizuje wartości przed kontrolą zgodności.
Dzięki temu sam workflow może służyć do walidacji replikacji, migracji do chmury i stopniowej modernizacji platform bez budowania osobnego toolchainu dla każdego przypadku.
Korzyści
Największą wartością nie jest samo porównanie. Jest nią możliwość korzystania z krytycznych kopii danych z realnym zaufaniem, a nie tylko założeniem, że „powinno być dobrze”.
Rozpoznawaj luki migracyjne i błędy replikacji zanim przełożą się na nieprawidłowe raporty lub nieudane odtwarzanie.
Waliduj spójność bez długich przestojów i bez kosztownych, ręcznych procedur ponownego kopiowania danych.
Skracaj czas od wykrycia niespójności do precyzyjnego zrozumienia, gdzie i jak trzeba zareagować.
Potwierdzaj, że bazy produkcyjne lub testowe są bezpieczne do przywrócenia po incydencie albo migracji.
Ograniczaj ryzyko operacyjne, finansowe i prawne wynikające z błędnych kopii krytycznych danych.
Korzystaj z baz raportowych, zapasowych i chmurowych mając potwierdzoną spójność, a nie tylko nadzieję.
Jak to działa
Wolisz najpierw krótki walkthrough produktu? Ten materiał pokazuje przepływ pracy Compare i logikę potwierdzania niespójności w środowisku live.
Zobacz pełny przepływ pracy zanim wejdziesz w konfigurację.
Krótkie wprowadzenie do sposobu działania Compare, konfiguracji zadań i etapu potwierdzania niespójności.