GH GambleHub

Коркарди партия

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

Конвейерҳои партия парвандаҳои боэътимоди ҳаррӯза/соатиро барои:
  • Ҳисоботи танзимкунанда ва молиявӣ (GGR/NGR, андозҳо, феҳристҳои RG/AML).
  • BI ва таҳлили маҳсулот (cogorts, LTV, funnels табдилдиҳӣ).
  • Тафтиши дақиқ (OLTP↔DWH, провайдерҳо/PSP), таърихсозӣ (SCD).
  • Омодасозии хусусиятҳо ва маҷмӯаҳои омӯзишӣ барои ML.

Хусусиятҳои асосӣ: пешгӯишаванда, мукаммалӣ, такрористеҳсолкунӣ, арзиши пасти як воҳиди маълумот.

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

1. Inest (забти хом): HTTP/GRPC, CDC аз OLTP, провайдери боргузорӣ → биринҷӣ.
2. Лейкхаус: Биринҷӣ (хом, танҳо замима) → Нуқра (тоза/мувофиқат) → Тилло (хизмат).
3. Оркестр: Airflow/Dagster/Prefect (DAG 'ва, вобастагӣ, бозсозӣ, SLA).
4. Коркард: муҳаррикҳои Spark/Trino/DBT/SQL; тақсимот ва форматҳои ACID (Delta/Iceberg/Hudi).
5. DQ ва шартномаҳо: Феҳристи схема, қоидаҳои DQ (YAML/SQL), санҷишҳои истеъмолкунандагон.
6. Хизматрасонӣ: Қабати BI/семантикӣ, содироти гузоришшаванда (CSV/PDF/JSON + hash), API/Graph ​ ​ QL.
7. Мушоҳида: ченакҳои қубур, насл, гузоришҳо, арзиш (арзиш/ГБ, арзиш/дархост).

3) Басомадҳо ва SLA

Ҳар рӯз (D + 1 то 06:00 қулф.) : Ҳисоботҳои GGR, боркунии танзим, мусолиҳа.
Соат/квази-вақт: панелҳои амалиётӣ барои Ops/Finance.
Ҳар ҳафта/моҳ: finconsolidation, моделҳо ва retroprocesses.

SLO-ҳои тавсияшуда:
  • Намоишгоҳҳои ҳаррӯзаи тиллоӣ то соати 06:00 ба вақти маҳаллӣ омодаанд.
  • Тару тоза нуқра p95 ≤ 15 дақиқа барои микробҳо/ ≤ 2 соат барои рӯз.
  • Пуррагӣ ≥ 99. 5%, Эътибор (схема) ≥ 99. 9%.

4) Боргирии афзоянда ва CDC

Равишҳо:
  • CDC (Change Data Capture): Такрори Debezium/log
  • Аломати обӣ аз рӯи вақт: 'updated _ at> max_loaded_ts'.
  • Муқоисаи ҳаш: 'md5 (сатр)' барои муайянкунии тағирот.
  • Upsert/Merge: Навсозиҳои нуқра/тиллоӣ.
Намунаи MERGE (Delta/Iceberg):
sql
MERGE INTO silver. payments AS s
USING staging. payments_delta AS d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

5) SCD (таърихнигории андозагирӣ)

SCD I: навиштан (имло, ислоҳоти хурд).
SCD II: таърихи пурра ('дуруст _ аз/эътибор _ ба/is _ current').
SCD III: "пеш/пас" барои муқоисаи кӯтоҳ.

SCD II (мисол):
sql
MERGE INTO dim. users_scd t
USING stage. users u
ON t. user_pseudo_id = u. user_pseudo_id AND t. is_current = TRUE
WHEN MATCHED AND (t. country <> u. country OR t. rg_status <> u. rg_status)
THEN UPDATE SET t. is_current = FALSE, t. valid_to = CURRENT_TIMESTAMP
WHEN NOT MATCHED
THEN INSERT (user_pseudo_id, country, rg_status, valid_from, valid_to, is_current)
VALUES (u. user_pseudo_id, u. country, u. rg_status, CURRENT_TIMESTAMP, NULL, TRUE);

6) Backfill i Коркард

Backfill: Пуркунии ибтидоӣ/Backfill таърихӣ.
Коркард: аз нав ҳисоб кардани тирезаҳои мағоза пас аз таҳрири маълумоти мантиқӣ/ислоҳкунӣ.

