GH GambleHub

Деректер қоймасы және OLAP үлгілері

(Бөлім: Технологиялар және Инфрақұрылым)

Қысқаша түйіндеме

Деректер қоймасы (DWH) - iGaming талдауының тірек қабаты: реттеушілерге есептер, өнімдер/нарықтар бойынша пайдалылық, когорт LTV, антифрод-талдау, CRM-сегментация және real-time дашбордтар. Тұрақты DWH деректердің айқын моделіне (Star/Snowflake/Data Vault), сенімді интеграцияға (ETL/ELT + CDC), ойластырылған өнімділікке (бағаналы қозғалтқыштар, партиялар, MVs), қатаң семантикаға, қауіпсіздікке/PII және құнын басқару.

Сәулеттік тәсілдер

Классикалық DWH (Kimball vs Inmon)

Kimball (Dimensional/Star/Snowflake): жылдам есеп көрсету сөрелері; фактілер мен өлшемдерге назар аудару, SCD-тарихы. Жылдам тайм-ту-вэлью.
Inmon (Corporate Information Factory): қалыпты ядро + сөрелер; уақыт жағынан ауыр, бірақ қатаң және орталықтандырылған.

Data Vault 2. 0

Hubs-Links-Satellites: көздерді біріктіру және өзгерістер аудиті үшін масштабталатын «шикі» модель. Үстіңгі жағында Star сөрелері салынады.

Data Lake / Lakehouse

Data Lake: шикі файлдар (Parquet/ORC) + каталогтар (Hive/Glue/Unity/Metastore).
Lakehouse: batch/stream үшін бірыңғай қабат, ACID-кесте (Delta/Iceberg/Hudi), time-travel, upsert/merge, ықшам файлдар, Z-order/Clustering.

Medallion (Bronze–Silver–Gold)

Bronze: шикі деректер (raw) + CDC.
Silver: тазартылған және конформды.
Gold: бизнес-сөрелер/метриктер/кубтар.
Гибридтерге (Kafka → Bronze; Silver в Lakehouse; Gold в ClickHouse/BigQuery/Snowflake).

OLAP модельдері: Star, Snowflake, Data Vault

Star Schema (жұлдыз)

Fact кестесі: транзакциялар (ставкалар, депозиттер, сессиялар).
Dimensions: ойыншы, ойын, провайдер, күні/уақыты, гео, тарту арнасы.
Артықшылықтары: қарапайым джойндар, болжамды өнімділік.

Snowflake

Өлшемдерді қалыпқа келтіру (елдердің/өңірлердің/қалалардың иерархиясы, өнімдердің иерархиясы).
Артықшылықтары: қайталанудан аз; минус - джойндардан көп.

Data Vault → Star

Шикі өзгерістерді DV-ге (аудит, толық жаңғыртылу) жинаймыз, есептердің сөрелерін Star/Snowflake ретінде саламыз.

Интеграция: ETL/ELT, CDC, баяу өзгерістер

Пайплайн

OLTP-тен Outbox/CDC (Postgres/MySQL) → Kafka/коннекторлар → Bronze.
ELT: Silver тазалау, дедуп, қалыпқа келтіру.
Gold/витриналардағы бизнес-логика және агрегациялар.

SCD (Slowly Changing Dimensions)

Type 1: қайта жазу (маңызды емес өрістер үшін).
Type 2: тарихтылық (мерзімі көрсетілген нұсқалар) - профильдер/арналар/бағалар үшін стандарт.
Type 3: мәндер жұбын сақтау (сирек).

SCD2 мысалы (SQL, жалпы көрініс):
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;

Семантикалық қабат және «шынайы» метриктер

GGR, NGR, Net Deposits, ARPPU, LTV, Churn, Retention Cohorts анықтамаларын енгізіңіз.
Код түріндегі метриктер (dbt metrics/LookML/Semantic Layer) → барлық есептердегі бірдей формулалар.
Күнтізбе: TZ/аймақтар/демалыс/науқан атрибуттары бар күн/сағат кестесі.

Сақтау орындары мен қозғалтқыштар: профайлға таңдау

Бағаналы және бұлтты DWH

ClickHouse: аса жылдам сканерлер/агрегациялар, материалданған көріністер, проекциялар; оқиғалар/телеметрия және маркетингтік витриналар үшін ерекшеленеді.
BigQuery: серверлесс, масштаб, автоматты кэштер/кластерлер; сканердің бағасы; аралас жүктемелер және ad-hoc үшін қолайлы.
Snowflake: compute/storage бөлімшесі, талап ету бойынша кластерлер, time-travel; әр түрлі пәрмендер үшін мөлдір.
Redshift/Vertica/Pinot/Druid: OLAP/real-time.

Профайлға тюнинг

Күні/аймағы/арнасы бойынша партияландыру.
Сүзгілеу/джойндар кілттері бойынша кластерлеу/сұрыптау.
Сөздіктерді қысу және кодтау.
Алдын ала топтастыру (rollup, cubes), материалдандырылған көріністер.
Approx функциялары (HyperLogLog/approx_distinct) арзан бағалар үшін.

Өнімділікті жобалау

Партияландыру және кластерлеу

Партия - бөліктің шекарасы. Оқиғалар үшін күндізгі/сағаттық партиялар.
Кластерлеу (sort keys/Z-order) - диапазондар мен join-дерді жылдамдатады.

Материалдандырылған көріністер (MV)

Күндер/елдер/өнімдер бойынша GGR/NGR алдын ала есебі.
CDC ағынынан инкрементальды жаңарту.

