GH GambleHub

რეალურ დროში ანალიტიკა

1) დანიშვნა და ბიზნესის ღირებულება

რეალურ დროში ანალიტიკა (RTA) უზრუნველყოფს რეაქციებს წამში და არა საათებში:
  • AML/ანტიფროდი: დეპოზიტების სტრუქტურა, velocity შეტევები, რისკის გარიგებები.
  • Responsible Gaming (RG): ლიმიტების ჭარბი რაოდენობა, რისკის შაბლონები, თვითკმაყოფილება.
  • SRE/ოპერაციები: SLA დეგრადაციების ადრეული გამოვლენა, შეცდომების ადიდება, მტევნების გადახურება.
  • პროდუქტი და მარკეტინგი: პერსონალიზაციის, მისიების/სტუმრების გამომწვევი, რეალური დროის სეგმენტი.
  • ოპერაციული ანგარიშგებები: near-real-time GGR/NGR, დარბაზების/პროვაიდერების დაშლა.

მიზნობრივი მითითებები: p95 end-to-end 0. 5–5 с, completeness ≥ 99. 5%, ხელმისაწვდომობა 99. 9%.


2) სტანდარტული არქიტექტურა

1. Ingest/Edge — `/events/batch` (HTTP/2/3), gRPC, OTel Collector; სქემების შესაბამისობა, ანტი-დუბლი, გეო-მარშრუტიზაცია.
2. ღონისძიების ავტობუსი არის Kafka/Redpanda (წვეულება 'user _ id/tenant/barket', DLQ, retenshing 3-7 დღე).
3. Stream დამუშავება - Flink/Spark Structured Streaming/Beam: სახელმწიფო ოპერატორები, CEP, watermarks, allowed lateness, ბაბუა.
4. ონლაინ გამდიდრება - Redis/Scylla/ClickHouse lookups (RG ლიმიტები, KYC, BIN, MCC, IP, Geo/ASN), ასინქრონული ზარები ტაიმაუტებით და fallbalback.
5. სერვინგი - ClickHouse/Pinot/Druid (ოპერატიული ფანჯრები 1-5 წუთი), Feature Store (ონლაინ ნიშნები), webhooks/ticketing/SOAR.
6. Lakehouse - Bronze/Silver/Gold გრძელვადიანი კონსოლიდაციისთვის, რაფლეტი და შედუღება.
7. დაკვირვება - paypline, tracing (OTel), logs, lineage და cost dashbords.


3) სიგნალები და ტაქსონომია

გადახდები: 'payment. deposit/withdraw/chargeback`.
თამაში: 'game. bet/payout ', სესიები.
ავთენტიფიკაცია და ქცევა: 'auth. login/failure`, device-switch, velocity.
ოპერაციული: latency, error-rate, bumbs, saturation.
შესაბამისობა: სანქციების სკრინინგი, RG დროშები, DSAR მოვლენები.

თითოეულ ტიპს აქვს მფლობელი (დომენი owner), სქემა, SLO სუფთა და გრძელი მონაცემთა პოლიტიკა.


4) Windows, watermarks და late data

ფანჯრები: tumbling (ფიქსირებული) , hopping (ჭერი), სესია (არააქტიურობის მიხედვით).
Watermark: „დროის ცოდნის“ საზღვარი (ჩვეულებრივ 2-5 წუთი).
დაგვიანებული მოვლენები: კორექტირების დამატებითი გამოცემა, დროშა 'late = true', DLQ ძლიერი დაგვიანებით.

მაგალითი Flink SQL (10 - წუთიანი დეპოზიტების დეპოზიტები):
sql
SELECT user_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS sum_10m
FROM stream.payments
GROUP BY user_id, TUMBLE(event_time, INTERVAL '10' MINUTE);

5) CEP და სახელმწიფო აგრეგაცია

საკვანძო: 'user _ id', 'device _ id', 'payment. account_id`.
მდგომარეობა: მოცურების მრიცხველები/თანხები, bloom ფილტრები დედაპლატისთვის, TTL.
CEP ნიმუშები: სტრუქტურა (<ბარიერი, N ჯერ, T ფანჯრის მიღმა), მოწყობილობები-switch, RG-fatigue.

ფსევდო კოდი CEP:
python if cnt_deposits(last=10MIN) >= 3 and sum_deposits(last=10MIN) > THRESH and all(d.amount < REPORTING_THRESHOLD):
emit_alert("AML_STRUCTURING", user_id, snapshot())

6) Exactly-Once, წესრიგი და იდემპოტენტობა