Принсипҳо:
  • Idempotency (MERGE/upsert), тағйирнопазирии биринҷӣ, версияи мантиқӣ.
  • Вақти сафар барои лаҳзаҳои такрории метамаълумот.
  • Гвардияҳо: Маҳдудиятҳои диапазон, квотаҳо ва ҷойҳои кории рақобатӣ.
  • Ҳуҷҷатгузорӣ: дафтарчаи корӣ бо қадамҳо ва меъёрҳои анҷомёбӣ.

7) Моделсозии қабат

Биринҷӣ:
  • Танҳо қисмҳои 'event _ date', 'юрисдиксия', 'иҷорагир' илова карда мешаванд.
  • Мо сарбории аслиро (барои криминалистика) нигоҳ медорем, 'ingested _ at' -ро ислоҳ мекунем.
Нуқра:
  • Нормализатсия ва стандартизатсия: FK/директорияҳо, dedup, FX/timezones.
  • Ҷадвалҳои факт/андоза (3NF/BCNF), SCD барои андозаҳои калидӣ.
Тилло:
  • Дӯконҳои ғайримуқаррарӣ барои BI/танзим/молия, омодагии SLA.
  • Материализатсияи агрегатҳо; артефактҳои содиротии тағйирнопазир (ҳаш + WORM).

8) Сифати маълумот (DQ-as-code)

Намунаи қоидаҳои YAML барои нуқра:
yaml table: silver. payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive type: range column: amount_base min: 0. 01 severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
severity: major
- name: unique_tx type: unique columns: [transaction_id]
severity: critical
- name: fk_user type: foreign_key column: user_pseudo_id ref_table: dim. users_scd severity: critical

Сиёсати аксуламал: кори интиқодӣ → ноком + DLQ; major/minor → tag + гузориш.

9) Қабати семантикӣ ва ҳисоботдиҳӣ

Таърифҳои ягонаи ченакҳо (GGR/NGR, ARPPU, Нигоҳдорӣ) дар мағозаи семантикӣ-қабати/ченакҳо.

Андозагирии версия; Интегратсия бо бастаҳои BI/содиротӣ

Ҳисоботҳо: CSV/JSON/PDF + sha256, зеркашӣ ва дар ҳолати зарурӣ Hold Legal.

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

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

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

Тақсимот аз рӯи сана/бозор/иҷорагир; Z-фармоиш/кластер аз ҷониби предикатҳои зуд-зуд.
Форматҳо: Ҷадвалҳои Parquet + ACID; фишурдасозӣ/омор, OPTIMIZE/VACUUM.
Материализатсия: агрегатҳои устувор дар тилло; аз корҳои "якранг" канорагирӣ кунед.
Квотаҳо/буҷетҳо: баргардонидани маблағ аз ҷониби гурӯҳ; маҳдудиятҳои backfill/дархостҳои вазнин.
Ҷадвал: тирезаҳои сарбории кам (шабона/истироҳат), афзалиятҳои навбат.

12) Мушоҳида ва идоракунӣ

Нишондиҳандаҳои қубур: давомнокӣ, суръати муваффақият, такрорӣ, сатрҳои коркардшуда, арзиш/дархост.
Нишондиҳандаҳои DQ: пуррагӣ, дурустӣ, беҳамтоӣ, хатогиҳои FK, дрифт.
Харитаи гармидиҳӣ: аз рӯи домен ва бозор; Панели SLA.
Насл: Таърихи биринҷӣ ба гузоришҳо; таҳлили таъсир пеш аз тағирот.
Огоҳӣ: буҷаҳои SLO, таназзули DQ, таъхирҳо, афзоиши хароҷот.

13) Намунаҳои SQL/Модел

Танзими асъор (нуқра):
sql
CREATE OR REPLACE TABLE silver. payments AS
SELECT p. transaction_id,
p. user_pseudo_id,
p. currency,
p. amount_orig,
r. rate AS fx_rate_used,
p. amount_orig r. rate AS amount_base,
p. market,
CAST(p. event_time AS TIMESTAMP) AS event_time
FROM bronze. payment_events p
JOIN dim. fx_rates r
ON r. date = DATE(p. event_time)
AND r. ccy_from = p. currency AND r. ccy_to = 'EUR';
Намоиши ҳаррӯзаи GGR (тилло):
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;
Назорати мукаммалӣ (DQ SQL):
sql
SELECT market, event_date, COUNT() AS n
FROM silver. fact_bets
GROUP BY market, DATE(event_time) AS event_date
HAVING n = 0;

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

