Tezkor ma’lumotlar migratsiyasi platformalari

Kirish

Platformani o’zgartirish yoki yangilashda ma’lumotlarni ko’chirish juda muhim vazifadir: balanslarni hisobga olish, stavkalar tarixi, bonuslar, KYC ma’lumotlari va kampaniya sozlamalarini yo’qotish yoki buzib ko’rsatish mumkin emas. Zamonaviy yechimlar avtomatlashtirilgan ETL-payplaynlar va Change Data Capture (CDC) dan foydalanadi.

1. Migratsiya tasnifi

1. «Sovuq» migratsiya

To’liq eksport-import platformani to’xtatishni talab qiladi.
Past faollik yoki planned maintenance window uchun mos keladi.
2. «Issiq» migratsiya

Parallel chạy ETL + CDC replikatsiyasi, bir soniyada kesish.
Kechayu kunduz qatnaydigan yirik operatorlar uchun mos.

2. ETL va CDC arxitekturasi

```mermaid
flowchart LR
subgraph Manba
DB1[(Old DB)]
Stream1[(Old DB CDC)]
end
subgraph Konveyer
ETL[ETL Job]
CDC[CDC Consumer]
Validator[Data Validator]
end
subgraph Maqsad
DB2[(New DB)]
end
DB1 -->full dumpETL --> Validator --> DB2
Stream1 -->real-time changesCDC --> Validator --> DB2
```

ETL Job: kechasi bir marta yoki jadval bo’yicha jadvallarning to’liq dampini o’qiydi, formatlarni o’zgartiradi va yangi sxemaga yuklaydi.
CDC Consumer: WAL-logini tinglaydi (Debezium/MySQL Binlog), near-real-time rejimida INSERT/UPDATE/DELETEni o’tkazib yuboradi.
Validator: asosiy yuklangandan keyin va oqim replikatsiyasi jarayonida nazorat summalari va hisoblagichlarni solishtiradi.

3. Migratsiya bosqichlari

1. Tahlil va mapping (1-2 kun)

Eski va yangi DM sxemalarini taqqoslash, maydonlarning mosligini aniqlash (masalan,’player _ balance’→’wallet. real_balance`).
Konversiya turlarini aniqlash: → JSON, timestamps, ENUM → maʼlumot jadvallari.

2. Test muhitini tayyorlash (1-2 kun)

Ishlab chiqarish ma’lumotlarining hajmli snapshotiga ega bo’lgan staging-klasterni joylashtirish.
Test maʼlumotlarida ETL va CDC konnektorlarini moslash.

3. Birlamchi yuklash («cold load») (2-4 soat)

Source DB bilan toʻliq dampni eksport qilish → target DB ga parallel import qilish.
Yuklash paytida tugallanmagan jarayonlarni (masalan, bonus dvigatel) oʻchirish.

4. CDC replikatsiyasini ishga tushirish

ETL yuklash boshlangan paytdan boshlab oʻzgarishlarni tinglashni boshlash.
Cut-over tayyor boʻlmaguncha operatsiya «dumi» toʻplanadi.

5. Cut-over va trafikni o’zgartirish (1-5 daqiqa)

CDC dumi qoldig’ini tekislash uchun dasturni vaqtincha to’xtatish.
connection strings’ni yangi DBga moslash.
Asosiy stsenariylarning smoke-testlari (login, deposit, spin, withdraw).

6. Validatsiya va qaytarish (1-2 soat)

Asosiy jadvallar: foydalanuvchilar, balanslar, tranzaktsiyalar tarixini tekshirish.
Agar tanqidiy kelishmovchiliklar - snapshot rasmga avtomatik rollback.

4. Test va validatsiya

Row counts & checksums: jadvallar boʻyicha xeshlar va yozuvlar sonini taqqoslash.
Domen testlari: tanlov stsenariylari - stavka, bonus va chiqarish operatsiyalari.
End-to-End testlari: avtomatlashtirilgan Cypress/Playwright skriptlari asosiy floularni migratsiyadan keyin stagingga haydaydi.

5. Minimallashtirish

Blue-Green Database

Parallel database instances...
Proxy-level Cut-over

Birlamchi switchover uchun proksidan (PgBouncer) foydalanish.
Feature Flags

Barcha xizmatlarni to’liq to’sib qo’ymaslik uchun migratsiya paytida funksionalning bir qismini o’chirish.

6. Asboblar va platformalar

Debezium + Kafka для CDC с MySQL/PostgreSQL.
Airbyte, Fivetran, ETL konveyerlari uchun Talend.
Flyway/Liquibase migratsiya sxemalari va DB versiyalash uchun.
HashiCorp Vault xavfsiz saqlash uchun credentials va rotation.

Xulosa

Tezkor ma’lumotlar migratsiyasini qo’llab-quvvatlovchi platformalar ETL-yuklash va CDC-replikatsiya, sinchkovlik testlari va validation-tekshiruvlar kombinatsiyasi atrofida jarayonni qurmoqda. Savodli arxitektura va avtomatlashtirishda downtime bir necha daqiqaga, ma’lumotlarni yo’qotish yoki kelishmaslik xavfi esa nolga tushadi.