GH GambleHub

Кӯлҳои маълумот ва ҷамъбасти ҷараён

1) Мақсад ва арзиш

Кӯли маълумот/Lakehouse - қабати истинод барои нигаҳдории дарозмуддат ва хониши миқёси калон, ки дар он:
  • Ҷараёнҳо аз маҳсулот/бозиҳо/пардохтҳо дар биринҷӣ "тавре ки ҳаст".
  • Нуқра мӯътадил ва ғанӣ мегардад, калидҳо ва сифати мувофиқро таъмин мекунад.
  • Тилло - намоиши маҷмӯӣ (аз ҷумла воқеӣ/дар вақти воқеӣ) барои BI, танзимкунанда, зидди қаллобӣ/RG.

Ҷамъбасти ҷараёнҳо дар Lakehouse ҳосил медиҳад: таъхири ками ҳисобот, арзиши пешбинишаванда, такрористеҳсолкунӣ ва криминалистика.

2) Меъмории истинод

1. Instest/Edge: HTTP/g

2. Биринҷӣ (танҳо замима): нигоҳдории объект + Ҷадвалҳои ACID (Delta/Iceberg/Hudi), қисмҳо аз рӯи сана/бозор/иҷорагир; нигаҳдории сарбории аслӣ.
3. Ҳисобкунии ҷараён: Flink/Spark/Beam - воҳидҳои тиреза, CEP, deadup, онлайн-ҷустуҷӯ.
4. Нуқра (тоза/мувофиқат): нормализатсияи асъор/вақтсанҷ, ФК/феҳристҳо, SCD барои андозагирӣ.
5. Хизматрасонӣ/OLAP: Клик/Пинот/Друид - агрегатҳои дақиқӣ/дуюм барои панелҳо.
6. Тилло (хизмат): ҳолатҳои намоиши ҳаррӯза/соатӣ, иловаро танзимкунанда, бастаҳои содиротии тағйирнопазир (WORM).
7. Доираҳои назоратӣ: Феҳристи схема, DQ-as-code, насл, феҳристҳо, асрҳо/KMS, RBAC/ABAC.

3) Шартномаҳо ва нақшаҳо

Схема-аввал: JSON/Avro/Protobuf; майдонҳои талабшаванда 'event _ time (UTC)', 'event _ id', 'trace _ id', 'user _ pseudo _ id', 'market', 'schema _ version' мебошанд.
Эволютсия: ба қафо мувофиқ ва илова кардани беэътибор; шикастани → '/v2 '+ вуруди дугона.
Феҳрист: тавсифи домейн, соҳиб, SLA тару тоза, қоидаҳои DQ, насл.

4) Ҷараёни фуруд ба кӯл

Маҳз як маротиба дар поён: нашри ҳадди аққал як бор + танӯраи idempotent (MERGE/upsert by 'event _ id').
Dedup: давлатӣ дар ҷараён + беҳамто дар нуқра.
Фишурдани файл: файлҳои хурд → мунтазам OPTIMIZE/VACUUM барои хондан ва арзиш.
Вақти сафар: ислоҳи хатогӣ, такрорӣ ва аудитро дар бар мегирад.

Намунаи тақсимоти Айсберг (идеяи DDL):
sql
CREATE TABLE bronze. payment_events (
event_id STRING, user_pseudo_id STRING, currency STRING,
amount DECIMAL(18,2), market STRING, event_time TIMESTAMP, payload STRING
)
PARTITIONED BY (days(event_time), market);

5) Ҷамъбасти ҷараён: тирезаҳо ва нишонаҳои обӣ

