GH GambleHub

Veri erişim arabirimleri

1) Neden düşünceli bir arayüz

Hız ve öngörülebilirlik: iş metrikleri ve raporları "manuel yükleme" olmadan SLA'lara uyar.
Güvenlik ve gizlilik: Kontrol altında PII/biyometri, k-anonimlik, coğrafi sınırlar.
Esneklik: Farklı müşteriler (BI, hizmetler, ortaklar, DS/ML) tam olarak ihtiyaç duydukları şeyi alırlar.
Sözleşmeler ve sürümlerle "verileri bir ürün olarak" yeniden kullanın.

2) Arayüz haritası (ne zaman)

SQL/ANSI + satıcı lehçeleri: etkileşimli analitik, BI, ad-hoc.
REST JSON: istikrarlı toplamlar ve operasyonel veriler, ortaklarla entegrasyonlar.
GraphQL: esnek "seçici" okuma ve navigasyon grafiği (boyutlar/gerçekler).
gRPC (protobuf): Çevrimiçi sörfün düşük gecikme süresi (Feature Store, puanlama).
HTTP/S3-presigned üzerinde Ok Uçuş/Parke: DS/ML için hızlı sütun dökümü.
OData: kurumsal araçlar, bir hizmet modeli olarak tablo.
Akışlar (Kafka/Pulsar) + CDC/Webhooks: gerçek zamanlı olaylar, reaktif entegrasyonlar.
Federasyon (Trino/Presto): Birden fazla kaynağa tek giriş noktası.

Kural: kümeler ve kararlı dilimler - REST/MV, zengin keyfi sorgular - SQL, düşük gecikme süresi/çevrimiçi özellikler - gRPC, esnek yanıt formu - GraphQL, toplu ikili değişim - Ok/Parke.

3) Sözleşmeler ve versiyonlar (semver)

'BINBAŞI. MINÖR. Her API/şema/olay için PATCH '.
MAJOR: uyumsuz değişiklikler (yeni yol/konu/tablo).
MINOR: Uyumlu alan/argüman eklemeleri.
PATCH: açıklamaları/sınırları düzenle.
Sözleşmeler sabittir: şema, filtreler, sınırlar, gizlilik, SLO.

OpenAPI (fragment, REST metrikleri):
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) Analitiğe erişim (SQL ve federasyon)

Rolleri/maskeleri olan SQL ağ geçidi (satır/sütun düzeyinde güvenlik).
Blizzards/BI projeksiyonları: istikrarlı isimler ve anlambilim; Ağır istekler ön toplamaya gider.
Federasyon (Trino/Presto): tek giriş noktası, ancak politikalarla: hangi dizinler ve hangi özellikler kullanılabilir.
Lakehouse (Iceberg/Delta/Hudi): zaman yolculuğu, SQL/REST üzerinden anlık görüntü alma.
Квоты: taranmış bayt/sorgu, eşzamanlılık, duvar zamanı.

5) GraphQL (esnek form)

Müşteriye istenen alanı toplaması için veriyoruz, ancak hazırlanan kar fırtınası/projeksiyonlar üzerinde derinlik/kemik sınırlarıyla yürütüyoruz.

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

Politikalar: derinlik ≤ 5, toplam düğüm ≤ 5k, rasgele regex/like'ı satırlarla yasaklar; Sık gelen istekleri önbelleğe alıyoruz.

6) gRPC/Özellik Deposu (düşük gecikme süresi)

Anti-dolandırıcılık/öneriler/RG puanlama için çevrimiçi özellikler.

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; }

Gereksinimler: p95 ≤ 50-100 ms, tam offlayn↔onlayn tutarlılığı, TTL özelliği, LRU önbelleği, idempotency ve mTLS.

7) Akışlar ve CDC

Domain olayları: 'ödemeler. deposit_accepted', 'oyun. round_finished'.
CDC (OLTP'den): yakın gerçek zamanlı olarak durum/sınır değişiklikleri.
Ortaklar için Webhook'lar: agregalara abonelik (örn. "PSP arızaları> eşik").
Geri ödeme/onay politikaları: Kritik için tam olarak bir kez, izleme için en az bir kez.

8) Göller ve büyük örnekler

Ok Uçuş DS/ML hızlı sütun deşarjları için.
Kısa TTL ve imzalı istek ile Parke/Tüy'e imzalı URL.
Chunked transfer ve dosya boyutu kontrolü; İndirme günlüğü (WORM denetimi).

