Logo GH

Maʼlumot olish interfeyslari

1) Nima uchun puxta o’ylangan interfeys

Tezlik va oldindan aytish mumkin: biznes-metrika va hisobotlar SLAga «qo’lda tushirishlarsiz» joylashtiriladi.
Xavfsizlik va maxfiylik: PII/biometriya nazorat ostida, k-anonimlik, geo-chegaralar.
Moslashuvchanlik: turli mijozlar (BI, servislar, sheriklar, DS/ML) o’zlariga kerak bo’lgan narsani olishadi.
Qayta foydalanish: kontraktlar va versiyalar bilan «mahsulot sifatida ma’lumotlar».

2) Interfeyslar xaritasi (qachon nima)

SQL/ANSI + vendor dialektlari: interaktiv tahlil, BI, ad-hoc.
REST JSON: barqaror agregatlar va operatsion ma’lumotlar, sheriklar bilan integratsiya.
GraphQL: moslashuvchan «tanlangan» oʻqish va navigatsiya grafiklari (oʻlchov/faktlar).
gRPC (protobuf): onlayn-servingning past latentligi (Feature Store, skoring).
Arrow Flight/Parquet over HTTP/S3-presigned: DS/ML uchun tezkor ustunli «damplar».
OData: enterprise vositalari, «xizmat sifatida jadval» modeli.
Streams (Kafka/Pulsar) + CDC/Webhooks: real vaqt voqealari, reaktiv integratsiyalar.
Federation (Trino/Presto): koʻp manbalarga kirishning yagona nuqtasi.

Qoida: agregatlar va barqaror kesmalar → REST/MV, boy ixtiyoriy so’rovlar → SQL, past latentlik/onlayn fichlar → gRPC, moslashuvchan javob shakli → GraphQL, ommaviy ikkilik almashinuv → Arrow/Parquet.

3) Kontraktlar va versiyalar (semver)

`MAJOR. MINOR. Har bir API/sxema/hodisa uchun PATCH’.
MAJOR: mos kelmaydigan oʻzgarishlar (yangi yoʻl/topik/jadval).
MINOR: Mos keladigan maydon/dalil qoʻshish.
PATCH: tavsiflar/limitlarni tuzatish.
Kontraktlar: sxema, filtrlar, limitlar, maxfiylik, SLOni belgilaydi.

OpenAPI (parcha, REST-metrika):
yaml openapi: "3. 0. 3"
info: {title: "Analytics API", version: "2. 4. 0"}
paths:
/v2/payments/metrics:
get:
parameters:
- {name: brand, in: query, schema: {type: string}, required: true}
- {name: country, in: query, schema: {type: string}}
- {name: from, in: query, schema: {type: string, format: date-time}}
- {name: to, in: query, schema: {type: string, format: date-time}}
- {name: group_by, in: query, schema: {type: string, enum: [psp,status,day]}}
- {name: limit, in: query, schema: {type: integer, default: 500}}
responses:
"200": {description: "OK"}
x-slo: {p95_latency_ms: 1200, freshness_max: "PT5M"}
x-privacy: {pii: false, min_group_size: 20}

4) Tahlildan foydalanish (SQL va federatsiya)

Rolli/niqobli SQL-shlyuzi (row/column-level security).
BI ostidagi vyuxi/proyeksiyalar: barqaror nomlar va semantika; heavy-soʻrovlar oldindan agregatsiyaga oʻtadi.
Federation (Trino/Presto): yagona kirish nuqtasi, lekin siyosatchilar bilan: qanday kataloglar va qanday funksiyalar mavjud.
Lakehouse (Iceberg/Delta/Hudi): time-travel, snapshot-ekstraksiyalar SQL/REST orqali.
Квоты: scanned bytes/query, concurrency, wall-time.

5) GraphQL (moslashuvchan shakl)

Mijozga kerakli maydonni to’plash uchun beramiz, lekin tayyorlangan vyux/proyeksiyalar ustidan, chuqurlik/suyak limitlari bilan bajaramiz.

graphql type Query {
payments(
brand: String!, country: String, from: DateTime!, to: DateTime!,
first: Int = 200, after: String
): PaymentConnection
}

Siyosatlar: depth ≤ 5, total nodes ≤ 5k, ixtiyoriy regex/like satrlarini taqiqlaymiz; tez-tez so’rovlarni keshlaymiz.

6) gRPC/Feature Store (past latentlik)

Anti-frod/tavsiyalar/RG skoringi uchun onlayn fichlar.

proto service FeatureStore {
rpc GetFeatures (FeatureRequest) returns (FeatureResponse);
}
message FeatureRequest { string user_tok = 1; repeated string features = 2; }
message FeatureResponse { map<string, FeatureValue> values = 1; int64 ts_micros = 2; }

Talablar: p95 ≤ 50-100 ms, onlayn, TTL fich, LRU kesh, idempotency va mTLS.

7) Oqimlar va CDC

Domen voqealari:’payments. deposit_accepted`, `game. round_finished`.
CDC (OLTP dan): near-real-time status/limitlar o’zgarishi.
Hamkorlar uchun Webhooks: agregatlarga obuna (masalan, «PSP nosozliklari> ostona»).
Retraj/tasdiqlash siyosati: tanqidiy uchun exactly-once, monitoring uchun at-least-once.

