GH GambleHub

Տվյալների լճերը և հոսքերի ագրեգացիան

1) Նշանակումն ու արժեքը

DirectLake/Lakehouse-ը երկար պահեստավորման և մեծ կարդալու օժանդակ շերտն է, որտեղ

Ապրանքների/խաղերի/վճարումների հոսքերը վայրէջք են կատարում Bronze-ում «ինչպես կա»։

Silver-ը նորմալիզացնում և հարստացնում է, ապահովելով ռուսական բանալիները և որակը։

Gold-ը համախմբված վիտրիններ են (ներառյալ real-/near-real-time) BI-ի, կարգավորիչների, հակաֆրոդի/RG-ի համար։

Lakehouse-ի հոսքերի ագրեգացիան տալիս է, որ ցածր հետաձգումը կատարվում է, կանխատեսելի արժեքը, վերարտադրումը և ամրացումը։

2) Հանրաքվե-ճարտարապետություն

1. Ingest/Edge: HTTP/gRPC, OTel, batch endpoints → шина (Kafka/Redpanda).
2. Bronze (append-only) 'օբյեկտի պահեստ + ACID աղյուսակներ (Delta/Iceberg/Hudi), by date/market/tenae։ պահեստավորում wwww.payload.

3. Stream Comport: Flink/Spark/Beam - պատուհանի միավորներ, CEP, dedup, onome-lookups։

4. Silver (clean/wwww.orm) 'արժույթների/թայմզոնի նորմալացում, FK/հետազոտողներ, SCD հաճախորդների համար։

5. Serving/OLAP: ClickHouse/Pinot/Druid-ը կոդավորման համար նյութականացված րոպեներ/վայրկյան ագրեգատներ են։

6. Gold (serve) 'ցերեկային/ժամ վիտրիններ, կարգավորող կտրվածքներ, անփոփոխ հիբրիդային փաթեթներ (WORM)։

7. Կառավարման ուրվագծերը ՝ Schema Registry, DQ-կոդը, lineage, wwinds/KFC, RBAC/ABAC։

3) Պայմանագրեր և սխեմաներ

Schema-first: JSON/Avro/Protobuf; պարտադիր դաշտեր ՝ «event _ time» (UTC), «event _ id», «trace _ id», «user _ pseudo _ id», «market», «schema _ version»։

Էվոլյուցիա 'back-compatible-ն ավելացնում է nullable; breaking line '/v2 '+ կրկնակի ձայնագրություն։

Կատալոգը 'տիրույթի նկարագրությունը, սեփականատերը, SLA թարմ, DQ կանոնները, lineage։

4) Հոսքերի վայրէջք դեպի լիճ

Exactly-once-ի ներքևի մասում 'at-leport-once հրապարակումը + idempotent sink (MERGE/ups.ru' event _ id ")։

Dedup: stateful-ում + Silver-ում։

Ֆայլերի բաղադրատոմսեր ՝ small dies wwww.OPTIMIZE/VACUUM կարդալու և արժեքի համար։

Time-travel: ներառում է կարգաբերում, ռեփլեում և audit։

Iceberg կուսակցության (DDL գաղափարը)։

sql
CREATE TABLE bronze. payment_events (
event_id STRING, user_pseudo_id STRING, currency STRING,
amount DECIMAL(18,2), market STRING, event_time TIMESTAMP, payload STRING
)
PARTITIONED BY (days(event_time), market);

5) Հոսքերի ագրեգացիան 'պատուհաններ և watermarks

Պատուհաններ

Tumbling-ը ֆիքսված (օրինակ, 1 րոպե/5 րոպե) կայուն պարամետրերի համար։

Hopping-ը արգելափակված (քայլ <պատուհան) է «հարթ» մետրի համար։

Session-ը հանցագործության վարքագծային բացերն են։

Watermarks: Late Pro (սովորաբար 2-5 րոպե), dovision/2019 կանոնները։

Flink SQL-ը շուկաներում 1 րոպեանոց դեպոզիտներ են

sql
SELECT market,
TUMBLE_START(event_time, INTERVAL '1' MINUTE) AS ts_min,
COUNT() AS deposits_1m,
SUM(amount_base) AS sum_1m
FROM silver. payments
GROUP BY market, TUMBLE(event_time, INTERVAL '1' MINUTE);

6) ագրեգատների նյութականացումը

OLAP շարժիչը (ClickHouse/Pinot/Druid), պահպանում է dashbords և ռուսական վերլուծաբաններ։

Lakehouse Gold: պահպանում է ամենօրյա/ժամյա կտրվածքներ հաշվետվությունների և սուլիչների համար (վերարտադրողականություն)։

