GH GambleHub

Схемаҳои маълумот ва таҳаввулоти онҳо

1) Чаро ин платформаи IGaming аст

Эътимоднокӣ - Тағирот ба маълумот ҳисобот, API ё моделҳоро вайрон намекунад.
Суръати хусусият: майдонҳои бехатарро (KYC/RG/PSP) бидуни таваққуф илова кунед.
Танзимкунанда: пайгирӣ ва такрористеҳсолкунӣ (аудит/насл, DSAR, Hold Legal).
Арзиш: кам кардани "обхезиҳо" ва таъхири вақти бозгашт.

2) Намудҳои схемаҳо ва ҷои зисти онҳо

Ҳодисаҳо (ҷараёнҳо): 'пардохтҳо. deposit_accepted', 'бозӣ. round_finished'.
OLTP/DDL: ҷадвалҳои муқарраршуда (KYC, ҳисобҳо, маҳдудиятҳо).
DWH/мағозаҳо (тилло): агрегатҳои ғайримуқаррарӣ дар зери BI/ML.
Дӯкони хусусият: маҷмӯи хусусиятҳои онлайн/офлайнӣ бо кафолати мувофиқат.
Шартномаҳои шарики беруна: PSP, провайдерҳои бозӣ, манбаъҳои маркетинг.

Қайдҳо: Avro/Protobuf (ҷараёнҳо), JSON Schema (ҳамгироӣ), SQL DDL (DWH), схемаи Паркет (кӯл).

3) Мутобиқат (ядрои эволютсия)

Ба қафо мувофиқ: истеҳсолкунандагони нав → истеъмолкунандагони кӯҳна (майдони иловашуда c пешфарз/беэътибор).
Ба пеш мувофиқ: истеҳсолкунандагони кӯҳна → истеъмолкунандагони нав (хонандаи нав нолозимро нодида мегирад).
Мувофиқати пурра: ҳарду (ҳадафи матлуб барои рӯйдодҳо).
Тағиротҳо: номгузорӣ/нест кардани майдон, тағир додани намуд/семантика, тағир додани калиди/тақсимкунӣ.

Қоидаи 1: рӯйдодҳо тавассути илова, на тавассути тағирот таҳаввул меёбанд.
Қоидаи 2: нест кардан - танҳо дар нусхаи MAJOR схема пас аз мӯҳлати фарсуда.

4) Версияҳо ва сиёсатҳои семантикӣ

'МАЙОР. МИНОР. PATCH 'барои ҳар як схема/намоиш/маҷмӯи хусусиятҳо.

MAJOR - номувофиқ (мавзӯи нав/ҷадвал/маҷмӯи хусусиятҳо, дугона).
MINOR - мувофиқ (майдонҳои нави нобудшаванда/пешфарз, қиматҳои нави энум).
PATCH - таҳрири тасвирҳо/маҳдудиятҳо/шарҳҳо.

Давраи ҳаёти саҳроӣ: 'таҷрибавӣ → фаъол § фарсудашуда § хориҷ карда шудааст' (бо сана ва соҳиби он).

5) Бақайдгирии нақша ва шартномаҳои маълумот

Феҳристи схема: версияҳо, мутобиқат, эволютсия ва соҳибонро нигоҳ медорад.
Шартномаи маълумот: схема + сифати SLO + махфиятро ислоҳ мекунад (нигаред ба фасли "Тасдиқи маълумот").

Мисол (Avro, пардохтҳо. deposit_accepted v1. 7. 0):
json
{
"type":"record","name":"deposit_accepted","namespace":"payments",
"fields":[
{"name":"event_id","type":"string"},
{"name":"occurred_at","type":{"type":"long","logicalType":"timestamp-micros"}},
{"name":"user_id","type":"string"},
{"name":"brand","type":"string"},
{"name":"country","type":"string"},
{"name":"psp","type":"string"},
{"name":"method","type":"string"},
{"name":"amount","type":{"type":"bytes","logicalType":"decimal","precision":18,"scale":2}},
{"name":"currency","type":{"type":"enum","name":"Currency","symbols":["EUR","USD","TRY","BRL"]}},
{"name":"risk_score","type":["null","int"],"default":null},       // MINOR+
{"name":"kyc_level","type":["null",{"type":"enum","name":"Kyc","symbols":["L0","L1","L2","L3"]}],"default":null}
],
"compatibility":"FULL","owner":"team-payments"
}

