GH GambleHub

Data Lake we merkezleşdirilen saklamak

(Bölüm: Tehnologiýalar we infrastruktura)

Gysgaça gysgaça

Data Lake - çig malyň we jemlenen datasetleriň merkezleşdirilen saklanylyşynyň esasy gatlagy. iGaming üçin jedelleriň/tölegleriň/oýun ýazgylarynyň wakalaryny, partnýor ýüklemelerini, OLTP-den CDC kabul edýär we analitikalara, antifroda, CRM we BI-e berýär. Häzirki zaman tejribesi - Lakehouse: açyk sütün formatlary + ACID tablisa gatlagy + ýeke katalog + amallar/maglumatlar wersiýasy. Üstünligiň açary - shemalaryň we partiýa ýerleşdirmegiň tertibi, çykdajylary dolandyrmak, PII howpsuzlygy we berk iş medeniýeti (DQ, lineage, DR).

iGaming platformasynda Data Lake roly

Seljeriş üçin ýeke-täk hakykat nokady: çig we arassalanan maglumatlary çeşmä we formata garamazdan saklamak.
Çeýeligi: batch we streaming goldawy (CDC/konnektorlar, waka akymlary).
Ewolýusiýa: çig Bronzadan "Silver" konformly we "Gold" biznes vitrinlerine çenli.
Jogapkärçilik bölünişi: Önümçilik hyzmatlary tekerde ýazylýar, analitika/ML Lake gatlaklaryndan sarp edýär.

Binagärlik modelleri: Lake vs Lakehouse

Data Lake (S3/ADLS/GCS + Parquet/ORC): shema-on-read, arzan ammar, formatlaryň çeýeligi.
Lakehouse (Delta/Iceberg/Hudi Parquet üstünde): ACID amallary, upsert/merge, time-travel, ykjam faýllar, wakuum, indeksasiýa/toplama.
Amal: iGaming üçin esasy gatlak hökmünde Lakehouse peýdalydyr, daşarky OLAP (ClickHouse/BigQuery/Snowflake/Pinot) bolsa penjireler we ýörite hereketlendirijiler ýaly.

Gatlaklaryň medal modeli

Bronze (Raw/Staging): çeşmelerden çig faýllar (CDC, log-damp, hyzmatdaş CSV, webhooks). Iň az tassyklama, "bolşy ýaly".
Silver (Conformed): arassalamak/deadup, walýuta/wagt zolaklarynyň kadalaşmagy, görnüşleri, SCD ölçegleri, tutanýerli açarlar.
Gold (Marts/Serving): GGR/NGR/LTV/Retention üçin agregatlar, BI/CRM/antifrod üçin materiallaşdyrylan penjireler.
TTL: Bronze, Silver, Gold agregatlarynda uzak möhletli agressiw.

Formatlar we tablisa gatlaklar

Sütünliler: Parquet (de-fakto standart), ORC.

Açyk tablisa formatlary (ACID):
  • Delta Lake - geleşikler, 'MERGE', wagt-syýahat, optimizasiýa/vakuum, Z-order.
  • Apache Iceberg - manifestli/snapshotly tablisalar, gizlin partizanlaşma, 'MERGE/DELETE/UPDATE', time-travel.
  • Apache Hudi - copy-on-write/merge-on-read, upsert-optimizasiýa, inkremental ekstraksiýalar.
  • Ekosistema we upsert/akym/shemalaryň ewolýusiýasynyň çeýeligi boýunça saýlaň.

Katalog we metastor

Ýeke-täk katalog (Hive Metastore/Unity/Glue/platforma kataloglary) shemalary, partiýalary, wersiýalary, hukuklary saklaýar.
Talaplar: tablisa gatlagy bilen geleşik sazlaşygy, birnäçe hereketlendirijileri goldamak (Spark, Trino/Presto, Flink, dbt), audit/lineage.

Shemalar we ewolýusiýa

Schema contract: hökmany meýdanlary, görnüşleri, semantikasyny düzüň; çeşmeler ('schema _ version').
Ewolýusiýa: opsiýa meýdanlaryny goşmak, göçmezden bozýan üýtgeşmeleri gadagan etmek; paýplaýnlarda awtomatiki shema-çekerler.
PII-segmentasiýa: duýgur meýdanlar - şifrlenen we aýratyn hukukly aýratyn sütünlere/tablisalara.

Partizasiýa we lay-out