ClickHouse-ը materialized-ն է (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;

Gold-ը ցերեկային կտրվածք է (Lakehouse)

sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(event_time) AS event_date,
market, provider_id,
SUM(stake_base) AS stakes_eur,
SUM(payout_base) AS payouts_eur,
SUM(stake_base) - SUM(payout_base) AS ggr_eur
FROM silver. fact_game_financials
GROUP BY 1,2,3;

7) Silver 'նորմալացում և ստանդարտ։

Ժամանակը և արժույթը ՝ «event _ time (UTC)», «amount _ bert», «fx _ rate _ used», «fx _ source»։

Բանալիներ/գրողներ ՝ «user _ pseudo _ id», «game _ id», «provider _ id», «market»։

SCD II 'մրցույթի պատմականությունը (users/games/providers/RG/KYC)։

DQ կանոնները 'հաճախականության յուրություն, տեղեկատու, գումարների միջակայքներ, temensal-valin։

8) Ռուսաստանի ագրեգատներին և «ճիշտ» սահմանումները

Semantic Layer: GGR/NGR, տոկոսադրույքներ/հաղթանակներ, կոնվերսիա, ARPU, latency p95։

Մետրի տարբերակումը '«metric _ version» և «as-of» հաշվարկները։

Դոկ քարտերը 'owner, բանաձևը, աղբյուրները, SLA պատրաստակամությունը։

9) Exactly-once/idempotenty և կարգը

Շինա 'at-least-once + կուսակցության (տեղական կարգը)։

Մշակումը '«event _ id» (TTL 24-72ch), SER/պատուհանի վիրահատներ։

Sink 'գործարքային համայնքներ կամ idempotent ups.ru/merge։

Medibox/Inbox: OLTP-ի էքսպորտային իրադարձությունների հրապարակումը բանակի հետ։

10) Late Windows և Wind

Allowed lateness: 2-5 րոպե վիրահատական վիտրինի համար; Gold-ի համար ամենօրյա փոխանակումները։

Մոսկվա 'OLAP-ում դոցենտ և Gold (idempotent)։

Դրոշները ՝ "late = www.ord", "www.r.ru _ of = 'կոդավորման համար։

11) Դիտարկումը և DQ-ը

SLI/SLO (ուղեցույցներ)

p95 ingest no 1 րոպե վիտրինը 242-5 c; Gold daily-ը պատրաստ է մինչև 06: 00 լոկ։

Completeness ≥ 99. 5%; Schema validity ≥ 99. 9%; Trace coverage ≥ 98%.

Metriki plins: lag/throughput/busy time/state size, late-ratio, dup-rate։

DQ-dashbords: Freshness/Completeness/Validity, ձագար, «տաք» քարտեզ։

Lineage 'Bronze-ից մինչև Gold/line; impact-վերլուծություն փոփոխությունների ժամանակ։

12) Սեփականատիրությունը, բնակությունը, անվտանգությունը

PII-նվազեցումը 'կեղծանունացում, առանձին պաշտպանված մապինգ։

Residency: EFC/UK/III - առանձին կոմպոզիցիաներ և բանալիներ։ cross-տարածաշրջանային ջոինի արգելքը առանց հիմքերի։

Կոդավորումը ՝ TMS in-transit; KMS/CMK at-rest; օրինագծերի ստորագրությունները + WORM կարգավորող ժամանակ։

DSAR/RTBF/Legal Hold: Ընտրովի խմբագրություններ, հեռացման սառեցում, հաշվարկված հասանելի։

13) Արտադրողականությունը և արժեքը

Կուսակցությունը 'ամսաթվով/շուկա/տենանտա; կլաստերիզացիա/Z-order հաճախակի ֆիլտրված կոդերով։

Կոմպակտիա: wwww.mall prones, OPTIMIZE/VACUUM։

Նյութականացում 'րոպե/վայրկյան - OLAP-ում; / օրը 'Gold-ում։

Tiered storage: hot/warm/cold, SLA վերականգնում, chargeback թիմերում (cost/GB, cost/query)։

Նախածննդյան/էսքիզներ ՝ HyperLogLog/approx-distinct որտեղ ընդունելի է։

14) Օրինակներ (բեկորներ)

Flink CEP-ը ավանդների կառուցվածքն է (10 րոպե)

python if count_deposits(window=10MIN) >= 3 \
and sum_deposits(window=10MIN) > THRESH \
and all(d. amount < REPORTING_LIMIT for d in window_events):
emit_alert("AML_STRUCTURING", user_id, snapshot())

SQL-ը Silver-ում բեռնման դեդուպն է

sql
CREATE TABLE silver. payments AS
SELECT EXCEPT(rn) FROM (
SELECT p., ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY event_time) rn
FROM bronze. payment_events p
) WHERE rn = 1;

Iceberg/Delta - MERGE idempotent

