GH GambleHub

Veri Depoları ve OLAP Modelleri

(Bölüm: Teknoloji ve Altyapı)

Kısa Özet

Veri ambarı (DWH) - iGaming'in temel analiz katmanı: düzenleyicilere raporlar, ürün/pazara göre karlılık, kohort LTV, dolandırıcılık karşıtı analitik, CRM segmentasyonu ve gerçek zamanlı gösterge panoları. Sürdürülebilir DWH, net bir veri modeli (Star/Snowflake/Data Vault), sağlam entegrasyon (ETL/ELT + CDC), düşünceli performans (sütun motorları, taraflar, MV'ler), sıkı metrikler semantiği, güvenlik/PII ve maliyet yönetimi üzerine kurulmuştur.

Mimari yaklaşımlar

Klasik DWH (Kimball vs Inmon)

Kimball (Boyutsal/Yıldız/Kar Tanesi): hızlı rapor durumları; Gerçeklere ve boyutlara, SCD tarihine odaklanın. Hızlı zaman değeri.
Inmon (Kurumsal Bilgi Fabrikası): normalleştirilmiş çekirdek + vitrinler; Zamanla daha ağır, ama kesinlikle ve merkezi olarak.

Veri Kasası 2. 0

Hubs-Links-Satellites: Kaynak entegrasyonu ve değişim denetimi için ölçeklenebilir bir "ham" model. Üstte yıldız vitrinler inşa ediliyor.

Veri Gölü/Lakehouse

Veri Gölü: ham dosyalar (Parke/ORC) + dizinler (Kovan/Tutkal/Birlik/Metastore).
Lakehouse: batch/stream için tek katman, ACID tabloları (Delta/Iceberg/Hudi), zamanda yolculuk, upsert/merge, compact files, Z-order/Clustering.

Madalyon (Bronz-Gümüş-Altın)

Bronz: ham veri (ham) + CDC.
Gümüş: saflaştırılmış ve konformal.
Altın: iş durumları/metrikler/küpler.
Melezler için uygundur (Kafka - Bronz; Gümüş в Lakehouse; Altın в ClickHouse/BigQuery/Snowflake).

OLAP modelleri: Yıldız, Kar Tanesi, Veri Kasası

Yıldız Şeması (yıldız)

Gerçek tablolar: işlemler (oranlar, mevduatlar, oturumlar).
Boyutlar: oyuncu, oyun, sağlayıcı, tarih/saat, coğrafi, cazibe kanalı.
Artılar: Basit joynes, öngörülen performans.

Kar tanesi

Boyut normalleştirme (ülke/bölge/şehir hiyerarşileri, ürün hiyerarşileri).
Artıları: daha az çoğaltma; eksi - daha fazla joynes.

Veri Kasası> Yıldız

DV'ye ham değişiklikler ekliyoruz (denetim, tam tekrarlanabilirlik), Star/Snowflake gibi rapor pencereleri oluşturuyoruz.

Entegrasyon: ETL/ELT, CDC, yavaş değişiklikler

Boru hattı

OLTP'den çıkış kutusu/CDC (Postgres/MySQL) - Kafka/Bronz konektörler.
ELT: Silver'da temizlik, dedup, normalleştirme.
Gold/vitrinlerde iş mantığı ve toplamalar.

SCD (Yavaşça Değişen Boyutlar)

Yazım 1-Overwrite (zorunlu olmayan alanlar için).
Tip 2: Tarihsellik (tarihli sürümler) - profiller/kanallar/fiyatlar için standart.
Tip 3: Bir çift değerin depolanması (nadir).

Örnek SCD2 (SQL, genel görünüm):
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 katman ve "gerçek" metrikler

Tek bir semantik katman girin: GGR, NGR, Net Deposits, ARPPU, LTV, Churn, Retention Cohorts tanımları.
Kod olarak metrikler (dbt metrics/LookML/Semantic Layer) - tüm raporlarda aynı formüller.
Takvim: TZ/bölgeler/hafta sonları/kampanyalar nitelikleriyle tarih/saat tablosu.

Tonozlar ve motorlar: profil seçme

Sütun ve Bulut DWH

ClickHouse: ultra hızlı taramalar/toplamalar, materyalize temsiller, projeksiyonlar; Etkinlikler/telemetri ve pazarlama vitrinleri için farklıdır.
BigQuery: sunucusuz, ölçekli, otomatik önbellek/kümeler; tarama başına fiyat; Karışık yükler ve ad-hoc için uygundur.
Kar tanesi: hesaplama/depolama dalı, isteğe bağlı kümeler, zaman yolculuğu; Farklı takımlara açık.
Redshift/Vertica/Pinot/Druid: OLAP/gerçek zamanlı için seçenekler.

Profil ayarı

Tarihe/bölgeye/kanala göre bölümleme.
Filtre/joyn tuşlarına göre kümeleme/sıralama.
Sözlüklerle sıkıştırma ve kodlama.
Ön toplamalar (toplama, küpler), maddeleşmiş görünümler.
Ucuz derecelendirmeler için yaklaşık fonksiyonlar (HyperLogLog/approx_distinct).

Performans Mühendisliği

Bölümleme ve kümeleme

