GH GambleHub

Data Lake və mərkəzləşdirilmiş saxlama

(Bölmə: Texnologiya və Infrastruktur)

Qısa xülasə

Data Lake - xammalın və birləşdirilmiş datasetlərin mərkəzləşdirilmiş saxlanmasının baza qatıdır. iGaming üçün OLTP-dən bahis/ödəniş/oyun qeydləri, partnyor boşaltmaları, CDC hadisələrini qəbul edir və onları analitikaya, antifroda, CRM və BI-yə verir. Müasir təcrübə - Lakehouse: açıq sütun formatları + ACID tablo təbəqəsi + vahid kataloq + əməliyyatlar/verilənlər versiyası. Müvəffəqiyyətin açarı sxemlər və partiyalaşdırma intizamı, dəyər idarəetməsi, PII təhlükəsizliyi və ciddi əməliyyat mədəniyyətidir (DQ, lineage, DR).

iGaming platformasında Data Lake rolu

Analitika üçün vahid həqiqət nöqtəsi: mənbə və formatdan asılı olmayaraq xam və təmizlənmiş məlumatların saxlanması.
Çeviklik: batch və streaming dəstəyi (CDC/konnektorlar, event-stream).
Təkamül: xam bronzdan konformik Silver və Gold iş vitrinlərinə.
Məsuliyyət bölgüsü: Prod Services Lastik/Staging yazın, analitika/ML Lake qatlarından istehlak edir.

Memarlıq modelləri: Lake vs Lakehouse

Data Lake (S3/ADLS/GCS + Parquet/ORC): schema-on-read, ucuz saxlama, formatların çevikliyi.
Lakehouse (Parquet üzərində Delta/Iceberg/Hudi): ACID əməliyyatları, upsert/merge, time-travel, kompakt fayllar, vakuum, indeksasiya/klasterləşdirmə.
Təcrübə: iGaming üçün əsas təbəqə kimi Lakehouse, xarici OLAP (ClickHouse/BigQuery/Snowflake/Pinot) isə vitrinlər və xüsusi mühərriklər kimi sərfəlidir.

Medalyon təbəqə modeli

Bronze (Raw/Staging): mənbələrdən xam fayllar (CDC, log-damps, partnyor CSV, webhooks). Minimum validasiya, «olduğu kimi».
Silver (Conformed): təmizləmə/deadup, valyuta/saat kəmərlərinin normallaşdırılması, növ, SCD ölçmə, konsistent açarları.
Gold (Marts/Serving): GGR/NGR/LTV/Retention üçün aqreqatlar, BI/CRM/antifrod altında materiallaşdırılmış vitrinlər.
TTL: Bronze-də aqressiv, Gümüş-də mülayim, Gold aqreqatlarında uzunmüddətli.

Formatlar və tablo təbəqələri

Sütunlar: Parquet (faktiki standart), ORC.

Açıq cədvəl formatları (ACID):
  • Delta Lake - əməliyyatlar, 'MERGE', time-travel, optimallaşdırma/vakuum, Z-order.
  • Apache Iceberg - manifestləri/snapshotları olan cədvəllər, gizli partizanlaşdırma, 'MERGE/DELETE/UPDATE', time-travel.
  • Apache Hudi - copy-on-write/merge-on-read, upsert-optimizasiya, inkremental ekstraksiyalar.
  • Ekosistem və upsert/axın/təkamül sxemlərinin çevikliyi tələblərinə görə seçim edin.

Kataloq və metastor

Vahid kataloq (Hive Metastore/Unity/Glue/platforma kataloqları) sxemlər, partiyalar, versiyalar, hüquqlar saxlayır.
Tələblər: tablo təbəqəsi ilə tranzaksiya uyğunluğu, bir neçə mühərrikin dəstəklənməsi (Spark, Trino/Presto, Flink, dbt), audit/lineage.

Sxemlər və təkamül

