GH GambleHub

Maʼlumotlar ombori va OLAP modellari

(Bo’lim: Texnologiyalar va infratuzilma)

Qisqacha xulosa

Maʼlumotlar ombori (DWH) - iGaming tahlilining tayanch qatlami: regulyatorlarga hisobotlar, mahsulotlar/bozorlar boʻyicha rentabellik, kogort LTV, antifrod tahlillari, CRM segmentatsiyasi va real-time dashbordlari. Barqaror DWH aniq ma’lumotlar modeli (Star/Snowflake/Data Vault), ishonchli integratsiya (ETL/ELT + CDC), puxta o’ylangan unumdorlik (kolonkali dvigatellar, partitsiyalar, MVs), qat’iy semantika, xavfsizlik/PII va qiymatni boshqarish

Arxitektura yondashuvlari

Klassik DWH (Kimball vs Inmon)

Kimball (Dimensional/Star/Snowflake): tezkor hisobot oynalari; fakt va o’lchovlarga e’tibor, SCD-tarix. Tezkor taym-tu-vel.
Inmon (Corporate Information Factory): normallashtirilgan yadro + vitrinalar; vaqt jihatidan og’irroq, ammo qat’iy va markazlashtirilgan.

Data Vault 2. 0

Hubs-Links-Satellites: manbalarni integratsiyalash va o’zgarishlarni auditlash uchun keng ko’lamli «xom» model. Ustiga Star vitrinalari qurilmoqda.

Data Lake / Lakehouse

Data Lake: xom fayllar (Parquet/ORC) + kataloglar (Hive/Glue/Unity/Metastore).
Lakehouse: batch/stream uchun yagona qatlam, ACID jadvallari (Delta/Iceberg/Hudi), time-travel, upsert/merge, ixcham fayllar, Z-order/Clustering.

Medallion (Bronze–Silver–Gold)

Bronze: xom ma’lumotlar (raw) + CDC.
Silver: tozalangan va konformli.
Gold: biznes-vitrinalar/metriklar/kublar.
Gibridlar uchun mos (Kafka → Bronze; Silver в Lakehouse; Gold в ClickHouse/BigQuery/Snowflake).

OLAP modellari: Star, Snowflake, Data Vault

Star Schema (yulduz)

Fact jadvallari: tranzaksiyalar (stavkalar, depozitlar, sessiyalar).
Dimensions: o’yinchi, o’yin, provayder, sana/vaqt, geo, jalb qilish kanali.
Afzalliklari: oddiy joylar, prognoz qilingan unumdorlik.

Snowflake

O’lchovlarni normallashtirish (mamlakatlar/mintaqalar/shaharlar ierarxiyasi, mahsulotlar ierarxiyasi).
Afzalliklar: kamroq takrorlash; minus - ko’proq joynalar.

Data Vault → Star

Xom o’zgarishlarni DV (audit, to’liq takrorlanuvchanlik) ga qo’shamiz, hisobot oynalarini Star/Snowflake sifatida quramiz.

Integratsiya: ETL/ELT, CDC, sekin oʻzgarishlar

Pipline

OLTP dan Outbox/CDC (Postgres/MySQL) → Kafka/konnektorlar → Bronze.
ELT: Silver’da tozalash, dedup, normallashtirish.
Gold/vitrinalarda biznes-mantiq va agregatsiyalar.

SCD (Slowly Changing Dimensions)

Type 1: (ahamiyatsiz maydonlar uchun).
Type 2: tarixiylik (sanalangan versiyalar) - profillar/kanallar/narxlar uchun standart.
Type 3: bir juft qiymatni saqlash (kamdan-kam hollarda).

SCD2 misoli (SQL, umumiy koʻrinish):
sql
-- insert new dimension version
INSERT INTO dim_player (player_sk, player_id, country, valid_from, valid_to, is_current)
SELECT gen_sk(), s. player_id, s. country, now(), '9999-12-31', true
FROM staging_player s
LEFT JOIN dim_player d ON d. player_id = s. player_id AND d. is_current = true
WHERE d. player_id IS NULL OR d. country <> s. country;

-- closing the old version
UPDATE dim_player d
SET valid_to = now(), is_current = false
FROM staging_player s
WHERE d. player_id = s. player_id AND d. is_current = true AND d. country <> s. country;

