GH GambleHub

Վերլուծության և ETL փոխակրիչները

(Բաժին ՝ Տեխնոլոգիաներ և ենթակառուցվածքներ)

Live ռեզյումե

Վերլուծական փոխակրիչը վերածում է iGaming-ի «հում» վիրահատական իրադարձություններին (տոկոսադրույքներ, ավանդներ, PSA-ի վեբհուկներ, խաղերի լոգներ) կայուն վիտրինի (GGR/NGR, LTV, ռենտեն, հակաֆրոդ ազդանշաններ)։ Օժանդակ սկզբունքները ՝ շերտերի միասնական մոդել (Bronze/Silver/Gold), DQ/lineage գործիքային կարգապահությունը, ռելեմենտալությունը և գաղափարախոսությունը, դիտարկումը և SLO-ն, արժեքի վերահսկումը։ Որոշումները ընդունվում են հաշվի առնելով բեռի ավելացումը (տրամագծերի պիկի), կարգավորիչները (PII/տեղայնացումը) և բիզնեսի պահանջները տվյալների թարմացման համար։

1) Ճարտարապետություն: ETL vs ELT, batch vs stream

ETL (Extract Transform no Load) 'փոխակերպումը մինչև SNH բեռնումը։ Հարմար է այնտեղ, որտեղ փոխակերպումները պահանջում են վերահսկվող միջավայրը/գաղտնիքները մինչև «ամպը»։

ELT (Extract no Load Transform) - հումք Lake/Lakehouse/MSH, ապա SQL/շարժիչ (dbt/SQL ջութակներ)։ Հարմար է հսկայական շարժիչների և ճկուն իտերացիաների համար։

Batch: Պլանավորված պատուհաններ (յուրաքանչյուր 5/15/60 րոպե, nightly)։ Էժան և կանխատեսելի է։

Stream: почти real-time (Kafka → Flink/ksqlDB → OLAP). Վիտրինի համար near-real-time (5-60 վայրկյան) և հակաֆրոդի/CRM ազդանշաններ։

Հիբրիդ ՝ Bronze-ը լցված է ստրիմով, Silver/Gold-ը ռուսական batch մոդելներ է։

Առաջարկություն ՝ iGaming-ում պահել ELT + սթրիմինգը 'CDC/wwww.box wwww.B.ze (րոպե թարմություն), որը նկարագրվում է Silver/Gold-ում։

2) Շերտավոր մոդել (Delallion)

Bronze (Raw) 'հում իրադարձություններ/CDC առանց բիզնես տրամաբանության։ ExParquet/ORC-ը, սխեմաները, ինչպես կա, նվազագույն վալիդացիա։

Silver (Delormed) 'մաքրություն, deduplication, ֆոսֆատորների նորմալացում, SCD 71, արժույթների/ժամացույցի գոտիների միավորում։

Gold (Marault): բիզնես վիտրիններ (փաստեր/չափումներ, արտադրանքներ), materialized views, նախածննդյան (օրեր/երկրներ/ապրանքներ)։

Պլյուսներ 'վերարտադրություն, թափանցիկ էվոլյուցիա, տարբեր SLO և TTL շերտերով։

3) Աղբյուրներ և բեռնումներ ՝ CDC, www.box, ֆայլեր, ֆայլեր։

CDC (Change Windows Capture) 'OLTP (Postgres/MySQL) փոփոխությունների հոսքեր, որոնք ունեն կարգուկանոն և գաղափարախոսություն։

Windobox-pattern: Իրադարձությունները գրված են աղյուսակում/wwww.box-ի հավաքածուում գործարքի մեջ ռուսական կոնեկտորը հրապարակում է անվադողերի/լճի մեջ։

Հիբրիդային բեռնումը 'PMS-արտանետումը, գործընկերային հաշվետվությունները։ օգտագործեք մանիֆեստներ, դուբլների վերահսկողություն (www.ksum) և ռուսական և ռուսական։

Պրակտիկան 'աղբյուրները տարբերակվում են (schema version), յուրաքանչյուր աղբյուրի համար' դաշտերի պայմանագիրը և որակի սպասումները։