8) Ko’llar va yirik namunalar

Arrow Flight DS/ML tezkor kolonnali tushirish uchun.
Parquet/Feather uchun Presigned-URL, qisqa TTL va imzolangan so’rov bilan.
Chunked transfer va fayl oʻlchamini boshqarish; yuklab olish jurnali (WORM-audit).

9) Filtrlar, paginatsiya, saralash

Katta toʻplamlar uchun OFFSET oʻrniga keyset-paginatsiya (kursor).
Filterlar: whitelists (’=, IN, BETWEEN, prefix’).
Saralash: cheklangan maydonlarning roʻyxati, default tartibi.
Partial response:’fields = brand, country, amount’foydali yukni kamaytiradi.

http
GET /v2/game-rounds? brand=X&from=...&to=...&first=1000&after=eyJkYXRlIjoi...

10) Keshlash va qiymat

Result cache shablon so’rovlari uchun, yangi token (snapshot id) bo’yicha nogiron.
Edge-kesh/CDN (PIIsiz).
Budget parametrlari: scanned bytes limiti, so’rov vaqti, rps/min kvotalari.
Pullarning ustuvorligi:’bi _ hot’,’adhoc’,’partner _ api’.

11) Xavfsizlik va maxfiylik

AuthN: OAuth2/OIDC (client credentials for services, PKCE for people).
AuthZ: RBAC + ABAC (atributlar: brend, mamlakat, litsenziya, rol).
mTLS xizmatlar oʻrtasida, TLS 1. 2 + tashqariga.
PII-gigiyena: API qatlamidagi niqoblar/tokenizatsiya, ustunli niqoblar, agregatlarning k-anonimligi.
Geo/tenant-izolyatsiya: so’rovlarni litsenziya mintaqasiga yo’naltirish; brend/mintaqaga shifrlash kalitlari.
DSAR/Legal Hold: sub’ekt tokenini qidirish, to’plamlarni muzlatish uchun sirlar.

12) Kuzatish (SLI/SLO) va himoya

SLI: p50/p95/p99 lat, error-rate, rps, bytes scanned, cache hit, kvotalar/limitlar, niqoblangan ustunlar ulushi, avtorizatsiya bo’yicha rad etishlar ulushi.
SLO: p95 latentlik, ma’lumotlarning yangiligi,% muvaffaqiyatli so’rovlar, javoblarda min-group-size.
Alertlar: scanned bytes’ning o’sishi, hit-rate’ning tushishi, 429/5xx’ning ko’tarilishi, PIIga kirishga urinishlar, kursorlarning oqishi.

Siyosat misoli:
yaml slo:
p95_latency_ms: 1200 success_rate: 0. 995 freshness_max: "PT5M"
privacy:
pii_allowed: false min_group_size: 20 quotas:
rps: 50 max_scanned_mb: 256

13) Formatlar va siqish

muvofiqlik uchun JSON; CSV - faqat kichik va murakkab bo’lmagan eksport uchun.
Parquet/Arrow - katta yuklar uchun andoza.
Compression: gzip/zstd (’Accept-Encoding’orqali muzokaralar).
Content-negotiation: `Accept: application/x-parquet`.

14) API sifatida metriklar (Analytics/OLAP-shlyuz)

Yuqori darajali metriklar: GGR/NET, CR, ushlab turish, RG-hodisalar -’brand, country, window, group _ by’parametrli resurslar sifatida.
Approx (HLL/TDigest) для distinct/percentiles.
’(metric, params, snapshot_id)’ kalitli kesh.

15) iGaming xususiyatlari - tayyor endpointlar

’GET/v2/payments/metrics’ - 7/30d oynali PSP/mamlakat/brend bo’yicha rad etishlar/praublar.
’GET/v2/game-rounds/metrics’ - top-o’yinlar/provayderlar, p95 davomiyligi, RTP-derazalar.
’GET/v2/rg/cases’ - faol cheklovlar/o’z-o’zini istisno qilish (k-anonim agregatlar).
’POST/v1/features: get’ (gRPC) - frod/rekommender skoringi uchun onlayn fichlar.
’POST/v1/webhooks/psp-alerts’ - «decline rate> chegara» xabarnomalari.

16) Kontraktlar namunalari

GraphQL soʻrovi:
graphql query {
payments(brand:"X", country:"TR", from:"2025-10-01", to:"2025-10-31", first:500) {
edges { node { day totalAmount declines psp } cursor }
pageInfo { hasNextPage endCursor }
}
}
Kafka (voqea, Yevro):
json
{"event_id":"...","occurred_at":169..., "brand":"X","psp":"Papara","status":"declined","amount":"100. 00","currency":"TRY"}
Arrow Flight (ruchka):

/flight/v1/query? dataset=gold. payments&from=...&to=...&brand=X&format=arrow

17) Yangi interfeysni e’lon qilish jarayoni