Parti bölmenin sınırıdır. Etkinlikler için gün/saat partileri.
Kümeleme (sıralama tuşları/Z-sırası) - aralıkları ve birleştirmeleri hızlandırır.

Materyalize Görünümler (MVs)

GGR/NGR gün/ülke/ürün bazında ön rapor verir.
CDC akışından artımlı güncelleme.

ClickHouse örneği (birleştirme tutan 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;

Artımlı Modeller (dbt/ELT)

Stratejiler 'insert _ overwrite' by party, 'merge' by CDC keys, 'watermark' by 'updated _ at'.

Katılma stratejileri

Her parti segmentindeki ölçümlerin kopyası (denorm).
Yayın küçük dims; Anahtara göre sıralanmış büyük gerçekleri karıştır.

Maliyet: kontrol ve optimizasyon

BigQuery/Snowflake: tarama boyutunu sınırla (tasarım partileri/kümeleri), sonuç önbelleğini/maddeleştirilmiş görünümleri etkinleştir, BI otomatik görevlerini sınırla.
ClickHouse: lot büyüklüğü, merjey frekansı, depolama bütçesi (ham olaylar için TTL, toplamalar dayanıklıdır).
Metrik semantiği "çift" hesaplamayı azaltır.
Veri budama: Bronz için saklama, Altın için toplama.

Veri kalitesi (DQ), katalog, soy

DQ kontrolleri: bütünlük, benzersizlik, aralıklar, iş kuralları (örneğin, agregalarda GGR ≥ 0).
Veri Kataloğu ve Lineage: tablo/alan açıklamaları, sahipler, PII sınıflandırması, rapordan kaynağa izleme.
Kontrol şemaları: olaylar/CDC için sözleşme, uyumsuz değişiklikler için uyarılar.

Güvenlik, uyumluluk ve çoklu kiracılık

PII segmentasyonu: bireysel bölgeler, maskeleme/takma ad verme, KMS şifrelemeli sütunlar.
RBAC/ABAC: proje/şema/tablo/satır (RLS) seviyesindeki roller, "bilmesi gereken" için makaralar.
Verilerin yerelleştirilmesi: bölgesel kovalar/depolar (EU/TR/LATAM).
Erişim denetimi: Vitrinleri ve modelleri okuyan/değiştiren.

DR, yedeklemeler ve tekrarlanabilirlik

Veri kodu sürüm oluşturma (dbt/git), Dev/QA/Prod ortamı.
Metastor/katalog anlık görüntüleri + zaman yolculuğu tabloları.
Tutma/TTL katmanları Bronz/Gümüş/Altın; Kritik vitrinlerin ihracatı.
Oyun günü: vitrinleri geri yükleme, metriklerin bütünlüğünü kontrol etme.

Gerçek zamanlı ve hibrit vitrinler

Stream-to-OLAP: Kafka ^ Dakika vitrinleri için ClickHouse/Pinot/Druid.
Materyalize görünümler + yakın çevrimiçi güncellemeler için CDC (5-15 dakika).
Semantik katman aynı kalır: metrikler gerçek zamanlı ve toplu olarak aynıdır.

Güne Göre GGR ve Ülke Vitrin Örneği (Genel SQL)

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;

Uygulama kontrol listesi

1. Kaynakları ve etki alanlarını tanımlayın, metrik sözlüğünü düzeltin.
2. Model seçin: Ham/denetlenmiş katmanlar için DV + vitrinler için Yıldız.
3. Anahtar sorgular ve pencereler için tasarım partileri/kümeleri.
4. CDC/ELT, SCD politikası ve vekil anahtarları yapılandırın.
5. Bir semantik katman (kod olarak metrikler) ve bir tarih/saat takvimi girin.
6. Pahalı raporlar için MV'ler/ön toplamalar oluşturun.
7. DQ/directory/lineage ve şema denetimini etkinleştir.
8. RBAC/PII/yerelleştirme, şifreleme, denetleme tanımlayın.
9. P95/p99 izleme, maliyet, bozulma ve taşma uyarıları ayarlayın.
10. Düzenli DR egzersizleri ve ortamların tekrarlanabilirliği.

Anti-desenler

"Partisiz devasa bir gerçek" - terabayt tarar ve skor büyür.
Farklı panolardaki metriklerin tutarsız tanımları.
İş dünyasının tarihsellik gerektirdiği yerlerde SCD2 eksikliği.
Ölçümlerin erken normalleştirilmesi: gereksiz sevinçler ve yavaş raporlar.
DQ kontrolleri ve soyu olmayan ham veriler - "hiçbir şey" raporları.
İzin yokluğu/TTL - çöpün depolanması ve maliyetin patlaması.

Özet

Güvenilir iGaming-DWH, tek bir metrik sözlük, doğru bölümler/kümeleme, materyalize vitrinler, sıkı DQ/soy ve RBAC/PII/yerelleştirme olan açık bir modeldir (DV - Yıldız). Tazelik, ELT odaklı ve değer disiplini için hibrit akış ekleyin - ve p99 ve bütçede sürprizler olmadan turnuvalara, düzenleyici raporlara ve geçici araştırmalara ölçeklenen sürdürülebilir bir analitik platformu elde edin.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.