At-least-once მიწოდება საბურავზე + 'ღონისძიების _ id' დამუშავებისთვის (TTL 24-72 საათი).
შეკვეთა: ღილაკების განლაგება (გარანტირებულია ადგილობრივი შეკვეთა).
Sink: გარიგების კომუნები (2-ფაზა) ან იდემპოტენტური უზბეკეთი/მერჯი.
Outbox/Inbox: დომენის მოვლენების გარიგების გამოქვეყნება OLTP- დან.


7) ონლაინ გამდიდრება და Feature Store

Lookup: RG ლიმიტები, KYC სტატუსები, BIN, MCC, IP, Geo/ASN, ბაზრები/გადასახადები, FX ღონისძიების დროს.
ასინქრონული გამოწვევები: სანქციები/REP API ტაიმაუტებით; შეცდომით - 'unknown' + rettray/ქეში.
Feature Store: ონლაინ/offline კოორდინაცია; ერთი კოდური ტრანსფორმაციის ბაზა.


8) ნამდვილი დრო ფანჯრები და სერვინგი

ClickHouse/Pinot/Druid: მეორე/წუთიანი დანაყოფები, materialized views, SLA დაგვიანებით 1-5 წთ

API/GraphQL: დაბალი ლატენტობა დაშბორდებისთვის/ვიჯეტებისთვის.
ალერტები: ვებჰუკი/ჯირა/SOAR გამდიდრებული კონტექსტით (trace _ id, ბოლო მოვლენები).

მაგალითი ClickHouse (ყოველკვირეული 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;

9) მეტრიკი, SLI/SLO და დაშბორდები

რეკომენდებულია SLI/SLO:
  • p95 ingest alert 2 c (კრიტიკული წესები), 5 გვ (ა.შ.).
  • Completeness ფანჯარა T-99. 5%; Schema validity ≥ 99. 9%; Trace coverage ≥ 98%.
  • Stream სერვისის ხელმისაწვდომობა 99. 9%; late-ratio ≤ 1%.
დაშბორდი (მინიმალური):
  • ლაგი წვეულებებზე/ტოპიკებზე; busy time ოპერატორები; სახელმწიფოს ზომა.
  • ძაბრი „მოვლენა - საქმე“, პრესა/ჩანაწერი დომენებზე.
  • Tepletocart late/completeness; ცხელი გასაღებების ბარათი.

10) ნაკადი DQ (ხარისხი)

Ingest validation: schema/enums/size-limits, inti-dubli.
ნაკადზე: completeness/dup-rate/late-ratio, ფანჯრების სისწორე (ორმაგი აღრიცხვის გარეშე).
რეაქციის პოლიტიკოსები: კრიტიკული, DLQ + pager; major/minor - tegiration + ანგარიში.

YAML მაგალითი:
yaml stream: payments rules:
- name: schema_valid type: schema severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: dedup_window type: unique keys: [event_id]
window_minutes: 1440

11) კონფიდენციალურობა, უსაფრთხოება და რეზიდენცია

PII მინიმიზაცია: ID ფსევდონიზაცია, მგრძნობიარე ველების შენიღბვა, PAN/IBAN ტოქსიკაცია.
მონაცემთა რეგულირება: რეგიონალური კონვეიერები (EEA/UK/BR), ცალკეული KMS გასაღებები.
DSAR/RTBF: შერჩევითი რედაქტორები downstream ფანჯრებზე; იურიდიული ჰოლდი საქმეებისთვის/მოხსენებისთვის.
აუდიტი: ხელმისაწვდომობის/წესების ცვლილების უცვლელი ლოგოები, გამოცემების ჟურნალისტიზაცია.


12) ეკონომიკა და პროდუქტიულობა

შარდინგი/გასაღებები: თავიდან აიცილეთ „ცხელი“ გასაღებები, პარტიების ბალანსი.
მდგომარეობა: TTL, კომპაქტური snapshots, tuning RocksDB/state backend.
წინამორბედი: reduce ადრეულ ეტაპზე ხმაურიანი თემებისთვის.
Sampling: მხოლოდ არაკრიტიკული მეტრიკებისთვის (არა გარიგებები/შესაბამისობა).
Chargeback: ბიუჯეტები თემებზე/ჯობებზე, კვოტებზე და მძიმე მოთხოვნებზე.


13) პროცესები და RACI

R: Streaming Platform (infra/გამოშვებები), Domain Analytics (წესები/ფიჩები), MLOps (Scoring/Feature Store).
A: მონაცემთა Head/Risk/დომენის კომპლექსი.
C: DPO/Legal (PII/retention), SRE (SLO/ინციდენტები), არქიტექტურა.
I: პროდუქტი, მხარდაჭერა, მარკეტინგი, ფინანსები.


14) გზის განხორციელების რუკა