Semantik qatlam va «haqiqiy» metriklar

GGR, NGR, Net Deposits, ARPPU, LTV, Churn, Retention Cohorts.
Kod sifatida metriklar (dbt metrics/LookML/Semantic Layer) → barcha hisobotlarda bir xil formulalar.
Taqvim: TZ/mintaqalar/dam olish/kampaniyalar atributlari bilan sana/soat jadvali.

Saqlash va dvigatellar: profil uchun tanlash

Ustunli va bulutli DWH

ClickHouse: o’ta tezkor skanlar/agregatsiyalar, materiallashtirilgan tasavvurlar, proyeksiyalar; voqealar/telemetriya va marketing vitrinalari uchun alohida.
BigQuery: serverless, masshtab, avtomatik keshlar/klasterlar; skaner narxi; aralash yuklamalar va ad-hoc uchun qulay.
Snowflake: compute/storage bo’limi, talabga ko’ra klastyerlar, time-travel; Turli buyruqlar uchun shaffof.
Redshift/Vertica/Pinot/Druid: OLAP/real-time ostida variantlar.

Profilni tyuning

Sana/mintaqa/kanal bo’yicha partiyalashtirish.
Filtrlash/joylar kalitlari bo’yicha klasterlash/saralash.
Lugʻatlarni siqish va kodlash.
Agregatsiyadan oldingi (rollup, cubes), materiallashtirilgan tasavvurlar.
Arzon baholar uchun Approx funksiyalari (HyperLogLog/approx_distinct).

Unumdorlikni loyihalash

Partiyalashtirish va klasterlashtirish

Partitsiya - bo’lim chegarasi. Voqealar uchun kunduzgi/soatlik partiyalar.
Klaster (sort keys/Z-order) - diapazonlar va join-larni tezlashtiradi.

Materiallashtirilgan taqdimnomalar (MV)

Kunlar/mamlakatlar/mahsulotlar bo’yicha GGR/NGR oldindan hisobi.
CDC oqimidan inkremental yangilanish.

ClickHouse misoli (merj-saqlovchi MV):
sql
CREATE MATERIALIZED VIEW mv_ggr_daily
ENGINE = SummingMergeTree()
PARTITION BY toYYYYMMDD(ts)
ORDER BY (country, product_id, toDate(ts)) AS
SELECT toDate(ts) AS d,
country,
product_id,
sum(stake) AS stake_sum,
sum(win)  AS win_sum,
sum(stake - win) AS ggr
FROM bets
GROUP BY d, country, product_id;

Inkremental modellar (dbt/ELT)

Partiyalar bo’yicha’insert _ overwrite’, CDC kalitlari bo’yicha’merge’,’updated _ at’bo’yicha’watermark’strategiyalari.

Join-strategiyalar

Har bir partiyaviy segmentga o’lchashlar nusxasi (denorm).
Broadcast small dims; shuffle large facts bilan saralanadi.

Qiymati: nazorat va optimallashtirish

BigQuery/Snowflake: skanerni cheklang (partiyalar/klasterlarni loyihalashtiring), result cache/materialized views ni yoqing, BI avto-kvestlarini cheklang.
ClickHouse: partiyalar hajmi, merj chastotasi, saqlash uchun byudjet (xom hodisalar uchun TTL, agregatsiyalar chidamli).
Metrik semantika «ikki marta» hisoblashni qisqartiradi.
Data pruning: Bronze uchun retenshn, Gold uchun agregatsiyalar.

Maʼlumotlar sifati (DQ), katalog, lineage

DQ cheklari: to’liqlik (completeness), o’ziga xoslik, diapazonlar, biznes qoidalar (masalan, GGR ≥ 0 agregatlarda).
Data Catalog & Lineage: jadvallar/maydonlarning tavsiflari, egalari, PII tasnifi, hisobotdan manbagacha izlash.
Sxemalarni boshqarish: hodisa/CDC kontrakti, mos kelmaydigan oʻzgarishlarda alertlar.

Xavfsizlik, komplayens va ko’p tenantlik

PII segmentatsiyasi: alohida zonalar, niqoblash/taxalluslashtirish, KMS-shifrlangan ustunlar.
RBAC/ABAC: loyiha/sxemalar/jadvallar/satrlar (RLS) darajasidagi rollar, «need-to-know» uchun yuklar.
Maʼlumotlar lokalizatsiyasi: mintaqaviy buckets/warehouses (EU/TR/LATAM).
Kirish auditi: kim vitrinalar va modellarni o’qigan/o’zgartirgan.