Sene/sagat - wakalar üçin esasy açar; Goşmaça meýdanlar: 'country', 'product', 'tenant _ id'.
Hive-style путь: `s3://lake/bronze/payments/source=pspA/dt=2025-11-05/hour=13/part-0001. parquet`.
Klaster/sortlamak: Z-order/Sort keys ýygy süzülýän meýdanlar boýunça (player_id, country).
Faýlyň ululygy: 128-1024 MB nyşana alyň; "small files" -den gaça duruň (aşakda serediň).
Gizlin partizasiýa üçin wirtual sütünler (Iceberg/Delta).

Small files we kompakşn meselesi

Çeşmeler kiçijik tanklary akdyrýar → skanerleriň we meta-maglumatlaryň zaýalanmagy.
Çözgüt: döwürleýin optimize/compaction (coalesce), compaction-meseleleri meýilleşdiriji, ingestion-da batch-mikro-bundle, 'autoOptimize' (bar bolsa).
Merge-on-read vs copy-on-write syýasaty - ýazgynyň gizlinligi bilen okamak tizliginiň arasyndaky deňagramlylyk.

Injest: batch, stream, CDC

ALTP-den CDC (Debezium/konnektorlar) → Bronze (minutlyk täzelik).
Akym (Kafka/Flink/Spark Structured Streaming) → Silver/Gold inkremental (upsert/merge).
Batch (partnýor hasabatlary/CSV/JSON) - manifestli "kabul edijiler" arkaly, checksum boýunça goşa gözegçilik.
Idempotency: soňra gelen ýazgylar üçin açarlar (key, ts idempotency_key), "suw bellikleri" (watermarks).

Maglumatlaryň hili (DQ) we lineage

DQ-çekler: açarlaryň dolulygy, özboluşlylygy, diapazonlary, salgylanma bitewiligi (ýurtlaryň/walýutalaryň sanawy), işewürlik düzgünleri (GGR ≥ 0).
Liniedge: hasabatdan çeşmä garaşlylyk grafasy, modeliň kody we tablisanyň snapshot görnüşi.
Shemalara gözegçilik etmek: "döwýän" üýtgeşmeleri bloklaýan awtomatiki back/forward-compat synaglary.
Ýüklemeleriň barlagy: kim/haçan/näçe, ret edilen partiýalar, retralar.

Serwing we giriş

SQL hereketlendirijileri: ad-hoc we üýtgeşmeler üçin Spark/Trino/Presto; ELT modelleri üçin dbt.
Real-time/near-real-time: Penjireler ýaly Pinot/Druid/ClickHouse; Lakehouse - inkremental sink arkaly çeşme.
Data Sharing: göçürmesiz daşarky toparlara tablisalaryň/snapshotlaryň paýlaşylmagy (eger format tarapyndan goldanylsa).

Howpsuzlyk, PII we köp tenantlyk

Şifrlemek: at-rest (KMS) we in-transit (TLS).
IAM/RBAC/ABAC: katalog/tablisa/sütün/setirler derejesindäki rollar (maskalanmak, dinamiki syýasatlar).
Sebitler boýunça segmentasiýa (EUB/Türkiýe/Latam lokalizasiýasy): baketleriň we hasaplaýyş howuzlarynyň izolýasiýasy.
Köp tenantlyk: namespace/kataloglar we ýol prefiksleri, 'tenant _ id' boýunça süzgüçler, goşmaça - row-level policies.
Giriş auditi: okalyşlaryň/meta-maglumatlaryň üýtgemeleriniň, retenşnleriň we modifikasiýa edilmeýän magazinesurnallaryň ýazgylary.

Gymmaty dolandyrmak

Saklaýyş synplary: standart synpda gyzgyn (köplenç okalýar), TTL syýasatçylary bilen sowuk/Glacier-synplarda arhiw.
Partiýa ýerleşdirmek/toparlar skanerleri azaldar → $ $ -dan az.
Gymmat hasabatlar üçin materiallaşdyrylan penjireler; BI netijeleriniň keşi.
Kompakşn we "dogry faýl ululygy" - meta-maglumatlardan we I/O-dan az.
Kwotalar we býudjetleşdirmek: compute-klasterlere/joblara çäkler, seneset/topara baha boýunça hasabatlar.
Galyndylary aýyrmak: "VACUUM/REWRITE" tablisa formatlarynda, TTL Bronze.

DR we köpeltmek

Tablisalaryň wersiýasy (time-travel) we katalogyň snapshotlary.
Baketleriň we meta-maglumatlaryň sebitleýin köpeltilmegi.
PITR: tablisalaryň (Delta/Iceberg/Hudi) geleşik žurnallaryny we paypline ýazgylaryny saklamak.
Game-day: sebitleri dikeltmek we üýtgetmek boýunça yzygiderli türgenleşikler.