R (Масъул): Муҳандисии маълумот (DAG ', Моделҳои нуқра/тиллоӣ), Платформаи маълумот (инфра, регистри ноҳиявӣ, DQ).
A (Ҳисоботдиҳанда): Роҳбари маълумот/Сармутахассиси маълумот.
C (Машварат): Мувофиқат/Ҳуқуқӣ/DPO (PII/нигоҳдорӣ), Молия (FX/GGR), Хавф (RG/AML), SRE (SLO/stoimostel).
I (Маълумот): BI/Маҳсулот/Маркетинг/Амалиёт.

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

MVP (4-6 ҳафта):

1. Lakehouse биринҷӣ/нуқра (формати ACID), CDC/афзоиш барои 2-3 домен.

2. Рамзи DQ-монанди: 10-15 қоидаҳои пардохт/Gameplay + CI.

3. Аввалин намоиши тиллоӣ (GGR Daily) бо SLA то соати 06:00; гузориш дод содирот + hash.

4. Тару тоза/пуррагӣ/панели хароҷот, огоҳиҳои асосӣ.

Марҳилаи 2 (6-12 ҳафта):
  • Истифодабарандагони SCD II dlya/бозиҳо/провайдерҳо; тавсеаи домен.
  • Қабати семантикии ченакҳо; санҷишҳо бо OLTP/провайдерҳо (дақиқӣ).
  • Тартиби Backfill/коркард, таҳлили насл ва таъсир, минтақасозӣ (EEA/UK).
Марҳилаи 3 (12 + ҳафта):
  • Моделиронии худкори тағирот (хушк), буҷа/квота, пардохт.
  • Ҳуҷҷатҳои худкор (саҳифаҳои маҳсулоти маълумот), машқҳои DR ва барқарорсозии вақт.
  • Оптимизатсияи хароҷот (кластерӣ, материализатсия, TTL, вакуум).

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

  • Шартномаҳо ва схемаҳо дар Феҳрист, санҷишҳои мутобиқат сабз мебошанд.
  • Зеркашиҳои афзоянда/CDC кор мекунанд, MERGE idempotent аст.
  • Қоидаҳои DQ фаъоланд; critical fail ноком + DLQ; гузориш дар бораи қонунвайронкуниҳо.
  • панелҳои SLA/тару тоза/пуррагӣ; ҳушдорҳо муқаррар карда мешаванд.
  • PII/DSAR/RTBF/Сиёсати нигоҳдории ҳуқуқӣ, ки аз ҷониби Legal/DPO тасдиқ шудааст.
  • Runbook 'ва backfill/коркард/DR озмуда шуд.
  • Арзиши таҳти назорат (арзиш/дархост, арзиш/ГБ, квотаҳо).

17) Анти-намунаҳо ва чӣ гуна бояд пешгирӣ кард

Ҷабҳаҳои шабонаи монолитӣ: ба қадамҳои мустақил тақсим шуда, дар баробари тарафҳо.
Аз нав бор кардан лозим нест: истифодаи афзоишҳо/CDC/якҷояшавӣ.
Омезиши PII дар таҳлил: харитаҳоро алоҳида нигоҳ доред, CLS/RLS-ро татбиқ кунед.
Не DQ/lineage: DQ-as-code ва пайдоиши пайгирӣ ворид кунед.
Қуттиҳои "дастӣ": автоматизатсия ва ҳуҷҷат, диапазонҳои маҳдуд.
Арзиши идоранашаванда: кластерӣ, материализатсия, сиёсати нигоҳдорӣ.

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

CDC - Гирифтани тағирот аз OLTP.
SCD - андозагирии оҳиста тағирёбанда (I/II/III).
Lakehouse - маълумотҳои кӯли + ҷадвалҳои ACID.
MERGE/Upsert - амалиёти навсозии idempotent.
Вақти сафар - хондани версияҳои таърихии ҷадвалҳо.
WORM - нигоҳдории тағйирнопазири артефактҳо.

19) Сатри поён

Коркарди партия як интизоми қубурҳои пешгӯишаванда, такроршаванда ва ройгон мебошад. Бо риояи принсипҳои схемаи аввал, афзоиш/CDC, таърихнигории SCD, DQ-as-code, мушоҳида ва иқтисоди огоҳона, шумо намоишгоҳҳо ва гузоришҳои устувори тиллоӣ мегиред, ки аз ҷониби дурахшон тасдиқ карда мешаванд ва дар вақти дилхоҳ ба аудит омодаанд.

Contact

Тамос гиред

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

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

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

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

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