4) Orcestration: DAG, կախվածությունը, deplay

DAGi 'ակնհայտ կախվածություններ (rancestaging dims)։

Առաջադրանքների համադրելիությունը 'կրկնակի արձակումը առանց կողմնակի ազդեցությունների (partom-overwrite, «MERGE »/ups.ru)։

Շրջապատի բաժանումը 'Dev/Stage/Live, արտեֆակտների խթան, «ձեռքի դարպաս» (manault approval) թանկ backfill համար։

Պլանավորումը ՝ com/ժամանակավոր պատուհաններ + event-stugers (ֆայլերի/կուսակցությունների գալուստով)։

Գաղտնիքները 'գաղտնի մենեջերից; գաղտնիքների արգելք DAG կոդում։

Վերացական DAG (կեղծ) օրինակ

python with DAG("dwh_daily", schedule="0  ") as dag:
bronze = ingest_cdc(source="payments", partition=hour())
silver = dedup_normalize(input=bronze)
dims  = build_dimensions(input=silver)
facts = build_facts(input=silver, dims=dims)
marts = build_marts(input=facts)
bronze >> silver >> [dims, facts] >> marts

5) Տվյալների որակը (DQ) և lineage

DQ-cheks: Ամբողջական (count, late arrivals), հաճախականության եզակիությունը, միջակայքը/հիբրիդային կանոնները (թիվ 0, արժույթը գրացուցակում)։

Գործարկման շեմն այն է, որ կոշտ կանգառը/soft-fail-ը ալերտով կախված աղյուսակի քննադատությունից։

Lineage/կատալոգը 'ռեպորտից աղբյուրից (սեղաններ, սյունակներ, մետրիկներ), սեփականատերերը, կոմպոզիցիաները, PII դասակարգումը։

Սխեմաների վերահսկումը 'ավտոմատ թեստերը (backward-/forward-compatible), ալերտը «կոտրող» փոփոխությունների վրա։

6) Մոդելավորում: SCD, surrogate keys, նորմալացում

SCD2 կոդավորման համար '«valid _ from/valid _ to/is _ current», surrogate key («_ sk») և բնական բանալին («_ id»)։

SCD1 'չնչին ատրիբուտների համար (օրինակ, ինտերֆեյսի տրամագիծը)։

Surrogate keys: կայուն «_ sk» join, natural keys - եզակի համար։

Ստանդարտ նորմալացումը 'www.owflake, որտեղ խորության հիերարխիան։ հակառակ դեպքում star արագության համար։

7) Էքսպրեսենտալ մոդելները և նվագակցումը

Ստացիոնար նշանը («contated _ at», «ingest _ ts») 'կարդալ միայն նոր/փոփոխված տողերը։

Ռուսական ռազմավարությունները ՝ «MERGE» բիզնես բեկորների վրա, «INSASTS OVERWRITE» կուսակցություններում, «MSETE + INSPS» փոքր կուսակցությունների համար։

Կուսակցությունը 'ամսաթվի/ժամի/տարածաշրջանի; կլաստերիզացիա (softkeys/Z-order) ֆիլտրման և join մասերի վրա։

Նյութականացված ներկայացումները 'GGR/NGR կանխատեսումը, հայտնի հատվածների քեշը։

Approx-ագրեգատները ՝ HMS/approx _ distinct էժան վիտրինի համար top-N.

Ռեմենտալ «MERGE» (ընդհանրացված) օրինակ

sql
MERGE INTO fact_deposits f
USING staging_deposits s
ON (f. deposit_id = s. deposit_id)
WHEN MATCHED THEN UPDATE SET amount = s. amount, status = s. status, updated_at = s. updated_at
WHEN NOT MATCHED THEN INSERT (...)
VALUES (...);

8) Backfill, reprocessing և պատմության կառավարման

Backfill: առանձին DAGi-ներ ռեսուրսների և պատուհանների սահմանաչափերով։ «Ճշմարտության պատուհան» (օրինակ ՝ 2024-01-01.. 2025-11-2019)։