Тирезаҳо:
  • Tumbling - собит (масалан, 1 дақ/5 дақ) барои панелҳои устувор.
  • Hopping - такрори (step
  • Сессия - холигии рафтор дар ғайрифаъол.
  • Нишонаҳои об: назорати деринаи маълумот (одатан 2-5 дақиқа), қоидаҳои пеш аз баровардан/ислоҳ.
Flink SQL - пасандозҳои 1 дақиқа аз рӯи бозор:
sql
SELECT market,
TUMBLE_START(event_time, INTERVAL '1' MINUTE) AS ts_min,
COUNT() AS deposits_1m,
SUM(amount_base) AS sum_1m
FROM silver. payments
GROUP BY market, TUMBLE(event_time, INTERVAL '1' MINUTE);

6) Материализатсияи агрегатҳо

Муҳаррики OLAP (Click: House/Pinot/Druid): агрегатҳои дақиқа/дуюмро барои панели панелҳо ва таҳлили амалиётӣ нигоҳ медорад.
Lakehouse Gold: иловаро ҳар рӯз/соат барои ҳисобот ва оштӣ (репродуктивӣ) нигоҳ медорад.

Ангушт занед - намуди моддӣ (ҳар дақиқа GGR):
sql
CREATE MATERIALIZED VIEW mv_ggr_1m
ENGINE = AggregatingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), market, provider_id) AS
SELECT toStartOfMinute(event_time) AS ts_min,
market,
provider_id,
sumState(stake_base) AS s_stake,
sumState(payout_base) AS s_payout
FROM stream. game_events
GROUP BY ts_min, market, provider_id;
Тилло - буридаи рӯз (Lakehouse):
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(event_time) AS event_date,
market, provider_id,
SUM(stake_base) AS stakes_eur,
SUM(payout_base) AS payouts_eur,
SUM(stake_base) - SUM(payout_base) AS ggr_eur
FROM silver. fact_game_financials
GROUP BY 1,2,3;

7) нуқра: нормализатсия ва оштӣ

Вақт ва асъор: 'event _ time (UTC)', 'sote _ base', 'fx _ rate _ used', 'fx _ source'.
Калидҳо/феҳристҳо: 'user _ pseudo _ id', 'game _ id', 'provider _ id', 'бозор'.
SCD II: таърихнигории андоза (корбарон/бозиҳо/провайдерҳо/RG/KYC).
Қоидаҳои DQ: беҳамтоии калидҳо, феҳристҳо, диапазонҳои миқдор, эътибори муваққатӣ.

8) Феҳристи воҳидҳо ва таърифҳои "дуруст"

Қабати семантикӣ: формулаҳои ягонаи GGR/NGR, гаравҳо/бурдҳо, табдилдиҳӣ, ARPPU, latency p95.
Андозагирии версия: ҳисобҳои 'metric _ version' ва "as-of".
Dockcards: соҳиб, формула, манбаъҳо, омодагии SLA.

9) Маҳз як маротиба/idempotency ва фармоиш

Автобус: ҳадди аққал як маротиба + тақсимот (фармоиши маҳаллӣ).
Коркард: тарҳ аз ҷониби 'event _ id' (TTL 24-72h), операторони CEP/тиреза бо тасҳеҳот.
Ғалтак: аҳдҳои транзаксионӣ ё upsert/merge idempotent.
Outbox/Inbox: интишори чорабиниҳои домейн аз OLTP бо кафолат.

10) Маълумоти дер ва тасҳеҳот

Мӯҳлати иҷозатдодашуда: 2-5 дақиқа барои намоишҳои амалиётӣ; ҳамарӯза дубора барои тилло.
Ислоҳот: партовҳои иловагӣ дар OLAP ва таҷдиди тилло (idempotent).
Парчамҳо: 'дер = ҳақиқат', 'ислоҳи _ of = <event _ id>' барои аудит.

11) Мушоҳида ва DQ

