Анборҳои маълумот
1) Мақсад ва нақши DWH дар IGaming
DWH консолидатсияи марказии маълумот ва қабати хидматрасонӣ барои ҳисобот, таҳлил, мувофиқат ва ML мебошад. Он таъмин менамояд:- Таърифҳои маъмулии метрикӣ (GGR/NGR, ARPPU, Нигоҳдорӣ, Churn).
- Ҳисоботҳои такрорӣ барои танзимгарон ва ҷонибҳои манфиатдори дохилӣ.
- Дӯкони зуд барои панелҳои BI/амалиётӣ ва манбаъҳо барои моделҳо.
- Назорати сифат дар сатҳи платформа, насл ва бехатарӣ.
2) Имконоти меъморӣ
2. 1 DWH классикӣ
ETL → DWH → BI.
Тарафдор: Моделҳои идорашаванда, мувофиқати қавӣ.
Омӯз: зеркашиҳои гарон, backfill мураккаб, чандирии маҳдуд.
2. 2 Lakehouse DWH
Биринҷӣ/нуқра/тилло дар ҷадвалҳои ACID (Delta/Iceberg/Hudi) + муҳаррики SQL/MPP.
Тарафдор: нигаҳдории ягона, вақти сафар, коркарди оддӣ.
Омӯз: интизоми қабатҳои ва DQ, оркестри баркамолро талаб мекунад.
2. 3 Гибрид
Lakehouse ҳамчун "манбаи ҳақиқат" (биринҷӣ/нуқра), DWH-Март дар MPP (Click/House/Pinot/Druid/Cloud DWH) барои хониши баландсуръат.
Тарафдор: тавозуни хароҷот ва нишондиҳандаҳо, дӯконҳои фасеҳ.
Омӯз: дастгирии дугона барои схемаҳо ва конькибозӣ, синхронизатсия лозим аст.
Тавсия: барои IGaming - Lakehouse + DWH-март (гибрид). Биринҷӣ/нуқра - стандартизатсия, маршҳои тиллоӣ/вақти воқеӣ - ба бори хониш хизмат мекунанд.
3) Моделсозии маълумот
3. 1 Ситораҳо ва барфпӯше
Ҷадвалҳои далелҳо: танг, рӯйдодҳо: 'fact _ bets', 'fact _ payouts', 'fact _ payments'.
Андозаҳо: 'dim _ users' (SCD), 'dim _ games', 'dim _ providers', 'dim _ markets'.
Барфпӯши барфӣ дар нуқра (муътадил), ситора - дар тилло (хониш) мувофиқ аст.
3. 2 Маълумот Vault 2. 0 (ядрои ҳамгироӣ)
Марказҳо (калидҳои корӣ), пайвандҳо (муносибатҳо), моҳвораҳо (контекст/таърих).
Барои ҳамгироии дарозмуддати провайдер/PSP дар Силвер муроҷиат кунед.
3. 3 SCD I/II/III
SCD II барои RG/KYC/каналҳо ва хусусиятҳои бозӣ (RTP/ноустуворӣ).
Фосилаҳои қатъии 'дуруст _ аз/дуруст _ ба', дуруст ҳамроҳ шудан дар вақташ.
4) Сарборӣ: ETL/ELT, CDC ва афзоиш
Равиши ELT: боркунӣ дар Силвер → табдилдиҳӣ дар DWH.
CDC: Такрори Debezium/журнал аз OLTP; мержи idempotent мебошанд.
Афзоишҳо: аз рӯи вақти об ('updated _ at> max_loaded_ts') ва/ё delta hash.
Backfill/Коркард: вақти сафар, диапазон, квотаҳо, муқоисаи хушк.
sql
MERGE INTO silver. payments s
USING stage. payments_delta d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
5) Қабати семантикӣ ва ченакҳо
Дӯкони Metrics/Қабати семантикӣ: формулаҳои ягонаи GGR/NGR/Conversion/LTV.
Андозагирии версия ва ҳисобкунии "ас-аз" барои репродуктивӣ.
Конвенсияҳо номҳои метрикӣ, воҳидҳо, асъор (пойгоҳи EUR) ва 'fx _ source' мебошанд.
6) Дӯконҳо ва хидматрасонӣ
Намоишҳои тиллоӣ: ғайримуқаррарӣ, SLA омода (масалан, то соати 06:00 қулф.) .
Мартҳои амалиётӣ: Барои панелҳои 1-5 дақиқа клик/Pinot/Druid.
Содирот: CSV/JSON/PDF + hash; бастаҳои ивазнашаванда (WORM) барои танзимгарон.
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
b. market,
g. provider_id,
SUM(b. stake_base) AS stakes_eur,
SUM(p. amount_base) AS payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) AS ggr_eur
FROM silver. fact_bets b
LEFT JOIN silver. fact_payouts p
ON p. user_pseudo_id = b. user_pseudo_id
AND p. game_id = b. game_id
AND DATE(p. event_time) = DATE(b. event_time)
JOIN dim. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
7) Сифати маълумот (DQ) ва шартномаҳо
Схема-аввал: Феҳристи JSON/Avro + санҷишҳои мутобиқат (истеъмолкунанда).
DQ-kak-kod: пуррагӣ/дурустӣ/беҳамтоӣ/FK/диапазон/муваққатӣ.
Сиёсати аксуламал: интиқодӣ → ноком + DLQ; асосӣ/ноболиғ → барчасп ва ҳисобот.
Мушоҳидаҳои DQ: Тару тоза/Мукаммалӣ/Панели дурустӣ, сабти гумшудаи сабтҳо.
8) Амният, махфият ва иқомат
Кам кардани PII: корбарон тавассути псевдо-ID; харитаҳо алоҳида.
RLS/CLS: Дастрасӣ ба хати сатр/пас аз ҷадвал аз рӯи нақш ва доираи салоҳият.
Рамзгузорӣ: TLS дар транзит; дар истироҳат - KMS/CMK бо гардиш.
Резидентураи маълумот: феҳристҳо ва калидҳои алоҳида барои EEA/UK/BR; манъ кардани пайвастшавии байниминтақавӣ бе сабаб.
DSAR/RTBF: пешгӯиҳои ҳисобшаванда ва таҳрирҳои интихобӣ; Нигоҳдории ҳуқуқӣ оид ба гузориш додани артефактҳо.
9) Иҷро ва хароҷот (Муҳандисии хароҷот)
Тақсимот: аз рӯи сана/бозор/иҷорагир; кластерӣ/Z-фармоиш аз ҷониби 'бозор', 'провайдер _ ид', 'game _ id', 'user _ pseudo _ id'.
Форматҳо: Parquet + омор ва фишурдасозӣ; ОПТИМИЗАТСИЯ/ВАКУУМ аз рӯи ҷадвал.
Материализатсия: агрегатҳои устувор ва ҷадвалҳои ҷамъбастӣ; аз ҳамроҳ шудани "фарбеҳ" дар парвоз худдорӣ кунед.
Квотаҳо/Пардохт: буҷаҳо барои дархостҳо/такрори вазнин; ҳисоботҳо арзиш/дархост, арзиш/ГБ.
Захираи сатҳӣ: гарм/гарм/хунук; SLA-ҳои барқарорсозии тоза.
10) Мушоҳида ва идоракунӣ
Нишондиҳандаҳои қубур: давомнокӣ, ҳаҷм, бозсозӣ, ақибмонӣ, таҳаммулпазирии гуноҳ.
Нишондиҳандаҳои DWH: вақти вокуниш/рақобатпазирӣ/хитҳои кэш/арзиш.
Насаб: графика аз манбаъҳо то гузоришҳо; таҳлили таъсир ба тағирот.
SLO: Freshness Silver p95 ≤ 15 мил; Тилло ҳар рӯз - то соати 06:00 омода мешавад; Эътибор ≥ 99. 9%; Пуррагӣ ≥ 99. 5%; мавҷудияти ≥ 99. 9%.
11) Ҷудокунии бисёрҳуҷрагӣ ва домейн
Тақсимот аз рӯи схема/пойгоҳи додаҳо/каталог ба иҷорагир/бозор.
Квотаҳо ва гурӯҳҳои захиравӣ; маҳдуд кардани "ҳамсояҳои пурғавғо".
Сиёсати содирот/воридот байни иҷорагирон, шартномаҳои стандартӣ.
12) Сабти маълумот ва ҳуҷҷатгузорӣ
Каталоги маълумот: соҳиб, SLA, схема, намунаҳо, қоидаҳои DQ, насл.
Нишондиҳандаҳо/панелҳо: кортҳо бо формулаҳо ва масъулият.
Тағир додани журнал: версияҳои мантиқ, муҳоҷират, таъсир.
13) Равандҳо ва RACI
R (Масъул): Муҳандисии маълумот (моделҳои Silver/Gold, DAG 'i), Платформаи маълумот (инфра, феҳрист, DQ).
A (Ҳисоботдиҳанда): Роҳбари маълумот/CDO.
C (Машварат): Мувофиқат/Ҳуқуқӣ/DPO, Молия (FX/GGR), Хавф (RG/AML), SRE (SLO/stoimostь).
Ман (Маълумот): BI, Маҳсулот, Маркетинг, Амалиёт.
14) Харитаи роҳсозӣ
MVP (4-6 ҳафта):1. Lakehouse биринҷӣ/нуқра (ҷадвалҳои ACID), CDC/афзоиш барои пардохтҳо/Gameplay.
2. Аввалин намоишҳои тиллоӣ (GGR Daily, табдили), SLA то соати 06:00.
3. DQ-like-code (қоидаҳои 10-15) + панели тозагӣ/мукаммалӣ.
4. Феҳристи маълумот ва қабати семантикии ченакҳо.
Марҳилаи 2 (6-12 ҳафта):- Истифодабарандагони SCD II dlya/бозиҳо/провайдерҳо; тавсеаи домен.
- Online March (Click/House/Pinot) барои панелҳои вақти воқеӣ/дар вақти воқеӣ.
- Таҳлили насл/таъсир, тартиботи DSAR/RTBF, минтақасозӣ (EEA/UK).
- Моделсозии худкори тағирот (хушк), такрорӣ ва муқоисаи ченакҳо.
- Пардохт/квотаҳо, панели хароҷот; Машқҳои DR ва барқароркунии вақти сафар.
- Тавлиди худкори ҳуҷҷатҳои намоишӣ ва кортҳои ченакӣ.
15) Намунаҳои қолабҳои SQL
Нархҳои воқеӣ (Силвер, 3NF):sql
CREATE TABLE silver. fact_bets (
bet_id STRING PRIMARY KEY,
user_pseudo_id STRING NOT NULL,
game_id STRING NOT NULL,
stake_ccy DECIMAL(18,2) NOT NULL,
currency CHAR(3) NOT NULL,
stake_base DECIMAL(18,2) NOT NULL,
market CHAR(2) NOT NULL,
event_time TIMESTAMP NOT NULL
);
Пайвастшавӣ ба SCD II (гирифтани мақоми RG дар вақти гарав):
sql
SELECT b. bet_id, u. rg_status
FROM silver. fact_bets b
JOIN dim. users_scd u
ON u. user_pseudo_id = b. user_pseudo_id
AND b. event_time >= u. valid_from
AND (u. valid_to IS NULL OR b. event_time < u. valid_to);
Назорати мукаммалӣ аз рӯи бозор:
sql
SELECT market, DATE(event_time) d, COUNT() n
FROM silver. fact_bets
GROUP BY market, DATE(event_time)
HAVING n = 0;
16) Рӯйхати санҷиши пеш аз фурӯш
- Схемаҳо ва шартномаҳо дар феҳрист, санҷишҳои мутобиқат сабз мебошанд.
- CDC/афзоиш ва тартиботи MERGE номутаносиб мебошанд.
- Намоишҳои тиллоӣ SLA-ҳо доранд, формулаҳои метрикӣ собит шудаанд.
- Қоидаҳои DQ фаъоланд (интиқодӣ → ноком + DLQ), панелҳои тару тоза/мукаммалӣ.
- RBAC/ABAC, рамзгузорӣ, иқомат аз рӯи минтақа, гузоришҳои дастрасӣ.
- Lineage/таъсир фаъол аст; вақт-сафар/нусхабардорӣ/DR тафтиш карда шуд.
- Арзиши таҳти назорат: тарафҳо, кластерҳо, моделсозӣ, квотаҳо.
17) Анти-намунаҳо ва хатарҳо
"Як DWH фарбеҳ бидуни қабат": омехтаи ашёи хом ва гузоришшуда → бетартибӣ ва ислоҳи гарон.
Боркунии пурраи ҳамарӯза беасос: истифодаи афзоиш/CDC.
Тилло бе соҳиб ва формулаҳо: набудани нусхаи ягонаи ҳақиқат → баҳсҳо ва регрессия.
PII дар қабатҳои таҳлилӣ: харитаҳоро алоҳида нигоҳ доред, CLS/RLS.
Не DQ/lineage: ҳеҷ далел барои танзимгарон/аудит.
Арзиши идорашаванда: ягон партия/оптимизатсия/квота нест.
18) Луғат (мухтасар)
DWH анбори маълумот барои муттаҳидсозӣ ва таҳлил мебошад.
Lakehouse - маълумотҳои кӯли + ҷадвалҳои ACID ва муҳаррики SQL.
CDC - Гирифтани тағирот аз OLTP.
SCD - андозагирии оҳиста тағирёбанда (I/II/III).
Намоиши тиллоӣ - варақаи ҳисоботӣ/презентатсия барои истеъмол.
Қабати семантикӣ - таърифҳои якхелаи ченакҳо ва сифатҳо.
19) Сатри поён
DWH муосир барои IGaming "мизи калон" нест, балки платформаи идорашаванда: қабатҳои биринҷӣ/нуқра/тиллоӣ, шартномаҳои қатъӣ ва DQ, ченакҳои ягона ва насл, махфият ва иқомат, самаранокӣ ва самаранокӣ. Бо сохтани гибридии Lakehouse + DWH-март, шумо тасмими зуд ва санҷидашавандаро барои аудит, миқёс ва бозорҳои нав омода мекунед.