Reprocessing: դետերմինացված փոխակերպումները կրկնվող պրոթոնը տալիս է նույն արդյունքը։ Մոդելների կոդի տարբերակների տրամաբանությունը։

Time-travel/աղյուսակների տարբերակները 'հարմար հետաքննությունների համար և DR «տրամաբանական սխալներ»։

Retraction: Տվյալների արձագանքման քաղաքականությունը (112/ուղղում) պրոտոկոլիզացիայի հետ։

9) CLO/SLA/SLO փոխակրիչ

Թարմ (freshness): Bronze 351-5 րոպե, Silver 3515 րոպե, Gold 3560 րոպե (օրինակ)։

Իսպանիան 'DAG 4999-ի հաջողակ պրոգոնների տոկոսը։ x%.

Արտադրողականությունը 'p95/p99 հանգույցի տևողությունը; ժամանակի բյուջեն կուսակցության համար։

Lag 2019 'ingest-strima հրաժարվելը, հերթերի խորությունը, «late to» մասնաբաժինը։

Ալբերտ 'թարմ/ծավալի խախտումը, DQ-ֆեյլները, սկանների արժեքի աճը, MV-ի դեգրադացիան։

10) Արժեքը 'կանխատեսում և օպտիմիզացում

Կուսակցությունները և կլաստերները նվազեցնում են սկանների ծավալը։

Տաք մարկերների նյութականացումը (օրեր/երկրներ/ապրանքներ)։

Քեշը արդյունքների/MVs-ի համար հաճախ օգտագործվող dashbords-ների համար։

Վերարտադրման հաճախության վերահսկումը (ոչ մի «յուրաքանչյուր 5 րոպե» առանց պատճառի)։

TTL 'Bronze ագրեսիվ ռետենշն, միջին Silver, երկար Gold (միայն միավորներ)։

Capacity planning: կատալոգային չափումներ, կիսագնդի պիկի կանխատեսում/քարոզարշավներ։

11) Անվտանգություն, PII և տեղայնացում

Տվյալների դասակարգումը 'PII/ֆինանսական/վիրահատական։

Ծածկագրում ՝ հանգստի և տարանցման մեջ։ KFC/հիմնական հասանելիությունը։

Դե նույնականացում 'hashing/masking, առանձին ցողուններ։

RSA/wukhi մուլտֆիլմի տենանտիզմի համար («tenrone _ id»)։

Տեղայնացում 'պահեստային և վերամշակման գոտիներ տարածաշրջաններում (EU/TR/LATAM); արտահանումը միայն թույլատրված վայրերին։

Աուդիտ 'ընթերցումներ/ձայնագրություններ կրիտիկական սեղաններում, մուտքագրեք օրինագծին։

12) Դիտարկումը 'չափումներ, լույսեր, թրեյսներ

Փոխակրիչի չափումները 'առաջադրանքների տևողությունը, հերթը, սխալները, հետքերը, վերամշակված բայթերի/տողերի ծավալը, արժեքը։

Լոգներ 'կառուցվածքային; հարաբերակցություն «trace _ id »/« run _ id»։

Թրեյսինգը 'աղբյուրից մինչև վիտրիններ (ingest intransform no load)։

Դաշբորդի 'շերտերի թարմ, DAGov-ի հաջողությունը, լավագույն թանկարժեք հարցումները, p95/p99։

13) Գործիքներ (դերերի ուղեցույցներ)

Նվագախումբ ՝ DAG նվագախմբեր (պլանավորող, ելույթներով, ալերտերով, գաղտնիքներով)։

Փոխակերպումներ ՝ SQL մոդելավորում («մոդելներ որպես կոդը»), մոդելների յունիտ թեստերը, պաշտպանությունները։

DQ/պայմանագրեր 'ստուգումների շրջանակներ և SLA տվյալների հավաքածուներ։

Լինեժը/կատալոգը 'կախվածության հաշվարկի ավտոմատ կառուցվածքը, սեփականատիրոջ որոնումը։

Սթրիմինգը 'պատուհանների/ագրեգացիաների ստանդարտ, sink/source գրասենյակներ։