SLI/SLO (нишонаҳо):
  • p95 indest → 1 -min намоиши ≤ 2-5 s; Ҳар рӯз тилло то соати 06:00 баста мешавад.
  • Пуррагӣ ≥ 99. 5%; Амали схема ≥ 99. 9%; Фарогирии пайгирӣ ≥ 98%.
  • Нишондиҳандаҳои қубур: ақибмонӣ/интиқол/вақти банд/андозаи давлатӣ, таносуби дер, меъёри дуп.
  • Панелҳои DQ-dashboard: тару тоза/мукаммалӣ/дурустӣ, ҳалқаи талафот, корти калиди гарм.
  • Насл: роҳ аз биринҷӣ ба тилло/содирот; таҳлили таъсир ба тағирот.

12) Махфият, иқомат, амният

Кам кардани PII: псевдонимизатсия, харитасозии алоҳидаи ҳифзшаванда.
Истиқомат: EEA/UK/BR - феҳристҳои алоҳида ва калидҳои рамзгузорӣ; манъ кардани пайвастшавии байниминтақавӣ бе сабаб.
Рамзгузорӣ: TLS дар транзит; KMS/CMK дар истироҳат; имзоҳои содиротӣ + WORM ҳангоми дротлинг.
DSAR/RTBF/Hold Legal: таҳрирҳои интихобӣ, тозакунӣ, дастрасии санҷидашуда.

13) Иҷро ва арзиши

Тақсимот: аз рӯи сана/бозор/иҷорагир; кластерӣ/Z-фармоиш аз рӯи хусусиятҳои зуд-зуд филтршуда.
Фишурдасозӣ: бартараф кардани файлҳои хурд, мунтазам OPTIMIZE/VACUUM.
Материализатсия: дақиқа/сония - дар OLAP; рӯз/соат - дар тилло.
Нигоҳдории сатҳӣ: гарм/гарм/хунук, барқароркунии SLA, баргардонидани барқ ​ ​ бо фармон (арзиш/ГБ, арзиш/дархост).

Preaggregation/эскизҳо: Hyper

14) Намунаҳо (пораҳо)

Flink CEP - сохтори амонатҳо (10 дақиқа):
python if count_deposits(window=10MIN) >= 3 \
and sum_deposits(window=10MIN) > THRESH \
and all(d. amount < REPORTING_LIMIT for d in window_events):
emit_alert("AML_STRUCTURING", user_id, snapshot())
SQL - тарҳ ҳангоми ба нуқра бор кардан:
sql
CREATE TABLE silver. payments AS
SELECT EXCEPT(rn) FROM (
SELECT p., ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY event_time) rn
FROM bronze. payment_events p
) WHERE rn = 1;
Айсберг/Делта - MERGE idempotent:
sql
MERGE INTO silver. fact_bets s
USING stage. fact_bets_delta d
ON s. bet_id = d. bet_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

15) Равандҳо ва RACI

R (Масъул):
  • Платформаи маълумот (Lakehouse/каталог/ACID, фишурда),
  • Ҷараён (воҳидҳо/CEP/dedup),
  • Таҳлили домейн (ченакҳо/тилло).
  • A (Ҳисоботдиҳанда): Роҳбари маълумот/CDO.
  • C (Машварат): Мутобиқат/Ҳуқуқӣ/DPO (PII/истиқомат/Нигоҳдории ҳуқуқӣ), Молия (FX/GGR), SRE (SLO/stoimostь), Амният.
  • I (Маълумот): BI/Маҳсулот/Маркетинг/Амалиёт.

16) Харитаи роҳсозӣ

MVP (3-5 ҳафта):

1. Lakehouse биринҷӣ/нуқра (ҷадвалҳои ACID), ки аз Кафка ворид карда мешаванд, нақшаҳои сабти ном.

2. Воҳидҳои асосии ҷараён (1-5 дақиқа) дар OLAP; намоиши тилло. ggr_daily (D + 1 то 06:00).

3. DQ-as-code барои пардохтҳо/Gameplay, тару тоза/панели мукаммал.

4. Compaction/OPTIMIZE, ченакҳои ҳадди ақали хароҷот ва огоҳиҳои ақибмонда/дер/dup.

