Маалымат кампалары жана OLAP моделдери
(Бөлүк: Технология жана инфраструктура)
Кыскача резюме
Data Storage (DWH) - iGaming аналитикасынын таяныч катмары: жөнгө салуучу органдарга отчеттор, продуктылар/рыноктор боюнча кирешелүүлүк, LTV, антифрод аналитикасы, CRM сегментациясы жана реалдуу убакыт дашборддору. Туруктуу DWH так маалымат моделине негизделген (Star/Snowflake/Data Vault), ишенимдүү интеграция (ETL/ELT + CDC), ойлонулган аткаруу (колонка кыймылдаткычтары, бөлүктөрү, MVs), катуу семантика, коопсуздук/PII жана наркын башкаруу
Архитектуралык ыкмалар
Классикалык DWH (Kimball vs Inmon)
Kimball (Dimensional/Star/Snowflake): тез отчеттук терезелер; фактыларга жана өлчөөлөргө, SCD тарыхына көңүл бурат. Fast тайм-ту-вэлю.
Inmon (Corporate Information Factory): нормалдуу ядро + айнек; оор, бирок катуу жана борборлоштурулган.
Data Vault 2. 0
Hubs-Links-Спутниктер: булактарын бириктирүү жана өзгөрүүлөрдү текшерүү үчүн масштабдуу "чийки" модели. Үстү Жылдыздын витриналары.
Data Lake / Lakehouse
Data Lake: чийки файлдар (Parquet/ORC) + каталогдор (Hive/Glue/Unity/Metastore).
Lakehouse: batch/агым үчүн бирдиктүү катмар, ACID стол (Delta/Iceberg/Hudi), убакыт саякат, upsert/merge, компакт-файлдар, Z-order/Clustering.
Medallion (Bronze–Silver–Gold)
Bronze: чийки маалыматтар (чийки) + CDC.
Silver: тазаланган жана кондициялуу.
Алтын: бизнес-дисплей/метр/куб.
гибриддер үчүн ылайыктуу (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, жай өзгөрүүлөр
Paypline
OLTP Outbox/CDC (Postgres/MySQL) → Kafka/connectors → Bronze.
ELT: Silver тазалоо, дедуп, нормалдаштыруу.
Бизнес-логика жана Gold/Display чогултуу.
SCD (Slowly Changing Dimensions)
Type 1: кайра жазуу (анча маанилүү эмес талаалар үчүн).
Type 2: Тарыхтуулук (даталанган версиялар) - профилдер/каналдар/баалар үчүн стандарт.
Type 3: баалуулуктардын жуп сактоо (сейрек).
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: Server, масштаб, автоматтык кэш/кластерлер; сканер баасы; аралаш жүк жана ad-hoc үчүн ыңгайлуу.
Snowflake: compute/storage бөлүмү, талап боюнча кластерлер, убакыт саякат; ар кандай командалар үчүн ачык-айкын.
Redshift/Vertica/Pinot/Druid: параметрлери астында OLAP/реалдуу убакыт.
Тюнинг
Датасы/аймагы/каналы боюнча партиялаштыруу.
Кластерлөө/чыпкалоо/джойн ачкычтары боюнча сорттоо.
Кысуу жана сөздүктөрдү коддоо.
Pre-агрегация (rollup, кубес), материалдык көрүнүшү.
Approx өзгөчөлүктөрү (HyperLogLog/approx_distinct) арзан баа берүү үчүн.
аткаруу долбоорлоо
Партиялаштыруу жана кластерлештирүү
Партиция - бөлүктүн чеги. Окуялар үчүн күндүзгү/сааттык партиялар.
Clusterization (sort keys/Z-order) - диапазондорун жана join-y тездетет.
Материалдык көрүнүшү (MV)
GGR/NGR алдын ала эсеби күн/өлкөлөр/буюмдар боюнча.
CDC агымынан инкременталдык жаңыртуу.
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)
parties боюнча 'insert _ overwrite' стратегиялары, CDC ачкычтары боюнча 'merge', 'updated _ at' боюнча 'watermark'.
Join стратегиялары
Ар бир партиялык сегментте өлчөө репликасы (denorm).
Broadcast small dims; shuffle large facts ачкыч боюнча сорттоо менен.
Баасы: контролдоо жана оптималдаштыруу
BigQuery/Snowflake: сканердин өлчөмүн чектөө (партияларды/кластерлерди долбоорлоо), result cache/materialized views, BI auto-квесттерди чектөө.
ClickHouse: Партиялардын көлөмү, Мерджердин жыштыгы, сактоо бюджети (чийки окуялар үчүн TTL, агрегациялар бышык).
Метриканын семантикасы "кош" эсептөөлөрдү кыскартат.
Data pruning: Bronze үчүн retenshn, Gold үчүн чогултуу.
Маалымат сапаты (DQ), каталог, lineage
DQ чектери: толуктугу (completeness), уникалдуулугу, диапазондору, бизнес эрежелери (мисалы, GGR ≥ 0 бирдиктеринде).
Data Catalog & Lineage: Таблицалардын/талаалардын сүрөттөлүшү, ээлери, PII классификациясы, отчеттун булагына чейин.
Схемаларды көзөмөлдөө: иш-чаралар/CDC үчүн келишим, туура келбеген өзгөрүүлөр менен алерталар.
Коопсуздук, комплаенс жана көп тенанттуулук
PII сегментациялоо: өзүнчө зоналар, маскировка/псевдоним, KMS шифрлөө менен колонкалар.
RBAC/ABAC: "need-to-know" үчүн долбоор/схемалар/таблицалар/саптар (RLS) деңгээлиндеги ролдор.
Маалыматтарды локалдаштыруу: аймактык buckets/warehouses (EU/TR/LATAM).
Кирүү аудити: витриналарды жана моделдерди ким окуду/алмаштырды.
DR, backaps жана кайталоо
Data Code версиялоо (dbt/git), Dev/QA/Prod чөйрөсү.
Метастор/каталог Snapshots + таблицаларды чыгаруу (time-travel).
Retenshn/TTL катмарлары Bronze/күмүш/алтын; маанилүү терезелерди экспорттоо.
Game-day: дисплей калыбына келтирүү, метр бүтүндүгүн текшерүү.
Реалдуу убакыт жана гибриддик терезелер
Stream-to-OLAP: Kafka → ClickHouse/Pinot/Druid мүнөт терезелер үчүн.
Materialized views + дээрлик онлайн тактоо үчүн CDC (5-15 мин).
Семантикалык катмар бирдей бойдон калууда: метриктер реалдуу убакыт жана батч менен бирдей.
"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. моделин тандоо: чийки/аудит катмарлары үчүн DV + дисплей үчүн Star.
3. Негизги суроо-талаптарга жана терезелерге партияларды/кластерлерди долбоорлоо.
4. CDC/ELT, SCD саясаты жана surrogate keys.
5. Семантикалык катмарды (код катары метрика) жана күн/саат календарын киргизиңиз.
6. Кымбат отчеттор үчүн MVs/алдын ала агрегаттарды түзүү.
7. DQ/каталог/lineage жана схемаларды көзөмөлдөө кирет.
8. RBAC/PII/локализацияны, шифрлөөнү, аудитти аныктаңыз.
9. p95/p99 мониторинг орнотуу, наркы, деградация жана ашыкча боюнча Алерт.
10. Үзгүлтүксүз DR-машыгуулар жана айлана-чөйрөнүн кайталанышы.
Антипаттерндер
"Партиясыз бир чоң факт" → терабайт сканерлери жана эсеп өсүп жатат.
Ар кандай дашборддордогу метриктердин макулдашылбаган аныктамалары.
Бизнес тарыхты талап кылган жерде SCD2 жоктугу.
Өлчөөнүн эрте нормалдашуусу: ашыкча джойндор жана жай отчеттор.
Чийки маалыматтар жок DQ чектери жана lineage → отчеттор "эч нерсе жөнүндө".
Retenia/TTL → таштанды сактоо жана жарылуу наркы жок.
Натыйжалары
Ишенимдүү iGaming-DWH - бул так модель (DV → Star), бирдиктүү сөздүк метрика, туура партия/кластерлештирүү, материалдаштырылган витриналар, катуу DQ/сызык, ошондой эле RBAC/PII/локализация. сергектик үчүн гибриддик агымын кошуу, башкарылуучу ELT жана наркы тартип - жана турнирлер, жөнгө салуучу отчеттор жана p99 жана бюджет күтүлбөгөн ad-hoc изилдөө боюнча масштабдуу туруктуу аналитикалык аянтчаны алуу.