Synlamak we SLO

SLO täzelik: Bronze ≤ 5 min, Kümüş ≤ 15-30 min, Altyn ≤ 60 min (mysal).
Metrikler: faýllaryň göwrümi/sany, parket faýlynyň ortaça ululygy, skan wagty, sypdyrylan partiýalaryň paýy, compaction ýygylygy, bahasy/dataset, DQ ýalňyşlyklary, gijä galan maglumatlar.
Alertler: small files-iň köpelmegi, bahanyň ýokarlanmagy, p95/p99-yň zaýalanmagy, DQ/shemalaryň bozulmagy, akym-sinkleriň yza galmagy.

Neýming we ýollar konwensiýalary (şablon)


s3://<lake>/<layer>/<domain>/<dataset>/
source=<sys>/      # для Bronze dt=YYYY-MM-DD/
hour=HH/
country=XX/

Datasetleriň atlary: 'bets _ raw', 'payments _ cdc', 'players _ silver', 'mart _ ggr _ daily'.
Meta-maglumat sütünleri: 'ingest _ ts', 'source', 'schema _ version', 'trace _ id', 'tenant _ id'.

Mysallar (jemlenen)

1) Iceberg: Senesine görä gizlin partiýa bilen kümüş tablisa

sql
CREATE TABLE silver. bets (
bet_id    BIGINT,
player_id   BIGINT,
country    STRING,
stake     DECIMAL(18,2),
win      DECIMAL(18,2),
event_ts   TIMESTAMP,
ingest_ts   TIMESTAMP,
schema_version INT
)
PARTITIONED BY (days(event_ts))
TBLPROPERTIES ('format-version'='2');

2) Delta: CDC-den artyk upsert

sql
MERGE INTO silver. players t
USING bronze. players_cdc s
ON t. player_id = s. player_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

3) Bronze üçin TTL syýasaty (pikir)


bronze/: keep 30 days silver/: keep 365 days (non-PII), 90 days (PII masked)
gold/marts/: keep 2–3 years (aggregated)

Giriş barlagy

1. Tablisa formatyny (Delta/Iceberg/Hudi) we katalogy saýlaň; hereketlendirijiler bilen ylalaşyň (Spark/Trino/Flink/dbt).
2. Medal gatlaklaryny, TTL düzgünlerini we toparlaryň jogapkärçiligini kesgitläň.
3. Shema contracts, ewolýusiýa gözegçiligi, PII segmentasiýa we şifrlemek.
4. Lay-out: partiýa, sort- açar, maksatly faýl ululygyny düzüň; compaction.
5. Ingest (CDC/stream/batch) -ni dempotentlik we deadup bilen sazlaň.
6. DQ/lineage, meta-maglumat katalogyny we auditi goşuň.
7. SLO täzeligini/bahasyny, dashbordlaryny we alertlerini kesgitläň.
8. DR guraň: snapshotlar/replikasiýa/dikeldiş + yzygiderli maşklar.
9. Neýmingi we ýollary, meta sütünleri standartlaşdyryň ('ingest _ ts', 'source', 'schema _ version').
10. Gold-vitrinleri we hakyky wagty amatly OLAP/RT hereketlendirijilerine geçiriň.

Antipattern

Gatlaksyz bir umumy "halta" we TTL → bulam-bujarlyk we bahanyň partlamasy.
Diňe ýurdy/önümi hasaba almazdan wagt boýunça partiýa ýerleşdirmek → agyr skanlar.
Müňlerçe ownuk faýl/sagat, compaction bolmazdan akymlar.
Shemalara gözegçilik edilmezligi we DQ → "döwýän" üýtgeşmeler we hasabatlara ynamsyzlyk.
PII-ni Gold-vitrinler bilen gizlemezden/bölünmän garyşdyrmak.
Katalogyň we tablisa syýasatlarynyň ýerine baketleriň derejesinde elýeterlilik hukuklarynyň hardkody.

Netijeler

iGaming üçin häzirki zaman Data Lake - açyk tablisa formatly, ýeke-täk katalog we medal modeli bolan Lakehouse. Shemalaryň/partiýalaryň tertip-düzgüni, small files, DQ/lineage, PII-howpsuzlyk we çykdajy arassaçylygy lak gatlagyny durnukly binýada öwürýär: saklamak üçin arzan, okamak üçin çalt, SLO tarapyndan öňünden aýdylýan we DR. üçin taýýar. Şeýle binýat ýaryş belentliklerine çenli giňeldilýär we goldanýar we batch analitika we near-real-time penjireleri.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.