Марҳилаи 2 (5-10 ҳафта):
  • Тамдиди нуқра (SCD II барои корбарон/бозиҳо/провайдерҳо), таҳлили насл ва таъсир.
  • Ҷустуҷӯи асинхронӣ (RG/KYC/ASN/BIN), назорати дертари ислоҳ.
  • Қабати семантикии ченакҳо, қоидаҳои содирот (WORM/имзоҳо).
Марҳилаи 3 (10-16 ҳафта):
  • Бисёр минтақаҳо, симуляторҳои DR/такрорӣ, тирезаҳои худкор ва нишонаҳои обӣ.
  • Панели хароҷот, квотаҳо/квотаҳо, нигаҳдории сатҳӣ ва бойгонӣ.
  • Тавлиди худкори ҳуҷҷатҳои намоишӣ ва кортҳои ченакӣ.

17) Рӯйхати санҷиши пеш аз фурӯш

  • Нақшаҳо ва шартномаҳо дар феҳрист; санҷишҳои back-compat сабз мебошанд.
  • Dedup, нишонаи обӣ/lateness иҷозат дода шудааст, DLQ дар бар мегирад.
  • /OPTIMIZE/VACUUM аз рӯи ҷадвал танзим карда мешавад.
  • SLO: p95 inest → дақиқа, Gold do 06:00; ҳушдорҳо ақибмонӣ/дер/dup/андозаи давлатӣ.
  • Қоидаҳои DQ фаъоланд; насл аз биринҷӣ ба содирот намоён аст.
  • RBAC/ABAC i KMS; истиқомат ва DSAR/RTBF/Hold ҳуқуқӣ санҷида шуданд.
  • Арзиши назорат (арзиш/ГБ, арзиш/дархост, ҳиссаи хунук), маҳдудиятҳои такрорӣ.

18) Анти-намунаҳо ва хатарҳо

Омезиши маълумоти хом ва гузоришшуда дар як ҷадвал: репродуктивиро вайрон мекунад.
Набудани фишурдасозӣ: таркиши файлҳои хурд → дархостҳои гарон.
Ҳисоб кардани FX "ретроактивӣ": Таърих ва гузоришҳоро мешиканад.
Не нишонаҳои обӣ/сиёсати дер: дӯконҳо ва огоҳиҳо "шино".
Бозоғозии пурра беасос: афзоиш ва тасҳеҳи истифода/MERGE.
PII дар таҳлил: Харитаҳоро алоҳида нигоҳ доред, CLS/RLS-ро фаъол созед.

19) Луғат (мухтасар)

Lakehouse - маълумотҳои кӯли + ҷадвалҳои ACID ва муҳаррики SQL.
Биринҷӣ/нуқра/тилло - қабатҳои хом/муқаррарӣ/хидматрасонӣ.
Нишони обӣ - маҳдудияти омодагии тиреза аз рӯи вақти ҳодиса.
Намуди материализатсияшуда намоиши пешакӣ ҳисобшуда барои хониши тез мебошад.
Вақти сафар - хондани версияҳои таърихии ҷадвалҳо.
WORM - нигоҳдории тағйирнопазири артефактҳои содиротӣ.

20) Сатри поён

Кӯли маълумот бо ҷамъбасти дурусти ҷараён як интизоми қабатҳо ва шартномаҳо мебошад: биринҷӣ "тавре ки ҳаст", нуқра барои муътадил ва сифат, OLAP барои панелҳои дақиқа, тилло барои гузоришҳои такрорӣ. Идоракунии тирезаҳо ва нишонаҳои обӣ, такрорӣ ва фишурдасозӣ, махфият ва арзиш, шумо мағозаҳои зуд, санҷидашаванда ва мувофиқро барои маҳсулот, мувофиқат ва идоракунии амалиётӣ ба даст меоред.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Telegram
@Gamble_GC
Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.