Maglumatlaryň çalt göçýän platformalary

Giriş

Platforma çalşylanda ýa-da täzelenende maglumatlary geçirmek möhüm mesele bolup durýar: balanslary, nyrhlaryň taryhyny, bonuslary, KYC-maglumatlary we kampaniýalaryň sazlamalaryny ýitirip ýa-da ýoýup bolmaz. Häzirki zaman çözgütleri awtomatlaşdyrylan ETL paýlaýynlaryny we Change Data Capture (CDC) ulanyp, iş duralgasyz sagatlarda ýa-da minutlarda göçmegi tamamlaýarlar.

1. Migrasiýa klassifikasiýasy

1. "Sowuk" göçmek

Doly eksport-import, platformany saklamagy talap edýär.
Pes işjeňlik ýa-da planned maintenance window üçin amatly.
2. "Gyzgyn" göçmek

Paralel chạy ETL + CDC-replikasiýa, kesmek-over sekuntda.
Gije-gündiziň dowamynda hereket edýän iri operatorlar üçin amatlydyr.

2. ETL we CDC arhitekturasy

```mermaid
flowchart LR
subgraph Çeşme
DB1[(Old DB)]
Stream1[(Old DB CDC)]
end
subgraph Konweýer
ETL[ETL Job]
CDC[CDC Consumer]
Validator[Data Validator]
end
subgraph Maksat
DB2[(New DB)]
end
DB1 -->full dumpETL --> Validator --> DB2
Stream1 -->real-time changesCDC --> Validator --> DB2
```

ETL Job: gije bir gezek ýa-da meýilnama boýunça tablisalaryň doly dampini okaýar, formatlary üýtgedýär we täze shema ýükleýär.
CDC Consumer: WAL-logini (Debezium/MySQL Binlog) diňleýär, near-real-time re modeiminde INSERT/UPDATE/DELETE-ni sypdyrýar.
Walidator: esasy ýüklemeden soň we akym replikasiýasy wagtynda gözegçilik pullaryny we ýazgy hasaplaýjylaryny barlaýar.

3. Göçmek tapgyrlary

1. Seljerme we mapping (1-2 gün)

Köne we täze DB shemalaryny deňeşdirmek, meýdanlaryň laýyklygyny kesgitlemek (mysal üçin 'player _ balance' → 'wallet. real_balance`).
Görnüşleriň öwrülişiklerini kesgitlemek: setirler → JSON, timestamps, ENUM → salgylanma tablisalary.

2. Synag gurşawyny taýýarlamak (1-2 gün)

Önümçilik maglumatlarynyň göwrümli snapshoty bilen staging-klasterini ýerleşdirmek.
ETL we CDC konnektorlaryny synag maglumatlaryna sazlamak.

3. Ilkinji ýüklemek ("cold load") (2-4 sagat)

Source DB bilen doly dampiň eksporty → nyşana DB-e paralel import.
Göçürip alnanda çap edilmeýän amallary öçürmek (mysal üçin bonus hereketlendirijisi).

4. CDC replikasiýasyny başla

Üýtgeşmeleri ETL ýükläp başlandan başlap diňläň.
Cut-over taýýar bolýança amallaryň "guýrugy" toplanýar.

5. Kesmek we traffigi üýtgetmek (1-5 minut)

CDC guýrugynyň galyndylaryny düzmek üçin programmalary wagtlaýyn duruzmak.
Connection strings-i täze DB-e üýtgetmek.
Esasy ssenarileriň smoke-synaglary (login, deposit, spin, withdraw).

6. Tassyklamak we yzyna gaýtarmak (1-2 sagat)

Esasy tablisalar üçin checksum barlagy: ulanyjylar, balanslar, amallaryň taryhy.
Eger möhüm gapma-garşylyklar ýüze çyksa - snapshot suratyna awtomatiki rollback.

4. Synag we tassyklama

Row counts & checksums: tablisalardaky ýazgylaryň we hashlaryň sanyny deňeşdirmek.
Domen synaglary: saýlama ssenariýalar - jedel, bonus we yzyna almak amallary.
End-to-End synaglary: awtomatlaşdyrylan Cypress/Playwright skriptleri göçenden soň esasy şöhleleri staginge sürýär.

5. Iň kiçi downtime

Blue-Green Database

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

Proxy (PgBouncer) -ni gelýän baglanyşyklaryň nobaty bilen tekiz switchover üçin ulanmak.
Feature Flags

Ähli hyzmatlary doly petiklemezlik üçin göçmek wagtynda funksiýanyň bir bölegini öçürmek.

6. Gurallar we platformalar

Debezium + Kafka для CDC с MySQL/PostgreSQL.
ETL konweýerleri üçin Airbyte, Fivetran, Talend.
Shemalaryň göçmegi we DB wersiýasy üçin Flyway/Liquibase.
HashiCorp Vault ygtybarly saklamak üçin credentials we rotation.

Netije

Maglumatlaryň çalt göçmegini goldaýan platformalar ETL ýüklemek we CDC göçürmek, düýpli synag we tassyklama barlaglary kombinasiýasynyň töwereginde prosesi gurýarlar. Başarnykly arhitektura we awtomatlaşdyryş bilen downtime birnäçe minuta, maglumatlaryň ýitirilmegi ýa-da ylalaşmazlygy töwekgelçiligi bolsa nola çenli azalýar.