6) Шакли муҳоҷират

6. 1 Ҳодисаҳо (ҷараёнҳо)

Танҳо иловашуда: илова кардани майдонҳо бо нобаёнӣ/беэътибор; истеъмолкунандагони кӯҳна шикаста намешаванд.
Васеъшавии enum: аломатҳои нав MINOR ҳисобида мешаванд, аз истеъмолкунандагон талаб карда мешавад, ки филиали "дигар/номаълум" дошта бошанд.
Муҳоҷирати асосӣ: пардохтҳои мавзӯи нав. deposit_accepted. v2 ', дутарафа навиштан, соя хондан, пас иваз кардани истеъмолкунандагон.

6. 2 DWH/мағозаҳо

Ҷадвалҳои кабуд-сабз: 'тилло. revenue_v2' дар назди 'v1'; амалӣ кардан, тафтиш кардан, гузаштан BI.
Backfill: такрори бо лаҳзаҳои кӯтоҳ + якҷояшавии idempotent (бо калидҳо/версияҳо).
SCD: намуди 2 барои сифатҳои оҳиста тағирёбанда (маҳдудиятҳо, KYC, ҳолати VIP).

6. 3 Дӯкони хусусият

Дучанд-хизмат: маҷмӯи хусусиятҳои кӯҳна дар баробари нав хизмат карда мешавад; модел тавассути роутер хидмат мерасонад.
Мувофиқати вақт: эволютсия набояд шодиҳои PITA-ро вайрон кунад (вақт/дараҷа дар MINOR бетағйир мондааст).

7) Таксономияи тағирот (рӯйхати назоратӣ)

Бехатар (MINOR):
  • илова кардани майдони 'nullable/пешфарз';
  • тамдиди enum (бо филиали 'номаълум' дар истеъмолкунанда);
  • илова кардани шохиси/шарҳ/тавсифи ғайри калидӣ.
Шартан бехатар:
  • Тағирёбии миқёс/воҳид (масалан, миқдор бо сент → асъори асосӣ) - Танҳо MAJOR
  • истинод/интиқол - тавассути қабати муаррифӣ.
Шикастан (MAJOR):
  • Аз нав номгузорӣ/нест кардани майдон
  • Дигаргун кардани намуд/формат/калид/қисмбандӣ
  • тағир додани семантика (масалан, 'bonus _ sound' аз "ҳисобшуда" → "навишта шудааст").

8) Санҷишҳои линтерҳо ва мутобиқат

Schema-lint: услуби ном ('snake _ case'), тамғакоғазҳои талабшаванда ('соҳиб', 'doc', 'pii'), формати сана/асъор.
Compat-tests: санҷиши версияи нав бар зидди феҳрист (ба қафо/пеш/пурра).
Санҷишҳои истеъмолӣ-шартномавӣ: ҳар як хидмат "бори намуна" ва интизориро таъмин мекунад; ҳангоми тағир додани нақша дар CI кор кунед.
Маҷмӯаи тиллоӣ: маҷмӯи намунаҳои воқеӣ ва "бад" (энумҳои нав, майдонҳои холӣ/дер, арзишҳои сарҳадии сумҳо).

9) Директорияҳо, энум ва маҳаллисозӣ

Маълумотнома-маълумот (кишварҳо/асъорҳо/PSP/провайдерҳо): версияҳои инфиродӣ ва навсозиҳои SLA; ба рамзи ҳодиса дӯхта нашавед.
Минтақаҳои локалӣ/вақт: UTC-ро дар чорабиниҳо нигоҳ доред + маҳалли возеҳ барои муаррифӣ.
Қоидаҳои қаламравҳо: парчамҳои синнӣ, маҳдудиятҳои таблиғотӣ - дар шакли феҳрист бо санаи амал.

10) Бисёр бренд/бисёрҷониба ва PII