(Հատուկ վենդորները ընտրվում են ընկերության և անվտանգության պահանջների տակ։

14) Ձևանմուշների օրինակներ

GGR վիտրիններ (ընդհանրացված SQL)

sql
CREATE OR REPLACE TABLE mart_ggr_daily AS
SELECT
DATE(b. ts) AS d,
c. country_code,
SUM(b. stake) AS stake_sum,
SUM(b. win)  AS win_sum,
SUM(b. stake - b. win) AS ggr
FROM fact_bets b
JOIN dim_country c ON c. country_sk = b. country_sk AND c. is_current
WHERE b. ts >= DATE_SUB(CURRENT_DATE, INTERVAL 60 DAY)
GROUP BY d, c. country_code;

Ռուսական իրական մոդել «ստացիոնար նշանով»

sql
INSERT INTO fact_bets PARTITION (dt)
SELECT
FROM staging_bets
WHERE updated_at > (SELECT COALESCE(MAX(watermark), '1970-01-01') FROM _meta_watermarks WHERE table='fact_bets');
-- then update watermark

DQ ստուգումներ (գաղափար)

sql
-- 1) key uniqueness
SELECT deposit_id FROM fact_deposits GROUP BY deposit_id HAVING COUNT()>1;

-- 2) negative amounts (error)
SELECT FROM fact_deposits WHERE amount < 0;

15) Ներդրման չեկի ցուցակ

1. Ռուսական բառարանը (GGR/NGR/LTV/Retention) և սեփականատերերը։

2. Տեղադրեք SLO թարմ Bronze/Silver/Gold շերտերով։

3. Ստանդարտացնել աղբյուրների պայմանագրերը (սխեմաներ, DQ, SLA)։

4. Կառուցեք DAG-գրաֆիկը idempotent քայլերով և մեկուսացված գաղտնիքներով։

5. Իրականացրեք ռելիմենտալությունը (MERGE/overwrite կուսակցություններում) և «հիբրիդային նշաններ»։

6. Միացրեք DQ (կրիտիկական/փափուկ ստուգումներ), lineage և տվյալների կատալոգը։

7. Պարարտեք դիտարկումը (չափումներ, լոգներ, թրեյզներ) և ալերտներ։

8. Մուտքագրեք retenshn/TTL և backfill/reprocessing քաղաքականությունը։

9. Ապահովեք PII-վերահսկումը, կոդավորումը, RSA-ը և տեղայնացումը։

10. Իրականացրեք game-day 'ընդօրինակումը աղբյուրի անկման, «կոտրող» սխեմաների, զանգվածային backfill-ի։

16) Անտիպատերնի

«Մի գիշերային ETL-ն ամեն ինչի վրա» առանց կուսակցության և ռուսական ռեմենտալության։

DQ-ի և lineage-ի բացակայությունը բացատրում է հակամարտող հաշվետվությունները և «որսորդության որսը»։

Աղյուսակների ամբողջական վերամշակումը յուրաքանչյուր գործարկման ժամանակ (արժեքի պայթյունը)։

Իրական ժամանակում կոշտ կապը առանց ածխաջրածինների/գետերի։

PII-ի և հանրային վիտրինի խառնուրդը առանց սեգմենտացման և դիմակավորման։

Քաղաքականության բացակայությունը retraction/հեռացում (անհնար է շտկել սխալները)։

Արդյունքները

iGaming-ում վերլուծության կայուն փոխակրիչը ELT + striming բեռնումն է շերտավոր մոդելի մեջ 'կոշտ DQ/lineage-ով, որը պատրաստված է ռեֆորմային մոդելներով, թափանցիկ նվագարկիչով և չափված SLO-ով։ Ավելացրեք արժեքի վերահսկումը, PII/wwww.ru քաղաքականությունը, www.backfill/DR-ուսուցումները, և ձեր վերլուծական պլատֆորմը հուսալիորեն կաճի ռիսկի տակ 'պատասխանելով բիզնեսին անհրաժեշտ թարմության և որակի տվյալներին։

Contact

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

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

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

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

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

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