MVP (2-4 კვირა):

1. Kafka/Redpanda + 2 კრიტიკული ტოპიკა (მაგალითად, 'payments', 'auth').

2. Flink Joba ერთად watermark, dup და 1 CEP წესი (AML ან RG).

3. ოპერატიული ვიტრინა ClickHouse/Pinot (1-5 წთ), დაშბორდები lag/completeness.

4. ინციდენტის არხი (ვებჰუკი/ჯირა), ძირითადი SLO და ალერტები.

ეტაპი 2 (4-8 კვირა):
  • ონლაინ გამდიდრება (Redis/Scylla), Feature Store, asinchron lookups.
  • წესების მართვა, როგორც კოდი, კანარი/A-B, ნაკადი DQ.
  • კონვეიერის, DSAR/RTBF პროცედურების რეგონალიზაცია, იურიდიული ჰოლდი საქმეებისთვის.
ეტაპი 3 (8-12 კვირა):
  • აქტიური აქტიური მულტფილმის რეგიონი, replay & what-if სიმულატორი, რეიდების კალიბრაცია.
  • Gold-stream ფანჯრები (GGR/RG/AML), ნამდვილი ანგარიშები.
  • Cost Dashboards, chargeback, DR სწავლებები.

15) მაგალითები (ფრაგმენტები)

Flink CEP — device-switch:
sql
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY event_time
MEASURES
FIRST(A.device_id) AS d1,
LAST(B.device_id) AS d2,
COUNT()      AS cnt
PATTERN (A B+)
DEFINE
B AS B.device_id <> PREV(device_id) AND B.ip_asn <> PREV(ip_asn)
) MR
Kafka Streams - იდემპოტენტური ფილტრი:
java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}

16) ჩეკის სია გაყიდვამდე

  • სქემები/კონტრაქტები Registry- ში, უკუკავშირის კომპანიაში ტესტები მწვანეა.
  • ჩართულია watermark/allowed lateness, dedup და DLQ.
  • SLO და ალერტები (lag/late/dup/state size).
  • გამდიდრება ქეშებითა და ტაიმაუტებით; fallback «unknown».
  • RBAC/ორმაგი კონტროლი წესებზე/მოდელებზე; ჟურნალის ცვლილებები შედის.
  • წესების დოკუმენტაცია/ფანჯარა; runbook 'და raplay/გამოტოვება.

17) ხშირი შეცდომები და როგორ მოვერიდოთ მათ

ღონისძიების დროის უგულებელყოფა: watermarks- ის გარეშე, მეტრიკა „ბანაობს“.
არ არსებობს ბაბუა: ყალბი ალერტები, ორმაგი აღრიცხვა.
ცხელი გასაღებები: პარტიების გადალახვა - გადახრა/აღდგენა.
სინქრონული გარე API ცხელ გზაზე: მხოლოდ ასინკ + ქეში.
უკონტროლო ღირებულება: წინასწარი აგრეგაცია, TTL სახელმწიფოები, კვოტები, კოდის მონიტორინგი.
სიმულატორის არარსებობა: გაშვება „რეგულირების“ გარეშე რეგრესიის გარეშე.


18) შედეგი

რეალურ დროში ანალიტიკა არ არის „სწრაფი BI“, არამედ კონტროლირებადი კონტური კონტრაქტებით, სახელმწიფო ლოგიკით, CEP, watermarks, ონლაინ გამდიდრება და მკაცრი SLO. ამ პრაქტიკის შემდეგ, პლატფორმა იღებს ზუსტ სიგნალებსა და გადაწყვეტილებებს წამში, მხარს უჭერს შესაბამისობას, პროდუქტის სცენარებს და ოპერაციულ სტაბილურობას კონტროლირებადი ღირებულებით.

Contact

დაგვიკავშირდით

დაგვიკავშირდით ნებისმიერი კითხვის ან მხარდაჭერისთვის.ჩვენ ყოველთვის მზად ვართ დაგეხმაროთ!

ინტეგრაციის დაწყება

Email — სავალდებულოა. Telegram ან WhatsApp — სურვილისამებრ.

თქვენი სახელი არასავალდებულო
Email არასავალდებულო
თემა არასავალდებულო
შეტყობინება არასავალდებულო
Telegram არასავალდებულო
@
თუ მიუთითებთ Telegram-ს — ვუპასუხებთ იქაც, დამატებით Email-ზე.
WhatsApp არასავალდებულო
ფორმატი: ქვეყნის კოდი და ნომერი (მაგალითად, +995XXXXXXXXX).

ღილაკზე დაჭერით თქვენ ეთანხმებით თქვენი მონაცემების დამუშავებას.