GH GambleHub

Maglumat saklaýyş we OLAP modelleri

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

Gysgaça gysgaça

Maglumat ammary (DWH) - iGaming analitikasynyň esasy gatlagy: düzgünleşdirijilere hasabat, önümler/bazarlar boýunça girdeji, kogort LTV, antifrod-analitika, CRM segmentasiýasy we hakyky wagt daşbordlary. Durnukly DWH aýdyň maglumat modeline (Star/Snowflake/Data Vault), ygtybarly integrasiýa (ETL/ELT + CDC), oýlanyşykly öndürijilige (sütün hereketlendirijileri, partisiýa, MVs), berk semantika metriklerine, howpsuzlyga/PII we gymmaty dolandyrmak.

Binagärlik çemeleşmeleri

Nusgawy DWH (Kimball vs Inmon)

Kimball (Dimensional/Star/Snowflake): çalt hasabat penjireleri; faktlara we ölçeglere, SCD taryhyna ünsi jemleýär. Çalt wagt-tu-vel.
Inmon (Corporate Information Factory): kadaly ýadro + vitrin; wagt taýdan has kyn, ýöne berk we merkezleşdirilen.

Data Vault 2. 0

Hubs-Links-Satellites: çeşmeleriň integrasiýasy we üýtgeşmeleriň barlagy üçin ulaldylýan "çig" model. Üstünde "Star" penjireleri gurulýar.

Data Lake / Lakehouse

Data Lake: çig faýllar (Parquet/ORC) + kataloglar (Hive/Glue/Unity/Metastore).
Lakehouse: batch/stream, ACID tablisasy (Delta/Iceberg/Hudi), time-travel, upsert/merge, ykjam faýllar, Z-order/Clustering üçin bir gatlak.

Medallion (Bronze–Silver–Gold)

Bronze: çig maglumatlar (raw) + CDC.
Kümüş: arassalanan we konformly.
Gold: iş vitrinleri/metrikler/kublar.
Gibridler üçin amatly (Kafka → Bronze; Silver в Lakehouse; Gold в ClickHouse/BigQuery/Snowflake).

OLAP modelleri: Star, Snowflake, Data Vault

Star Schema

Amallar (nyrhlar, goýumlar, sessiýalar).
Dimensions: oýunçy, oýun, üpjün ediji, senesi/wagty, geo, özüne çekiji kanal.
Plýuslar: ýönekeý joýnlar, öňünden aýdylýan öndürijilik.

Snowflake

Ölçegleriň kadalaşmagy (ýurtlaryň/sebitleriň/şäherleriň iýerarhiýasy, önümleriň iýerarhiýasy).
Plýuslar: az köpeltmek; minus - has köp joynlar.

Data Vault → Star

Çig üýtgeşmeleri DV-e (audit, doly gaýtalanmak ukyby) goşýarys, hasabat penjirelerini Star/Snowflake hökmünde gurýarys.

Integrasiýa: ETL/ELT, CDC, haýal üýtgeşmeler

Pipline

OLTP-den Outbox/CDC (Postgres/MySQL) → Kafka/konnektorlar → Bronze.
ELT: Silver-da arassalamak, deadup, kadalaşmak.
Gold/vitrinlerdäki iş logikasy we agregasiýa.

SCD (Slowly Changing Dimensions)

Type 1: (ujypsyz meýdanlar üçin)

Type 2: Taryhy (senesi) - profiller/kanallar/bahalar üçin standart.
Type 3: jübütleri saklamak (seýrek).

SCD2 mysaly (SQL, umumy düşünje):
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 gatlak we "hakyky" metrikler

GGR, NGR, Net Deposits, ARPPU, LTV, Churn, Retention Cohorts.
Kod hökmünde metrikler (dbt metrics/LookML/Semantic Layer) → ähli hasabatlarda birmeňzeş formulalar.
Senenama: TZ/sebitler/dynç günleri/kampaniýalaryň atributlary bilen seneler/sagatlar tablisasy.

Ammar we hereketlendirijiler: profil üçin saýlamak

Sütünli we bulutly DWH

ClickHouse: ultra çalt skanerler/agregasiýalar, materiallaşdyrylan pikirler, proýeksiýalar; wakalar/telemetriýa we marketing penjireleri üçin tapawutlanýar.
BigQuery: serwerless, masştab, awtomatiki nagt pullar/toparlar; skanyň bahasy; garyşyk ýükler we ad-hoc üçin amatly.
Snowflake: compute/storage bölümi, talap boýunça toparlar, time-travel; Dürli toparlar üçin aç-açan.
Redshift/Vertica/Pinot/Druid: OLAP/real-time.

Profiliň aşagyndaky sazlama

Senesi/sebiti/kanaly boýunça partiýa ýerleşdirmek.
Süzgüç/joýn açarlary boýunça toparlara bölmek/sortlamak.
Sözlükleri gysmak we kodlamak.
Deslapky agregasiýalar (rollup, cubes), materiallaşdyrylan çykyşlar.
Arzan bahalar üçin Approx funksiýalary (HyperLogLog/approx_distinct).

Öndürijilik dizaýny

Partiýalaşdyrmak we toplamak

Partiýa - bölümiň serhedi. Wakalar üçin gündelik/sagatlyk partiýalar.
Toplama (sort keys/Z-order) - diapazonlary we join-leri çaltlaşdyrýar.

Materiallaşdyrylan pikirler (MV)