DR, bekaplar va takrorlanuvchanlik

Maʼlumotlar kodini versiya qilish (dbt/git), Dev/QA/Prod muhiti.
Metastor/katalog snapshotlari + jadvallarni versiyalash (time-travel).
Retenshn/TTL qatlamlari Bronze/Silver/Gold; kritik vitrinalarni eksport qilish.
Game-day: vitrinalarni tiklash, metriklarning yaxlitligini tekshirish.

Real-time va gibrid vitrinalar

Stream-to-OLAP: Kafka → ClickHouse/Pinot/Druid daqiqali vitrinalar uchun.
Materialized views + CDC deyarli onlayn yangilanishlar uchun (5-15 daqiqa).
Semantik qatlam bir xil bo’lib qoladi: metriklar real-time va batch bilan bir xil.

«GGR kunlar va mamlakatlar bo’yicha» (umumlashtirilgan SQL) vitrinasi namunasi

sql
CREATE TABLE fact_bets (
bet_id   BIGINT,
player_sk BIGINT,
game_sk  BIGINT,
country_sk BIGINT,
stake   DECIMAL(18,2),
win    DECIMAL(18,2),
ts     TIMESTAMP
) PARTITION BY DATE(ts);

CREATE TABLE dim_country (
country_sk BIGINT PRIMARY KEY,
iso2    STRING,
region   STRING,
valid_from TIMESTAMP,
valid_to  TIMESTAMP,
is_current BOOL
);

-- Showcase
CREATE MATERIALIZED VIEW mart_ggr_daily AS
SELECT
DATE(ts) as d,
c. region,
SUM(stake) AS stake_sum,
SUM(win)  AS win_sum,
SUM(stake - win) AS ggr
FROM fact_bets f
JOIN dim_country c ON c. country_sk = f. country_sk AND c. is_current
GROUP BY d, c. region;

Joriy etish chek-varaqasi

1. Manbalar va domenlarni aniqlab, metrik lugʻatni tuzating.
2. Namuna tanlang: Xom/audit qatlamlari uchun DV + Vitrinalar uchun Star.
3. Asosiy soʻrovlar va oynalar uchun partiyalar/klasterlarni loyihalashtiring.
4. CDC/ELT, SCD siyosati va surrogate keys moslamalarini oʻrnating.
5. Semantik qatlam va sana/soat kalendarini kiriting.
6. Qimmatbaho hisobotlar uchun MVs/pre-agregatsiyalarni yarating.
7. DQ/katalog/lineage va sxemalarni boshqarishni kiriting.
8. RBAC/PII/lokalizatsiya, shifrlash, auditni aniqlang.
9. p95/p99 monitoringini, qiymatini, tanazzulga uchragan va ortiqcha sarflangan alertlarni moslashtiring.
10. Muntazam DR-mashqlar va atrof-muhitning takrorlanuvchanligi.

Antipatternlar

«Partiyasiz bitta ulkan fakt» → terabayt skanerlari va hisob-kitob o’sib bormoqda.
Turli dashbordlardagi metriklarning kelishilmagan ta’riflari.
Biznes tarixiylikni talab qiladigan joyda SCD2 yo’qligi.
O’lchovlarni muddatidan oldin normallashtirish: ortiqcha joylar va sekin hisobotlar.
DQ cheklarsiz xom ma’lumotlar va lineage → hech narsa to’g’risida hisobotlar.
Retensiyaning yo’qligi/TTL → axlatni saqlash va qiymatni portlatish.

Yakunlar

Ishonchli iGaming-DWH - bu aniq model (DV → Star), yagona metrik lug’at, to’g’ri partiyalar/klaster, materiallashtirilgan vitrinalar, qat’iy DQ/lineage, shuningdek, RBAC/PII/mahalliylashtirish. Yangilik uchun gibrid striming, boshqariladigan ELT va qiymat intizomini qo’shing va turnirlar, tartibga soluvchi hisobotlar va p99 va byudjetdagi ajablanishlarsiz ad-hoc tadqiqotlari uchun barqaror tahliliy platformaga ega bo’ling.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.