1. ADR: muammo/qiymat/mijozlar/xavfsizlik/qiymat.
2. Kontrakt: sxema, filtrlar, limitlar, maxfiylik, SLO, versiyalar.
3. Yuklamali modellashtirish: top-N so’rovlar, p95/skan-baytlar, qiymat.
4. Validatsiya/kesh/kvota: andoza.
5. Hujjatlar va SDK: misollar, limitlar, xatolar, retralar, idempotentlik.
6. Canary: mijozlar%, regress testlar, alertlar.
7. GA: Data Products katalogidagi versiya, effektlar boʻyicha hisobot.

18) Anti-patternlar

«Xom» SQLni hamma uchun ochish - PII oqishi, oldindan aytib bo’lmaydigan qiymat.
OFFSET-paginatsiya va’SELECT’- yashirin va hisoblash og’rig’i.
GraphQL chuqurlik/qiymat chegarasisiz.
’fields =...’ dan ortiqcha ustunlarni qaytaradigan REST.
Agregatlarda k-anonimlik va min-group-size yo’qligi.
Nol kvotalar/limitlar va oʻchirilgan kesh.
Versiyalash/kontraktlar yo’q - har bir o’zgarishda mijozlarni «sindiramiz».
Barcha mamlakatlar/brendlar uchun bir xil interfeys - mintaqaviy qoidalar ignori.

19) Joriy etish yo’l xaritasi

0-30 kun (MVP)

1. Data Products katalogi va ularning OpenAPI/GraphQL shartnomalari.
2. RLS/CLS bilan SQL-shlyuz, agregatlarning k-anonimligi, bazaviy kvotalar.
3. Bitta REST-metrik endpoint (’/payments/metrics’) + kesh + pullar’bi _ hot/adhoc’.
4. gRPC Feature Store: 10-20 ta asosiy onlayn fichni o’qish (p95 ≤ 80 ms).

30-90 kun

1. PSP alertlari/oʻyin tadbirlari uchun strim interfeyslari (Kafka/Webhook).
2. Arrow/Parquet presigned-URL bilan tushirish; snapshotlar katalogi.
3. Federation-shlyuz (Trino/Presto) aniq siyosatchilar bilan.
4. Kuzatilganlik: SLI/SLO dashbord, qiymati/yashirin/PII uchun alertlar.

3-6 oy

1. Retray/idempotent/kvotalar bilan SDK (TypeScript/Python/Go).
2. Mahsulotlar va hamkorlar uchun ingichka GraphQL kesmalari.
3. gRPC/FS ni kengaytirish, onlayn tarzda oflayn rejimda kelishish; shadow → canary relizlari.
4. Maxfiylik auditi/DSAR; kirish bo’yicha komplayens hisobotlari.

20) RACI

Data Platform (R): shlyuzlar, kesh, kvotalar, federatsiya, kuzatuv.
Data Governance (A/R): kontraktlar, versiyalar, maxfiylik/k-anonimlik.
Domain Owners (R): maydon semantikasi, biznes invariantlari, Data Products.
Security/DPO (A/R): AuthN/Z, geo-izolyatsiya, DSAR/Legal Hold.
SRE/Observability (C): SLO/SLI, alertlar, capacity.
Analytics/BI/DS (C): shakl/agregatlarga talablar, SDK.

21) Bog’liq bo’limlar

Tahliliy omborlarni indeksatsiya qilish, Tahliliy so’rovlarni optimallashtirish, Ma’lumotlar sxemalari va ularning evolyutsiyasi, Ma’lumotlarni validatsiya qilish, DataOps-amaliyotlar, Analitik va metrik API, Feature Store, Ma’lumotlar xavfsizligi va shifrlash, Kirish nazorati, Ma’lumotlarni saqlash siyosati.

Jami

Maʼlumotlardan foydalanishning toʻgʻri ishlab chiqilgan interfeyslari omborxonalar va oqimlarni ishonchli «mahsulotga» aylantiradi: bashorat qilinadigan SLA, nazorat qilinadigan qiymat, maxfiylikka rioya qilish va mahsulot jamoalari, tahlillar, komplayens va sheriklar uchun yagona til. iGaming’da bu PSPning nosozliklarini tezroq ushlash, o’yinchilarning xatti-harakatlarini tushunish va regulyatorlarning talablarini qo’lda tushirish va tungi migratsiyalarsiz bajarish demakdir.

Contact

Biz bilan bog‘laning

Har qanday savol yoki yordam bo‘yicha bizga murojaat qiling.Doimo yordam berishga tayyormiz.

Integratsiyani boshlash

Email — majburiy. Telegram yoki WhatsApp — ixtiyoriy.

Ismingiz ixtiyoriy
Email ixtiyoriy
Mavzu ixtiyoriy
Xabar ixtiyoriy
Telegram ixtiyoriy
@
Agar Telegram qoldirilgan bo‘lsa — javob Email bilan birga o‘sha yerga ham yuboriladi.
WhatsApp ixtiyoriy
Format: mamlakat kodi va raqam (masalan, +998XXXXXXXX).

Yuborish orqali ma'lumotlaringiz qayta ishlanishiga rozilik bildirasiz.