Schema contract: məcburi sahələri, tipləri, semantikaları qeyd edin; mənbələri version ('schema _ version').
Təkamül: miqrasiya olmadan pozucu dəyişikliklərin qadağan edilməsi, isteğe bağlı sahələrin əlavə edilməsi; paylaynlarda avtomatik sxem yoxlayıcıları.
PII-seqmentasiya: həssas sahələr - ayrı-ayrı sütunlara/cədvəllərə şifrələmə və ayrı-ayrı hüquqlarla.

Partizan və lay-out data

Tarix/saat - hadisələr üçün əsas açar; əlavə sahələr: 'country', 'product', 'tenant _ id'.
Hive-style путь: `s3://lake/bronze/payments/source=pspA/dt=2025-11-05/hour=13/part-0001. parquet`.
Klaster/çeşidləmə: Tez-tez süzülən sahələrdə Z-order/Sort keys (player_id, country).
Fayl ölçüsü: 128-1024 MB hədəf; «small files» -dən çəkinin (aşağıya baxın).
Gizli partiyalaşdırma üçün virtual dinamiklər (Iceberg/Delta).

Problem small files və kompakt

Mənbələr kiçik çantaları axır → skanlar və meta məlumatların deqradasiyası.
Həll: periodik optimize/compaction (coalesce), compaction-problem planlayıcısı, ingestion-da batch-mikro-bundle, 'autoOptimize' (varsa).
merge-on-read vs copy-on-write siyasəti - yazının gecikməsi və oxu sürəti arasında balans.

İncest: batch, stream, CDC

ALTP-dən CDC (Debezium/konnektorlar) → Bronze (dəqiqəlik təravət).
Stream (Kafka/Flink/Spark Structured Streaming) → Silver/Gold inkremental (upsert/merge).
Batch (partnyor hesabatları/CSV/JSON) - manifestləri olan «qəbuledicilər» vasitəsilə, checksum-da dubl nəzarəti.
Idempotency: daha sonra gələn qeydlər üçün açarlar (idempotency_key), dedup (key, ts), «su işarələri» (watermarks).

Məlumat keyfiyyəti (DQ) və lineage

DQ çekləri: dolğunluq, açarların unikallığı, diapazonlar, istinad bütövlüyü (ölkə/valyuta siyahıları), biznes qaydaları (GGR ≥ 0).
Liniedge: mənbəyə hesabat asılılığı qrafiki, model kodu versiyası və cədvəl snapshot.
Sxemlərə nəzarət: avtomatik back/forward-compat testləri, «sındırıcı» dəyişiklikləri bloklayır.
Download audit: kim/nə vaxt/nə qədər, rədd partiyalar, retray.

Xidmət və giriş

SQL mühərrikləri: ad-hoc və transformasiyalar üçün Spark/Trino/Presto; ELT modelləri üçün dbt.
Real-time/near-real-time: vitrinlər kimi Pinot/Druid/ClickHouse; Lakehouse - inkremental sink vasitəsilə mənbə.
Data Sharing: kopya olmadan xarici komandalar üçün cədvəllərin/snapshotların paylaşılması (format tərəfindən dəstəklənərsə).

Təhlükəsizlik, PII və çox tenant

Şifrələmə: at-rest (KMS) və in-transit (TLS).
IAM/RBAC/ABAC: kataloq/cədvəl/sütun/sətir səviyyəsində rollar (maskalanma, dinamik siyasətlər).
Regionlar üzrə seqmentasiya (AB/Türkiyə/LatAm lokalizasiyası): baketlərin və hesablama hovuzlarının izolyasiyası.
Multi-tenant: namespace/kataloqlar və yol prefiksləri, 'tenant _ id' filtrləri, isteğe bağlı - row-level policies.
Giriş auditi: oxu/meta-məlumat dəyişikliyi qeydləri, retenshn və adsız jurnallar.

Dəyərin idarə edilməsi

Saxlama sinifləri: standart sinifdə isti (tez-tez oxunan), TTL siyasətçiləri ilə soyuq/Glacier siniflərində arxiv.
Partizan/klasterlər taramaları azaldır → $ $ -dan az.
Bahalı hesabatlar üçün materiallaşdırılmış vitrinlər; BI nəticələrinin cache.
Kompakşn və «düzgün fayl ölçüsü» - metadata və I/O-dan az.
Kvotalar və büdcələşdirmə: compute-klasterlər/joblar üçün limitlər, tarix/komanda üçün qiymət hesabatları.
Tullantıların çıxarılması: «VACUUM/REWRITE» tablo formatlarında, TTL Bronze.