Ҷудокунии иҷорагир: 'бренд', 'кишвар', 'литсензия' - майдонҳои ҳатмӣ бо энум; масир ба онҳо.
Сиёсати PII дар сатҳи схема: майдонҳои 'pii = ҳақиқӣ', ниқобҳо/токенизатсияро қайд кунед; дар ҳодисаҳо, танҳо нишонаҳо.
DSAR: мавҷудияти 'source _ id/trace _ id' for несткунӣ/ҷустуҷӯ; Нигоҳдории ҳуқуқӣ оид ба муҳоҷирати MAJOR.

11) Версияи DDL ва Лейк

Муҳоҷирати DDL: муҳоҷирати декларативӣ (Liquibase/Flyway/dbt), нигоҳдорӣ дар VCS, баррасии соҳиби домен.
Форматҳо дар кӯл: Авро/Паркет - эволютсияи майдонҳоро сабт кунед; дар MAJOR - ҷадвали/роҳи нав '.../v2/'.
Тақсимот: иваз кардани қисмҳо (масалан, 'сана' → 'сана, бренд') - танҳо тавассути MAJOR ва вуруди дугона.

12) Намунаҳои IGaming

12. 1 PSP усулҳои васеъ

Илова 'усул = "MEFETE"' ба enum.
Нашри MINOR аз 'deposit _ қабулшуда v1. 8. 0`; истеъмолкунандагон, ки MEFETE-ро намедонанд, филиалро ба 'номаълум _ усул' мефиристанд.

12. 2 Провайдери бозиҳо чоҳҳо илова карданд

V 'game. round_finished' 'jackpot _ id' илова карда шуд (nullable).
Намоиши 'тилло. game_rounds_v3' МИНОР мегирад; гузоришҳои кӯҳна кор мекунанд, нав jackpots ҳисоб мекунанд.

12. 3 хусусиятҳои RG

Гузариш аз "худидоракунии" мантиқӣ ба ҳолати 'rg _ state ∈ {ҳеҷ, маҳдуд кардан, сардшавӣ, self_excluded}' - MAJOR, мавзӯи нав + дугона-навиштан + муҳоҷирати намоишҳо ва моделҳо.

13) Раванди эволютсия (аз ғоя ба гузариш)

1. Пешниҳод (ADR): чаро тағирот, навъи мутобиқат, арзёбии хатар ва истеъмолкунандагон таъсир расонд.
2. Тарроҳӣ ва шартнома: нақшаи бақайдгирӣ, семвер, сиёсати мутобиқат.
3. Санҷишҳо: линтерҳо, компат, шартномаҳои истеъмолӣ, такрори тиллоҳо.
4. Ҷойгиркунӣ: дугона-навиштан/кабуд-сабз/соя-хондан; ҳушдор медиҳад.
5. Муқоиса: Тавозуни тиҷорат/инвариантҳо (нигаред ба Тасдиқи маълумот).
6. Гузариш: гузариш ба истеъмолкунандагон/BI/хусусиятҳо.
7. Коҳиш диҳед: схемаи кӯҳна, давраи файз, нест кардан ва бойгониро ях кунед.

14) Метрикаҳо ва SLO-ҳои эволютсия

Сатҳи муваффақияти муҳоҷират, вақти дугона, ҳиссаи чорабиниҳои формати нав, ҳаҷми бозгашт, ақибмонӣ/тару тоза.
Ҳодисаҳои мутобиқат (P1/P2), сифати тиреза пас аз гузариш.
Арзиш: барзиёдии $/сил, $/соат дугона навиштан, сарбории кластер.
Мувофиқат: 0 ихроҷи PII, SLA DSAR/Hold Legal Hold мулоқот карданд.

15) Асбобҳо ва артефактҳо

15. 1 Сиёсати мутобиқат (феҳрист)

yaml schema: payments. deposit_accepted compatibility: FULL default_nulls: true enums:
currency: {allow_new_symbols: true, require_consumer_unknown_branch: true}
pii: false owners: ["team-payments"]
reviewers: ["data-governance","security-dpo"]

15. 2 Шиносномаи муҳоҷират (қолаб)

