Přeskočit na obsah
_CORE
AI & agentní systémy Podnikové informační systémy Cloud & Platform Engineering Datová platforma & integrace Bezpečnost & compliance QA, testování & observabilita IoT, automatizace & robotika Mobilní & digitální produkty Bankovnictví & finance Pojišťovnictví Veřejná správa Obrana & bezpečnost Zdravotnictví Energetika & utility Telco & média Průmysl & výroba Logistika & e-commerce Retail & věrnostní programy
Reference Technologie Blog Know-how Nástroje
O nás Spolupráce Kariéra
CS EN DE
Pojďme to probrat

Migrace 200M transakcí pro finanční instituci

Přední česká banka

200M+
Migrovaných záznamů
0
Výpadek služby
60%
Snížení nákladů
Zrychlení dotazů

Klient je jednou z největších finančních institucí v České republice. Desetiletí provozu na Oracle databázi znamenala rostoucí náklady na licence, omezení ve škálovatelnosti a stále složitější údržbu infrastruktury. Vedení IT oddělení se rozhodlo pro strategickou migraci transakčního úložiště do Azure Cosmos DB — plně spravované NoSQL databáze navržené pro globální distribuci a elastický výkon.

Naším úkolem bylo navrhnout a realizovat kompletní migrační strategii pro 200 milionů historických transakčních záznamů, a to bez jakéhokoli výpadku služby pro koncové uživatele.

Výzva

Objem a komplexita dat

Transakční databáze obsahovala 200 milionů záznamů naakumulovaných za více než 15 let provozu. Data zahrnovala:

  • Platební transakce — kartové platby, převody, inkasa s komplexními vazbami na účty, klienty a obchodníky
  • Historické záznamy — regulatorní požadavek na uchovávání kompletní transakční historie po dobu 10 let
  • Referenční data — provázanost s desítkami dalších systémů (CRM, AML, reporting)
  • Indexy a pohledy — stovky SQL views a stored procedures vytvořených za roky provozu

Přímá migrace nebyla možná. Datový model Oracle (relační, normalizovaný) se zásadně lišil od cílového modelu Cosmos DB (dokumentový, denormalizovaný). Každý záznam musel být transformován, obohacen a validován.

Nulový výpadek

Finanční systém zpracovává transakce 24/7. Jakýkoli výpadek by měl přímý finanční dopad na miliony klientů. Požadavek byl jednoznačný: migrace musí proběhnout bez jakéhokoli přerušení služby, bez degradace výkonu a bez ztráty dat.

Konzistence dat

V bankovním prostředí musí každá koruna sedět. Jakýkoli nesoulad mezi zdrojovým a cílovým systémem by byl nepřijatelný. Potřebovali jsme mechanismus, který zajistí 100% konzistenci dat během i po migraci.

Řešení

Custom CDC pipeline

Navrhli jsme vlastní Change Data Capture (CDC) pipeline postavenou na Apache Kafka, která v reálném čase zachycovala všechny změny v Oracle databázi a replikovala je do Cosmos DB:

  1. Oracle LogMiner integration — čtení redo logů pro zachycení každé změny bez dopadu na produkční zátěž
  2. Kafka Connect — spolehlivý přenos změnových událostí s garantovaným doručením (exactly-once semantics)
  3. Transformation layer — Python mikroslužby pro transformaci relačního modelu na dokumentový model Cosmos DB
  4. Cosmos DB writer — optimalizovaný bulk writer s retry logikou a backpressure managementem

Pipeline zpracovávala průměrně 50 000 změn za minutu s end-to-end latencí pod 500ms.

Paralelní validace

Klíčovým prvkem migrace byl systém paralelní validace, který nepřetržitě porovnával data v obou systémech:

  • Checksum validace — průběžné porovnávání hashů datových bloků mezi Oracle a Cosmos DB
  • Business rule validace — automatické kontroly konzistence (součty zůstatků, počty transakcí, agregáty)
  • Sample-based deep validation — náhodné vzorkování a detailní porovnání jednotlivých záznamů
  • Reconciliation engine — automatická identifikace a oprava nesouladů

Validační systém běžel nepřetržitě po celou dobu migrace a generoval denní report o stavu konzistence dat.

Rollback strategie

Pro každou fázi migrace existoval detailní rollback plán:

  • Fáze 1 — historická data — jednosměrná migrace s možností návratu na Oracle backup
  • Fáze 2 — dual-write — oba systémy přijímají zápisy paralelně, přepnutí čtení je okamžité
  • Fáze 3 — cutover — Cosmos DB se stává primárním systémem, Oracle zůstává jako read-only fallback po dobu 30 dní

V případě jakéhokoli problému bylo možné přepnout zpět na Oracle do 5 minut.

Postupná migrace

Migrace probíhala ve 4 vlnách po dobu 18 měsíců:

  1. Vlna 1 — historické transakce starší 5 let (80M záznamů) — nízké riziko, validace přístupu
  2. Vlna 2 — transakce 1–5 let (70M záznamů) — středně aktivní data, validace výkonu
  3. Vlna 3 — transakce do 1 roku (40M záznamů) — aktivní data, dual-write aktivace
  4. Vlna 4 — live cutover (10M aktivních záznamů) — přepnutí na Cosmos DB jako primární systém

Výsledky

Snížení nákladů o 60 %

Eliminace Oracle licencí a přechod na pay-per-request model Cosmos DB přinesl roční úsporu 60 % oproti předchozímu stavu. Elastický výkon znamená, že klient platí pouze za skutečně spotřebované prostředky.

3× rychlejší dotazy

Dokumentový model optimalizovaný pro přístupové vzory aplikací přinesl dramatické zrychlení. Dotazy, které na Oracle trvaly stovky milisekund, nyní běží pod 30ms. Agregační dotazy pro reporting se zrychlily 5×.

99.99% uptime během migrace

Za celých 18 měsíců migrace nedošlo k žádnému výpadku služby. Klienti banky nezaznamenali žádnou změnu v dostupnosti ani výkonu služeb. Veškeré přepínání proběhlo transparentně.

Modernizační základ

Nová datová platforma na Cosmos DB otevřela cestu pro další modernizaci — real-time analytika, event-driven architektura a globální distribuce dat pro budoucí expanzi.

Technologie

OracleAzure Cosmos DBAzure Data FactoryKafkaPython.NETTerraformKubernetes

Chcete podobný výsledek?

Řekneme vám, jak na to.

Domluvit schůzku