9) Filtreler, sayfalama, sıralama

Büyük kümeler için OFFSET yerine keyset sayfalama (imleç).
Filtreler: Alanlara, türlere ve işleçlere göre beyaz listeler ('=, IN, BETWEEN, prefix').
Sıralama: sınırlı alan listesi, varsayılan sıra.
Kısmi yanıt: 'alanlar = marka, ülke, miktar' yükü azaltır.

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

10) Önbelleğe alma ve maliyet

Şablon istekleri için sonuç önbelleği, anlık görüntü kimliği tarafından devre dışı bırakıldı.
Genel/yarı genel toplamlar için kenar önbelleği/CDN (PII olmadan).
Bütçe parametreleri: taranmış bayt sınırı, istek zaman aşımı, rps/dak kotaları.
Havuzların önceliklendirilmesi: 'Bi _ hot', 'adhoc', 'partner _ api'.

11) Güvenlik ve gizlilik

AuthN: OAuth2/OIDC (hizmetler için müşteri kimlik bilgileri, insanlar için PKCE).
AuthZ: RBAC + ABAC (özellikler: marka, ülke, lisans, rol).
Servisler arası mTLS, TLS 1. 2 + dışarı.
PII hijyeni: API katmanında maskeler/tokenizasyon, sütun maskeleri, agregaların k-anonimliği.
Geo/tenant-isolation: Talepleri lisans bölgesine yönlendirmek; Marka/bölge başına şifreleme anahtarları.
DSAR/Yasal Bekletme: konu belirtecine göre arama, donma kümeleri için sırlar.

12) Gözlemlenebilirlik (SLI/SLO) ve koruma

SLI: p50/p95/p99 lat, hata oranı, rps, taranan baytlar, önbellek isabeti, kotalar/sınırlar, maskelenmiş sütunların paylaşımı, yetkilendirme hatalarının paylaşımı.
SLO: p95 gecikme, veri tazeliği, % başarılı istekler, yanıtlarda min-grup boyutu.
Uyarılar: Taranan baytlar yükselir, isabet oranı düşer, 429/5xx spike, PII erişim girişimleri, imleç sızıntıları.

Örnek politika:
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 ve sıkıştırma

Uyumluluk için JSON; CSV - sadece küçük ve basit ihracat için.
Parke/Ok - büyük yüklemeler için varsayılan.
Sıkıştırma: gzip/zstd ('Accept-Encoding' yoluyla görüşme).
Content-negotiation: 'Accept: application/x-parquet'.

14) API olarak metrikler (Analytics/OLAP ağ geçidi)

Üst düzey metrikler: GGR/NET, CR, hold, RG olayları - 'marka, ülke, pencere, grup _ by' parametreleriyle kaynak olarak.
Yaklaşık (HLL/TDiggest) для farklı/yüzdelik.
Anahtar önbellek: '(metrik, param, snapshot_id)'.

15) iGaming özgüllüğü - hazır uç noktalar

'GET/v2/payments/metrics' - 7/30d pencereli PSP/ülke/marka tarafından yapılan hatalar/güncellemeler.
'GET/v2/game-rounds/metrics' - en iyi oyunlar/sağlayıcılar, p95 süresi, RTP pencereleri.
'GET/v2/rg/cases' - aktif kısıtlamalar/kendinden dışlamalar (k-anonim kümeler).
'POST/v1/features: get' (gRPC) - scoring fraud/recommendation için online özellikler.
'POST/v1/webhooks/psp-alerts' - bildirimler "düşüş oranı> eşik".

16) Sözleşme örnekleri

GraphQL sorgusu ince dilim:
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 (etkinlik, Avro):
json
{"event_id":"...","occurred_at":169..., "brand":"X","psp":"Papara","status":"declined","amount":"100. 00","currency":"TRY"}
Ok Uçuş (kalem):

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

17) Yeni arayüz yayınlama süreci

1. ADR: Sorun/Değer/Müşteriler/Güvenlik/Maliyet.
2. Sözleşme: şema, filtreler, sınırlar, gizlilik, SLO, sürümler.
3. Yük modelleme: üst-N istekleri, p95/tarama baytları, maliyet.
4. Doğrulama/önbellek/kotalar: varsayılan olarak etkinleştir.
5. Dokümantasyon ve SDK: örnekler, limitler, hatalar, retrays, idempotency.
6. Kanarya: Müşterilerin yüzdesi, regresyon testleri, uyarılar.
7. GA: Data Products katalog sürümü, efekt raporu.

