Дӯкони маълумот ва моделҳои OLAP
(Қисм: Технология ва инфрасохтор)
Хулосаи мухтасар
Анбори маълумот (DWH) - Қабати асосии таҳлилии IGaming: ҳисоботҳо ба танзимгарон, даромаднокӣ аз рӯи маҳсулот/бозор, LTV-и когорт, таҳлили зидди қаллобӣ, сегментатсияи CRM ва панелҳои вақти воқеӣ. DWH-и устувор дар асоси модели дақиқи маълумот (Star/Snowflake/Data Vault), ҳамгироии мустаҳкам (ETL/ELT + CDC), иҷрои оқилона (муҳаррикҳои сутун, ҳизбҳо, MV), семантикаи қатъии ченакҳо, амният/PII ва идоракунии хароҷот сохта шудаанд.
Равишҳои меъморӣ
DWH классикӣ (Кимбалл vs Инмон)
Кимбалл (Андоза/Ситора/Барфпӯше): ҳолатҳои ҳисоботи зуд; тамаркуз ба далелҳо ва андозаҳо, таърихи SCD. Арзиши фаврии вақт.
Inmon (Фабрикаи иттилооти корпоративӣ): ядрои муқарраршуда + мағозаҳо; бо мурури замон вазнинтар, аммо қатъӣ ва мутамарказ.
Маълумот Vault 2. 0
Hubs-Links-моҳвораҳо: Модели миқёси "хом" барои ҳамгироии манбаъ ва аудити тағирот. Дар болои дӯконҳои ситораҳо сохта мешаванд.
Кӯли маълумот/Lakehouse
Кӯли маълумот: файлҳои хом (Parquet/ORC) + феҳристҳо (Hive/Glue/Unity/Metastore).
Lakehouse: қабати ягона барои партия/ҷараён, ҷадвалҳои ACID (Delta/Iceberg/Hudi), вақти сафар, боло/якҷоя, файлҳои паймон, Z-фармоиш/Кластер.
Медалион (биринҷӣ-нуқра-тилло)
Биринҷӣ: маълумоти хом (хом) + CDC.
Нуқра: тозашуда ва мувофиқ.
Тилло: ҳолатҳои корӣ/ченакҳо/мукааб.
Мувофиқ барои гибридҳо (Кафка → Биринҷӣ; Силвер в Лейкхаус; Тилло в Клик/Хонаи калон/Барфпӯше).
Моделҳои OLAP: Star, Snowflake, Data Vault
Схемаи ситора (ситора)
Ҷадвалҳои далелҳо: амалиётҳо (меъёрҳо, амонатҳо, сессияҳо).
Андозаҳо: плеер, бозӣ, провайдер, сана/вақт, гео, канали ҷалб.
Тарафдор: Joynes оддӣ, иҷрои пешбинишуда.
Барфпӯше
Меъёри андоза (иерархияҳои кишвар/минтақа/шаҳр, иерархияи маҳсулот).
Тарафдор: такрори камтар; минус - шодиҳои бештар.
Маълумот Vault → Star
Мо ба DV тағироти хом илова мекунем (аудит, репродуктивии пурра), сохтани тирезаҳои ҳисоботӣ ба монанди Star/Snowflake.
Интегратсия: ETL/ELT, CDC, тағироти суст
Қубур
Outbox/CDC аз OLTP (Postgres/My
ELT: тоза кардан, тарҳ кардан, ба эътидол овардани нуқра.
Мантиқи тиҷорат ва маҷмӯаҳо дар Gold/storefronts.
SCD (Андозаҳои оҳиста тағирёбанда)
Намуди 1-Overwrite (барои майдонҳои ғайримуқаррарӣ).
Навъи 2: таърихият (версияҳои сана) - стандарт барои профилҳо/каналҳо/нархҳо.
Навъи 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, пасандозҳои холис, ARPPU, LTV, Churn, таърифҳои нигоҳдорӣ.
Метрика ҳамчун рамз (dbt metrics/Look
Тақвим: ҷадвали сана/соат бо хусусиятҳои TZ/минтақаҳо/рӯзҳои истироҳат/маъракаҳо.
Таҳхонаҳо ва муҳаррикҳо: интихоби профил
Сутун ва DWH абрӣ
Click 'House: сканерҳои ултрастаст/агрегатҳо, намояндагиҳои моддӣ, пешгӯиҳо; барои чорабиниҳо/телеметрия ва намоишҳои маркетингӣ фарқ мекунад.
Big Query: serverless, миқёс, кэшҳои автоматӣ/кластерҳо; нархи як скан; қулай барои бори омехта ва ad-hoc.
Барфи барфӣ: филиали ҳисобкунӣ/нигоҳдорӣ, кластерҳои дархостӣ, вақти сафар; шаффоф ба дастаҳои гуногун.
Redshift/Vertica/Pinot/Druid: имконот барои OLAP/вақти воқеӣ.
Танзими профил
Тақсимот аз рӯи сана/минтақа/канал.
Гурӯҳбандӣ/гурӯҳбандӣ аз рӯи калидҳои филтр/joyn.
Фишурдасозӣ ва рамзгузорӣ аз рӯи луғатҳо.
Preaggregations (rollup, мукааб), назари моддӣ.
Функсияҳои тақрибан (HyperLogLog/approx_distinct) барои рейтингҳои арзон.
Муҳандисии иҷроиш
Тақсимот ва гурӯҳбандӣ
Ҳизб сарҳади қисм аст. Ҷашнҳои рӯз/соат барои чорабиниҳо.
Кластерӣ (навъҳои калидҳо/Z-фармоиш) - диапазонҳоро суръат мебахшад ва ҳамроҳ мешавад.
Назари материализатсияшуда (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)
Стратегияҳо 'ҳизби _ overwrite' by, 'калидҳои CDC merge' by, 'watermark' by 'updated _ at'.
Стратегияҳои ҳамроҳ
Нусхаи ченакҳо дар ҳар як сегменти партия (денорм).
Пахши dims хурд; омезиши далелҳои калон аз рӯи калид.
Арзиш: назорат ва оптимизатсия
Бузургтарин Query/Snowflake: андозаи сканро маҳдуд кунед (ҳизбҳои тарроҳӣ/кластерҳо), имкон диҳед, ки кэш/натиҷаҳоро ба даст оред, дархостҳои худкори BI-ро маҳдуд кунед.
Click-House: андозаи лот, басомади мержей, буҷаи нигоҳдорӣ (TTL барои рӯйдодҳои хом, маҷмӯаҳо пойдор мебошанд).
Семантикаи метрикӣ ҳисобкунии "дукарата" -ро коҳиш медиҳад.
Навдаи маълумот: нигоҳдорӣ барои биринҷӣ, ҷамъбасти тилло.
Сифати маълумот (DQ), каталог, насл
Санҷиши DQ: пуррагӣ, беҳамтоӣ, диапазонҳо, қоидаҳои тиҷорат (масалан, GGR ≥ 0 дар маҷмӯъ).
Каталоги маълумот ва насаб: тавсифи ҷадвал/майдон, соҳибон, таснифи PII, пайгирии гузориш ба манбаъ.
Схемаҳои назоратӣ: шартнома барои рӯйдодҳо/CDC, огоҳиҳо барои тағироти номувофиқ.
Бехатарӣ, мувофиқат ва иҷораи бисёр
Сегментатсияи PII: минтақаҳои инфиродӣ, ниқоб/псевдонимизатсия, сутунҳо бо рамзгузории KMS.
RBAC/ABAC: нақшҳо дар сатҳи лоиҳа/схема/ҷадвал/сатр (RLS), роликҳо барои "донистани ниёз".
Маҳаллисозии маълумот: сатил/анборҳои минтақавӣ (EU/TR/LATAM).
Аудити дастрасӣ: дӯконҳо ва моделҳоро кӣ мехонд/иваз кард.
DR, нусхабардорӣ ва такрористеҳсолкунӣ
Санҷиши коди маълумот (dbt/git), муҳити Dev/QA/Prod.
Суратҳои метастор/каталог + ҷадвалҳои вақти сафар.
Нигоҳдорӣ/қабатҳои TTL биринҷӣ/нуқра/тилло; содироти дӯконҳои муҳим.
Рӯзи бозӣ: барқарор кардани намоишҳо, санҷиши тамомияти ченакҳо.
Дӯкони вақти воқеӣ ва гибридӣ
Сюзан-ба-OLAP: Кафка → Click
Назари материализатсияшуда + CDC барои навсозиҳои наздик ба онлайн (5-15 дақиқа).
Қабати семантикӣ якхела боқӣ мемонад: ченакҳо дар вақти воқеӣ ва партия якхелаанд.
GGR аз рӯи рӯз ва намоиши кишвар (Generic 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 ва калидҳои суррогатӣ.
5. Қабати семантикиро (ченакҳоро ҳамчун рамз) ва тақвими сана/соатро ворид кунед.
6. Барои ҳисоботҳои гаронбаҳо MV/preaggregations эҷод кунед.
7. Даргиронидани идоракунии DQ/directory/lineage ва schema.
8. Муайян кардани RBAC/PII/маҳаллисозӣ, рамзгузорӣ, аудит.
9. Мониторинги p95/p99, хароҷот, огоҳиҳо дар бораи таназзул ва аз ҳад зиёд насб кунед.
10. Машқҳои мунтазами DR ва таҷдиди муҳитҳо.
Анти-намунаҳо
"Як далели азим бе ҳизбҳо" → терабайт скан мекунад ва хол меафзояд.
Таърифҳои номувофиқи ченакҳо дар панелҳои гуногун.
Набудани SCD2, ки дар он ҷо тиҷорат таърихро талаб мекунад.
Нормализатсияи бармаҳал андозагирӣ: joynes нолозим ва гузоришҳои суст.
Маълумоти хом бидуни чекҳои DQ ва насл → гузоришҳои "ҳеҷ чиз".
Набудани иҷозат/TTL → нигаҳдории партов ва таркиши арзиш.
Хулоса
IGaming-DWH боэътимод як модели равшан (DV → Star), луғати ягонаи метрикӣ, қисмҳои дуруст/кластерӣ, дӯконҳои материалӣ, DQ/наслҳои қатъӣ ва RBAC/PII/маҳаллисозӣ мебошад. Ҷараёни гибридиро барои тару тоза, интизоми ELT ва интизоми арзиш илова кунед - ва платформаи устувори таҳлилиро гиред, ки дар мусобиқаҳо, гузоришҳои танзимкунанда ва таҳқиқоти махсус бидуни ногаҳонӣ дар p99 ва буҷа васеъ карда шавад.