yaml change_id: MIG-2025-041 scope: game. round_finished -> v3 type: MAJOR plan:
dual_write: true shadow_reads: consumers: ["gold-rounds","rg-models"]
backfill: {from: "2025-01-01", mode: "idempotent-merge"}
validation:
invariants: ["sum_bets = sum_wins + margin + bonuses"]
freshness_delta_p95_max: "PT5M"
switch_criteria:
error_rate_max: 0. 1%
kpi_diff_pp_max: 0. 5 deprecate_after: "2025-12-31"

15. 3 Линтери номҳо ва намудҳо (қоидаҳо)

'sake _ case', вақтҳои UTC, DECIMAL (18). 2) барои сумма, 'кишвар' барои алфа-2 ISO-3166-1, 'асъор' for ISO-4217.
Майдонҳои No 'free _ text' for; маълумотномаҳо - берунӣ.

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

0-30 рӯз (MVP)

1. Фаъол кардани Феҳристи Схема + сиёсати мутобиқат барои рӯйдодҳои асосӣ (пардохтҳо, game_rounds, корбар).
2. Санҷишҳои Linters/compat дар CI; феҳристи соҳиб ва шарҳи SLA.
3. Қолабҳои ADR ва шиносномаи муҳоҷират; Рӯйхати назоратии MAJOR.

30-90 рӯз

1. Кабуд-Сабз барои дӯконҳои тиллоӣ; дутарафа барои мавзӯъҳои интиқодӣ.
2. Озмоишҳои истеъмолӣ-шартномавӣ барои хизматрасониҳои асосӣ; тиллоӣ-маҷмӯаҳо.
3. Ҳангоми гузариш ба таври худкор diff-ҳамоҳангсозӣ ва огоҳиҳо; ҳисобот оид ба хароҷот.

3-6 моҳ

1. Раванди ягонаи амортизатсия/хориҷ кардан бо давраи имтиёзнок; бойгонӣ ва нигоҳдории ҳуқуқӣ.
2. Схемаҳо ва калидҳои рамзгузории махсуси гео/иҷорагир; Вариантҳои DP барои бозорҳои ҳассос.
3. Луғати маълумот ва диаграммаҳои насли зинда.

17) RACI

Идоракунии маълумот (A/R): стандартҳо, сабти ном, баррасии муҳоҷират, интишори нашрия.
Соҳибони домейн (R): маънои соҳаҳо, маълумотномаҳо, инвариантҳои тиҷорат.
Платформаи маълумот (R): воситаҳои сабти ном, санҷишҳои компат, дугона/backfills.
Амният/DPO (A/R): сиёсати PII, гео/иҷорагир, DSAR/Hold Legal.
SRE/Мушоҳида (C): огоҳиҳо, эволютсияи SLO, қобилият.
Маҳсулот/Молия (C): тасдиқи KPI-ҳо, гузариши тирезаҳо.

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

"Майдонро дар магас таҳрир кунед" бидуни версия ва дугона.
Тағир додани ном ба ҷои илова кардани майдони нав → тақсимоти оммавӣ.
Enum Hard бе шохаи "номаълум" → тарки арзишҳои нав.
Феҳристи ягона "дар рамз" барои ҳамаи қаламравҳо.
Backfill бе idempotent-merge ва санҷиши тавозунҳо.
Сабтҳо бо PII ва бе trace_id барои ҷустуҷӯ/DSAR.

19) Қисматҳои марбут

Тасдиқи маълумот, пайдоиши маълумот ва роҳ, амалияи маълумот, таҳлил ва метрикаҳои API, аудит ва таҳрир, амнияти маълумот ва рамзгузорӣ, назорати дастрасӣ, MLOps: Истифодаи моделҳо.

Ҷамъ

Таҳаввулоти схемаҳо равандест, на муҳоҷирати якдафъаина: сабти ном, версияҳо ва ҳамоҳангсозӣ; ба ҷои "гузариш дар нисфи шаб" дугона ва кабуд-сабз; санҷишҳои мутобиқат ва инвариантҳои тиҷорат ба ҷои иқбол. Ҳамин тавр, маълумот устувор боқӣ мемонад, моделҳо пешгӯишавандаанд, ҳисоботҳо дурустанд ва танзимгарон ором ҳастанд.

Contact

Тамос гиред

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

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

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

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

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