sql
MERGE INTO silver. fact_bets s
USING stage. fact_bets_delta d
ON s. bet_id = d. bet_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;

15) Գործընթացներ և RACI

R (Responsible):
  • Platform (Lakehouse/կատալոգը/ACID, կոմպակտիա),
  • Streaming (CEP/dedup),
  • Domain Analytics (metrics/Gold)։
  • A (Accountable): Head of Data/CDO.
  • C (Consulted): Compliance/Legal/DPO (PII/residency/Legal Hold), Finance (FX/GGR), SRE (SLO/стоимость), Security.
  • I (Informed): BI/ապրանք/Մարքեթինգ/Վիրահատություն։

16) Իրականացման ճանապարհային քարտեզը

MVP (3-5 շաբաթ)

1. Lakehouse Bultze/Silver (ACID աղյուսակներ), ingest Kafka-ից, registry սխեմաներից։

2. Հիմնական հոսքային ագրեգատները (1-5 րոպե) OLAP-ում։ Վիտրինա Գոլդ։ ggr _ daily (D + 1 մինչև 06: 00)։

3. DQ-ի կոդը Payments/Gameplay-ի համար, Freshness/Completeness-ը։

4. Կոմպակտիա/OPTIMIZE, նվազագույն cost-metrics և ալտերտեր lag/late/dup։

Aleksanda 2 (5-10 շաբաթ)

Silver (SCD II users/games/providers), lineage և impact վերլուծության համար։

Ասինխրոն lookups (RG/KYC/ASN/BIN), late ուղղումների կառավարում։

Սեմանտիկ շերտը մետրիկ է, ածխաջրածինների կարգավորումը (WORM/ստորագրություն)։

Բրազիլիա 3 (10-16 շաբաթ)

Multi-տարածաշրջանը, DR/replay-սիմուլյատոր, 71-tuning պատուհաններ և watermarks։

Cost-dashbords, chargeback/քվոտաներ, tiered storage և արխիվացում։

Փաստաթղթերի ավտոմատ արտադրությունը վիտրինն է և պիտակը։

17) Չեկ թուղթ մինչև վաճառելը

  • Սխեմաներ և պայմանագրեր գրանցամատյանում; back-compat թեստերը կանաչ են։
  • Ներառված է dedup, watermark/allowed lateness, DLQ։
  • Կոմպակտիա/OPTIMIZE/VACUUM-ը տեղադրված է ժամանակացույցի վրա։
  • SLO: p95 ingest→minute-view, Gold до 06:00; Ալբերտ lag/late/dup/state size։
  • DQ կանոնները ակտիվ են; lineage տեսանելի է Bronze-ից մինչև առյուծներ։
  • RBAC/ABAC и KMS; նստավայրը և DSAR/RTBF/Legal Hold-ը փորձարկվել են։
  • Վերահսկման արժեքը (cost/GB, cost/query, cold), limits։

18) Anti-patterns և ռիսկեր

Մեկ աղյուսակում հում և հաշվետվական տվյալների խառնուրդը խախտում է reproducibility։

Ընկերակցության բացակայությունը 'small medes-ի պայթյունը պատրաստեց թանկ հարցումներ։

FX հաշվարկը «հետևի թվին» 'կոտրում է պատմությունը և հաշվետվությունները։

Ոչ watermarks/late-քաղաքական.

Fultreload-ը առանց կարիքների 'օգտագործեք rements/MERGE և www.ru։

PII վերլուծության մեջ 'պահեք mapings առանձին, միացրեք CLS/RTS-ը։

19) Գլոսարիա (հակիրճ)

Lakehouse-ը www.lake + ACID աղյուսակն է և SQL շարժիչը։

Bronze/Silver/Gold - հում/նորմալացված/սերվինգային շերտեր։

Watermark-ը պատուհանների պատրաստման սահմանն է event-time-ով։

Materialized Express-ը կանխատեսելի վիտրինն է արագ կարդալու համար։

Time-travel-ը աղյուսակների պատմական տարբերակների ընթերցումն է։

WORM-ը հիբրիդային արտեֆակտների անփոփոխ պահպանումն է։

20) Արդյունքը

Ճիշտ հոսքի ագրեգացիայի հետ տվյալների լիճը շերտերի և շարժիչների կարգապահությունն է 'Bronze «ինչպես կա», Silver-ը նորմալիզացիայի և որակի համար, OLAP-ը րոպեների համար, Gold-ը վերարտադրվող կոմպոզիցիաների համար։ Կառավարելով պատուհանները և watermarks, dedup և կոմպակտացիա, մասնավորություն և արժեք, դուք ստանում եք արագ, ստուգված և կոմպլեկտիվ պատուհաններ ապրանքի, կոմպլանսի և գործառնական կառավարման համար։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։