DR və reproduktivlik

Cədvəllərin versiyası (time-travel) və kataloq snapshotları.
Baketlərin və meta məlumatların kross-regional replikasiyası.
PITR: Əməliyyat cədvəllərinin (Delta/Iceberg/Hudi) və payplayn qeydlərinin saxlanması.
Game-day: Bölgələrin müntəzəm bərpa və keçid təlimləri.

Müşahidə və SLO

SLO təravəti: Bronze ≤ 5 dəq, Silver ≤ 15-30 dəq, Gold ≤ 60 dəq (nümunə).
Metriklər: faylların həcmi/sayı, parket faylının orta ölçüsü, skan vaxtı, buraxılmış hissələrin payı, compaction tezliyi, dəyəri/tarixi, DQ səhvləri, gecikmiş məlumatlar.
Alerts: small files sıçrayış, dəyər artımı, p95/p99 deqradasiya, DQ/sxemlərin pozulması, axın sink gecikməsi.

Neyminq və yollar konvensiyaları (şablon)


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

Dataset adları: 'bets _ raw', 'payments _ cdc', 'players _ silver', 'mart _ ggr _ daily'.
Meta məlumat sütunları: 'ingest _ ts', 'source', 'schema _ version', 'trace _ id', 'tenant _ id'.

Nümunələr (ümumiləşdirilmiş)

1) Iceberg: gizli partiya ilə Silver cədvəli

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-dən artımlı 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 üçün TTL siyasəti (ideya)


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

Giriş çek siyahısı

1. Tablo formatını (Delta/Iceberg/Hudi) və kataloqu seçin; (Spark/Trino/Flink/dbt) mühərrikləri ilə razılaşın.
2. Medalyon təbəqələri, TTL qaydaları və komandaların məsuliyyətini müəyyən edin.
3. schema contracts, təkamül nəzarət, PII seqmentasiya və şifrələmə qeyd.
4. lay-out layihələndirin: partiyalar, növ açarları, hədəf fayl ölçüsü; compaction daxil edin.
5. İndempotent və deadup ilə ingest (CDC/stream/batch) qurun.
6. DQ/lineage, meta məlumat kataloqu və audit daxil edin.
7. SLO təravətini/dəyərini, metrik daşbordlarını və alertlərini müəyyən edin.
8. DR təşkil edin: snapshotlar/replikasiya/bərpa + müntəzəm təlimlər.
9. Neyminq və yolları, meta sütunları ('ingest _ ts', 'source', 'schema _ version') standartlaşdırın.
10. Gold vitrinləri və real vaxt servinqini uyğun OLAP/RT mühərriklərinə gətirin.

Antipatternlər

Bir ümumi «çanta» qatları və TTL → xaos və partlayış dəyəri olmadan.
Ölkə/məhsul → ağır skan nəzərə alınmadan yalnız vaxt partizanlaşdırma.
compaction olmadan min kiçik fayllar/saat yaratmaq axınlar.
Sxemlərə nəzarət və DQ → «sındırıcı» dəyişikliklər və hesabatlara inamsızlıq.
PII-nin Gold vitrinləri ilə gizlətmə/bölüşdürmə olmadan qarışdırılması.
Kataloq və cədvəl siyasəti əvəzinə baket səviyyəsində giriş hüquqları Hardcode.

Nəticələr

iGaming üçün müasir Data Lake - açıq tablo formatı, vahid kataloq və medalyon modeli olan Lakehouse. Sxemlərin/partiyaların nizam-intizamı, compaction vs small files, DQ/lineage, PII-təhlükəsizlik və dəyər gigiyenası lake qatını sabit bir təmələ çevirir: ucuz saxlama, sürətli oxu, SLO ilə proqnozlaşdırıla bilən və DR. belə bir təməl turnir zirvələri altında ölçülür və dəstəkləyir və batch analitik, və near-real-time vitrinlər.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.