Мысал ClickHouse (мердж-ұстаушы 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;

Инкременталды модельдер (dbt/ELT)

Топтамалар бойынша 'insert _ overwrite', CDC кілттері бойынша 'merge', 'updated _ at' бойынша 'watermark' стратегиялары.

Join-стратегиялары

Әрбір партиялық сегментке өлшеу репликасы (denorm).
Broadcast small dims; shuffle large facts кілт бойынша сұрыптау.

Құны: бақылау және оңтайландыру

BigQuery/Snowflake: сканердің өлшемін шектеңіз (топтамаларды/кластерлерді жобалаңыз), result cache/materialized views бағдарламасын қосыңыз, BI авто-квесттерін шектеңіз.
ClickHouse: партия мөлшері, мерджерлер жиілігі, сақтау үшін бюджет (шикі оқиғаларға арналған TTL, агрегациялар ұзақ мерзімді).
Метриканың семантикасы «қос» есептеуді қысқартады.
Data pruning: Bronze үшін ретеншн, Gold үшін агрегациялар.

Деректер сапасы (DQ), каталог, lineage

DQ-чектер: толықтығы (completeness), бірегейлігі, ауқымдары, бизнес-ережелері (мысалы, GGR ≥ 0 агрегаттарда).
Data Catalog & Lineage: кесте/өріс сипаттамалары, иелері, PII жіктелімі, есептен көзге дейінгі трассировка.
Схемаларды бақылау: оқиғаларға/CDC келісімшарты, үйлеспейтін өзгерістер кезіндегі тәуекелдер.

Қауіпсіздік, комплаенс және мульти-тенанттық

PII сегментация: жеке аймақтар, бүркемелеу/бүркемелеу, KMS-шифрлау бағандары.
RBAC/ABAC: жоба/схемалар/кестелер/жолдар (RLS) деңгейіндегі рөлдер, «need-to-know» үшін вьюхтар.
Деректерді оқшаулау: өңірлік buckets/warehouses (EU/TR/LATAM).
Кіру аудиті: витриналар мен модельдерді кім оқыды/өзгертті.

DR, бэкаптар және жаңғыртылуы

Деректер кодын (dbt/git), Dev/QA/Prod ортасын нұсқалау.
Метастор/каталог снапшоттары + кестелерді нұсқалау (time-travel).
Ретеншн/TTL Bronze/Silver/Gold қабаттары; сындарлы сөрелердің экспорты.
Game-day: сөрелерді қалпына келтіру, метрлердің тұтастығын тексеру.

Real-time және гибридті витриналар

Stream-to-OLAP: Kafka → ClickHouse/Pinot/Druid минуттық витриналарға арналған.
Materialized views + CDC үшін шамамен онлайн жаңартулар (5-15 мин).
Семантикалық қабат біртұтас болып қалады: метриктер real-time және batch-те бірдей.

«Күндер мен елдер бойынша GGR» (жиынтықталған 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;

Енгізу чек-парағы

1. Көздер мен домендерді анықтаңыз, метрика сөздігін бекітіңіз.
2. Үлгіні таңдаңыз: витриналар үшін шикі/аудит қабаттары + Star үшін DV.
3. Негізгі сұраулар мен терезелерге арналған партияларды/кластерлерді жобалаңыз.
4. CDC/ELT, SCD саясатын және surrogate keys параметрлерін теңшеңіз.
5. Семантикалық қабатты (код ретінде метриканы) және күн/сағат күнтізбесін енгізіңіз.
6. Қымбат есептер үшін MVs/алдын ала тіркесімдер жасаңыз.
7. DQ/каталогын/lineage және схемаларды тексеруді қосыңыз.
8. RBAC/PII/локализацияны, шифрлауды, аудитті анықтаңыз.
9. p95/p99 мониторингін, құнын, деградацияға және артық шығынға тәуекелдерді теңшеңіз.
10. Тұрақты DR-жаттығулар және қоршаған ортаның жаңғыртылуы.

Антипаттерндер

«Партиясыз бір орасан зор факт» → терабайтты сканерлеу және есеп өсуде.
Әртүрлі дашбордтардағы метриктердің келісілмеген анықтамалары.
Бизнес тарихтылықты талап ететін жерде SCD2 болмауы.
Өлшемдерді мерзімінен бұрын қалыпқа келтіру: артық джойндар және баяу есептер.
DQ-чектерсіз шикі деректер және lineage → «ештеңе туралы» есептер.
Ретенцияның болмауы/TTL → қоқысты жинау және құнын жару.

Сенімді iGaming-DWH - бұл нақты модель (DV → Star), метриканың бірыңғай сөздігі, дұрыс партиялар/кластерлеу, материалданған витриналар, қатаң DQ/lineage, сондай-ақ RBAC/PII/локализация. Жаңалық үшін гибридті стримингті, ELT басқаратын және құн тәртібін қосыңыз - және турнирлерге, реттеуші есептерге және p99 және бюджетте күтпеген жерден ad-hoc зерттеуге арналған тұрақты аналитикалық платформаны алыңыз.

Contact

Бізбен байланысыңыз

Кез келген сұрақ немесе қолдау қажет болса, бізге жазыңыз.Біз әрдайым көмектесуге дайынбыз!

Интеграцияны бастау

Email — міндетті. Telegram немесе WhatsApp — қосымша.

Сіздің атыңыз міндетті емес
Email міндетті емес
Тақырып міндетті емес
Хабарлама міндетті емес
Telegram міндетті емес
@
Егер Telegram-ды көрсетсеңіз — Email-ге қоса, сол жерге де жауап береміз.
WhatsApp міндетті емес
Пішім: +ел коды және номер (мысалы, +7XXXXXXXXXX).

Батырманы басу арқылы деректерді өңдеуге келісім бересіз.