18) Anti-desenler

Herkese "ham" SQL'i açın - PII sızıntıları, öngörülemeyen maliyet.
OFSET sayfalama ve 'SELECT' - gecikme ve sayma ile ağrı.
Derinlik/maliyet kısıtlamaları olmadan GraphQL.
REST, 'fields =...' olmadan çok fazla sütun döndürür.
Kümelerde k-anonimlik ve min-grup boyutu eksikliği.
Sıfır kota/limit ve devre dışı önbellek.
Sürüm/sözleşme yok - her değişiklikle müşterileri "kırıyoruz".
Tüm ülkeler/markalar için aynı arayüz, bölgesel kuralları göz ardı etmektir.

19) Uygulama Yol Haritası

0-30 gün (MVP)

1. Veri Ürünleri kataloğu (metrikler/dilimler) ve bunların OpenAPI/GraphQL sözleşmeleri.
2. RLS/CLS ile SQL ağ geçidi, toplamların k-anonimliği, temel kotalar.
3. Bir REST metrik uç noktası ('/payments/metrics ') + önbellek + havuzlar' bi _ hot/adhoc '.
4. gRPC Feature Store: 10-20 temel çevrimiçi özelliği okuma (p95 ≤ 80 ms).

30-90 gün

1. PSP uyarıları/oyun etkinlikleri için akış arayüzleri (Kafka/Webhook).
2. Sunulan URL'den Ok/Parke yüklemeleri; anlık görüntü kataloğu.
3. Federasyon Ağ Geçidi (Trino/Presto) açık politikalarla.
4. Gözlenebilirlik: gösterge panosu SLI/SLO, maliyet/gecikme/PII uyarıları.

3-6 ay

1. Retrays/idempotency/kotaları ile SDK (TypeScript/Python/Go).
2. Ürünler ve iş ortakları için Thin GraphQL dilimleri.
3. gRPC/FS uzantısı, offlayn↔onlayn müzakere; Gölge - kanarya serbest bırakır.
4. Gizlilik denetimi/DSAR; Uygunluk raporlarına erişin.

20) RACI

Veri Platformu (R): ağ geçitleri, önbellek, kotalar, federasyon, gözlemlenebilirlik.
Veri Yönetişimi (A/R): sözleşmeler, sürümler, gizlilik/k-anonimlik.
Alan Sahipleri (R): alan semantiği, iş değişmezleri, Veri Ürünleri.
Güvenlik/DPO (A/R): AuthN/Z, coğrafi izolasyon, DSAR/Yasal Bekletme.
SRE/Gözlenebilirlik (C): SLO/SLI, uyarılar, kapasite.
Analytics/BI/DS (C): Formlar/toplamlar için gereksinimler, SDK.

21) İlgili bölümler

Analitik Depolama Dizinleme, Analitik Sorgu Optimizasyonu, Veri Şemaları ve Evrimi, Veri Doğrulama, DataOps Uygulamaları, Analitik ve Metrik API'leri, Özellik Deposu, Veri Güvenliği ve Şifreleme, Erişim Kontrolü, Veri Saklama Politikaları.

Toplam

Düzgün tasarlanmış veri erişim arayüzleri depolamayı ve akışı güvenilir bir "ürün'e dönüştürür: öngörülebilir SLA'lar, kontrollü maliyet, gizlilik uyumluluğu ve ürün ekipleri, analitik, uyumluluk ve iş ortakları için tek bir dil. Bu, iGaming'de PSP çökmelerini daha hızlı yakalamak, oyuncu davranışlarını anlamak ve düzenleme gereksinimlerini karşılamak anlamına gelir - manuel yüklemeler ve gece geçişleri olmadan.

Contact

Bizimle iletişime geçin

Her türlü soru veya destek için bize ulaşın.Size yardımcı olmaya her zaman hazırız!

Telegram
@Gamble_GC
Entegrasyona başla

Email — zorunlu. Telegram veya WhatsApp — isteğe bağlı.

Adınız zorunlu değil
Email zorunlu değil
Konu zorunlu değil
Mesaj zorunlu değil
Telegram zorunlu değil
@
Telegram belirtirseniz, Email’e ek olarak oradan da yanıt veririz.
WhatsApp zorunlu değil
Format: +ülke kodu ve numara (örneğin, +90XXXXXXXXX).

Butona tıklayarak veri işlemenize onay vermiş olursunuz.