Gün/ýurt/önüm boýunça GGR/NGR öňünden hasaplamak.
CDC akymyndan täzelenme.

ClickHouse mysaly (MV saklaýan merj):
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;

Artyk modeller (dbt/ELT)

Partizanlar boýunça 'insert _ overwrite', CDC açarlary boýunça 'merge', 'updated _ at' boýunça 'watermark' strategiýalary.

Join strategiýalary

Her partiýa segmentine ölçegleriň göçürmesi (denorm).
Broadcast small dims; şuffle large facts açar boýunça sortlamak.

Bahasy: gözegçilik we optimizasiýa

BigQuery/Snowflake: skaneriň ululygyny çäklendiriň (partiýa/klasterleri dizaýn ediň), result cache/materialized views-i açyň, BI awto-gözleglerini çäklendiriň.
ClickHouse: partiýanyň ululygy, merj ýygylygy, ammar üçin býudjet (çig wakalar üçin TTL, agregasiýalar çydamly).
Metrik semantika "goşa" hasaplamalary gysgaldýar.
Data pruning: Bronze üçin retenşn, Gold üçin agregasiýa.

Maglumatlaryň hili (DQ), katalog, lineage

DQ-çekler: dolulyk (completeness), özboluşlylyk, diapazonlar, iş düzgünleri (mysal üçin, GGR ≥ 0 agregatlarda).
Data Catalog & Lineage: tablisalaryň/meýdançalaryň beýany, eýeleri, PII klassifikasiýasy, hasabatdan çeşmä çenli yzarlama.
Shemalara gözegçilik etmek: gabat gelmeýän üýtgeşmeler bolan hadysalar/CDC, aladalar üçin şertnama.

Howpsuzlyk, laýyklyk we köp tenantlyk

PII segmentasiýa: aýry-aýry zolaklar, maskalanmak/lakamlaşdyrmak, KMS-şifrlenen sütünler.
RBAC/ABAC: "need-to-know" üçin taslamanyň/shemalaryň/tablisalaryň/setirleriň (RLS) derejesindäki rollar.
Maglumatlaryň lokalizasiýasy: sebitleýin buckets/warehouses (EU/TR/LATAM).
Giriş barlagy: penjireleri we modelleri kim okady/üýtgetdi.

DR, ekaplar we köpeltmek

Maglumat koduny wersiýalaşdyrmak (dbt/git), Dev/QA/Prod gurşawy.
Metastor/katalogyň snapshotlary + tablisalaryň wersiýasy (time-travel).
Bronze/Kümüş/Altyn gatlaklarynyň Retenshn/TTL; möhüm vitrinleriň eksporty.
Game-day: penjireleri dikeltmek, metrleriň bitewiligini barlamak.

Real-time we gibrid penjireler

Akym-to-OLAP: Kafka → Minutly penjireler üçin ClickHouse/Pinot/Druid.
Materialized views + CDC onlaýn täzelenmeler üçin (5-15 minut).
Semantik gatlak birmeňzeş bolup galýar: metrikler real-time we batch bilen birmeňzeş.

"Gün we ýurt boýunça GGR" (jemlenen SQL) vitrinasynyň mysaly

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;

Giriş barlagy

1. Çeşmeleriňizi we domenleriňizi kesgitläň, metrik sözlügini düzüň.
2. Modeli saýlaň: Çygly/audit gatlaklary üçin DV + Vitrinler üçin Star.
3. Esasy soraglara we penjirelere partiýa/klaster düzüň.
4. CDC/ELT, SCD syýasatyny we surrogate keys sazlaň.
5. Semantik gatlagy (kod hökmünde metrikleri) we seneler/sagatlar senenamasyny giriziň.
6. Gymmat hasabatlar üçin MVs/pre-agregasiýalary dörediň.
7. DQ/katalogy/lineage we shema gözegçiligini goşuň.
8. RBAC/PII/lokalizasiýa, şifrlemek, audit kesgitläň.
9. p95/p99, bahasy, pese gaçmak we artykmaç sarp etmek üçin aladalary sazlaň.
10. Yzygiderli DR-maşklar we daşky gurşawyň köpelmegi.

Antipattern

"Partiýalarsyz bir äpet hakykat" → terabaýt skanerleri we hasap barha artýar.
Dürli daşbordlarda metrikleriň utgaşdyrylmadyk kesgitlemeleri.
Işewürligiň taryhlylygy talap edýän ýerinde SCD2 ýoklugy.
Ölçegleriň wagtyndan öň kadalaşmagy: goşmaça joýnlar we haýal hasabatlar.
DQ çekleri we lineage → hiç zat hakda hasabatsyz çig maglumatlar.
Retensiýanyň ýoklugy/TTL → galyndylary saklamak we çykdajylary partlatmak.

Netijeler

Ygtybarly iGaming-DWH - bu aýdyň model (DV → Star), bir metrik sözlük, dogry partiýa/klaster, materiallaşdyrylan penjireler, berk DQ/lineage, şeýle hem RBAC/PII/lokalizasiýa. Täzelik üçin gibrid akymy, ELT tarapyndan dolandyrylýan we çykdajy düzgünini goşuň - we ýaryşlara, kadalaşdyryjy hasabatlara we p99 we býudjetde garaşylmadyk ýagdaýda ad-hoc gözleglerine laýyk gelýän durnukly analitik platforma alyň.

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.