GH GambleHub

Տվյալների իրականացումը և OLAP մոդելները

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

Live ռեզյումե

Տվյալների պահեստ (MSH) - iGaming-ի վերլուծության հենակետային շերտը 'կարգավորողների հաշվետվությունները, ապրանքների/շուկաների հասանելիությունը, cogore LTV, հակաֆրոդ վերլուծություն, CRM սեգմենտացիա և real-time dashbords։ Կայուն MSH-ն կառուցվում է տվյալների պարզ մոդելի վրա (Star/Winowflake/Windowflake/Windowflake), վստահելի (ETL/ELT + CDC), մտածված արտադրողականության վրա (կոլոնային շարժիչներ, կուսակցություններ, MVs), խիստ սեմանտիկ, անվտանգություն/PII և արժեքներ։

Ճարտարապետական մոտեցումներ

Դասական PPH (Kimball vs Inmon)

Kimball (Dimultional/Star/Winowflake) 'արագ վիտրիններ։ Ֆոկուսը փաստերի և չափումների վրա, SCD պատմությունը։ Արագ խաղալիք-to-vela։

Inmon (Corporate Information Factory) 'նորմալացված միջուկը + վիտրինի; ավելի դժվար է ժամանակի ընթացքում, բայց խիստ և կենտրոնացված։

Data Vault 2. 0

Hubs-Links-Satellites: մեծացված «պանրի» մոդել ռուսական աղբյուրների և փոփոխությունների համար։ Վերևում կառուցվում են Star վիտրիններ։

Data Lake / Lakehouse

Direct Lake: Հում ֆայլեր (Parquet/ORC) + 108 և (Hive/Glue/Unity/Metastore)։

Lakehouse: մեկ շերտ batch/stream, ACID աղյուսակներ (Delta/Iceberg/Hudi), time-travel, ups.ru/merge, կոմպակտ ֆայլեր, Z-order/Clustering։

Medallion (Bronze–Silver–Gold)

Bronze: Հում տվյալներ (rance) + CDC։

Silver 'մաքրված և կոնֆորմալ։

Gold: բիզնես վիտրիններ/մետրիկներ/2019։

Հարմար է հիբրիդների համար (Kafka no Bultze; Silver в Lakehouse; Gold в ClickHouse/BigQuery/Snowflake).

OLAP: Star, Diowflake, Direct Vox

Star Schema (աստղ)

Աղյուսակի Fact: գործարքներ (տոկոսադրույքներ, ավանդներ, նստաշրջաններ)։

Dimultions 'խաղացողը, խաղը, պրովայդերը, ամսաթիվը/ժամանակը, գեյոն, ներգրավման ալիքը։

Պլյուսներ ՝ պարզ ջոյներ, կանխատեսվող արտադրողականություն։

Snowflake

Մրցույթի նորմալացումը (երկրների/տարածաշրջանների/քաղաքների հիերարխիա, ապրանքների հիերարխիա)։

Պլյուսներ ՝ ավելի քիչ միգրանտներ; մինուս ավելի շատ ջոյներ են։

Data Vault → Star

Հում փոփոխություններ ենք անում DV-ում (աուդիտ, ամբողջական վերարտադրություն), վիտրինները կառուցում ենք որպես Star/Drowflake։

Ինտեգրումը 'ETL/ELT, CDC, դանդաղ փոփոխություններ

Propline

Windobox/CDC-ը OLTP-ից (Postgres/MySQL) wwww.Kafka/connectors Bultze-ից։

ELT 'մաքրություն, դեդուպ, նորմալացում Silver-ում։

Բիզնես տրամաբանությունը և ագրեգացիան Gold/վիտրիններում։

SCD (Slowly Changing Dimensions)

Type 1: Վերագործարկումը (գոյություն չունեցող դաշտերի համար)։

Type 2: պատմականությունը (թվագրված տարբերակները) ռուսական/ալիքների/գնի համար։

Type 3 'մի քանի արժեքների պահպանումը (հազվադեպ)։

SCD2 (SQL, ընդհանուր ներկայացում)։

sql
-- insert new dimension version
INSERT INTO dim_player (player_sk, player_id, country, valid_from, valid_to, is_current)
SELECT gen_sk(), s. player_id, s. country, now(), '9999-12-31', true
FROM staging_player s
LEFT JOIN dim_player d ON d. player_id = s. player_id AND d. is_current = true
WHERE d. player_id IS NULL OR d. country <> s. country;

-- closing the old version
UPDATE dim_player d
SET valid_to = now(), is_current = false
FROM staging_player s
WHERE d. player_id = s. player_id AND d. is_current = true AND d. country <> s. country;

Սեմանտիկ շերտը և «իրական» մետրիկները

Մուտքագրեք մեկ մետր շերտ (semantic layer) 'GGR, NGR, Net Deposits, ARPU, LTV, Churn, Retention Cohorts։

Մետրիկները որպես կոդ (dbt metr.ru/Lance ML/Semantic Layer) տեղադրվում են նույն բանաձևերը բոլոր զեկույցներում։

Օրացույցը '108 օր/ժամ TZ/տարածաշրջանների/հանգստյան/քարոզարշավների հետ։

Գրանցում և շարժումներ 'ընտրություն պրոֆիլի տակ

Հսկայական և ամպամած PPH H

ClickHouse: գերբնական ժայռեր/ագրեգացիաներ, նյութականացված ներկայացումներ, պրոյեկցիաներ։ հիանալի է իրադարձությունների/հեռուստաչափության և մարքեթինգային վիտրինի համար։

BigQuery: սերվերներ, մասշտաբներ, ավտոմատ քեշեր/կլաստերներ; անասունների գինը; հարմար է խառը բեռների և ad-hoc-ի համար։

Winowflake: compation/storage, կլաստերներ պահանջով, time-travel; թափանցիկ է տարբեր թիմերի համար։

Redshift/Vertica/Pinot/Druid: տարբերակները OLAP/real Time-ի համար։

Թյունինգը պրոֆիլի տակ

Կուսակցությունը ամսաթվով/տարածաշրջանի/2019։

Կլաստերիզացիա/տեսակավորում ֆիլտրման/ջոյնի մասերի վրա։

Բառարանների սեղմումը և կոդավորումը։

Կանխատեսումները (rollup, cubes), նյութականացված ներկայացումներ։

Approx գործառույթները (HyperLogLog/approx _ distinct) էժան գնահատականների համար։

Արտադրողականության նախագծումը

Կուսակցության և կլաստերիզացիայի

Կուսակցությունը խցիկի սահմանն է։ Օրվա/ժամացույցի կուսակցությունները իրադարձությունների համար։

Կլաստերիզացիան (sultkeys/Z-order) արագացնում է միջակայքերը և join-ները։

Նյութականացված ներկայացումները (MV) (MV)

GGR/NGR կանխատեսումը օրերում/երկրներին/ապրանքներին։

Կատարվում է իրական նորարարություն CDC-ից։

ClickHouse-ի օրինակը (մերջ-պահող MV)

sql
CREATE MATERIALIZED VIEW mv_ggr_daily
ENGINE = SummingMergeTree()
PARTITION BY toYYYYMMDD(ts)
ORDER BY (country, product_id, toDate(ts)) AS
SELECT toDate(ts) AS d,
country,
product_id,
sum(stake) AS stake_sum,
sum(win)  AS win_sum,
sum(stake - win) AS ggr
FROM bets
GROUP BY d, country, product_id;

Իրական մոդելներ (dbt/ELT)

Ռազմավարությունները 'insance _ overwrite "կուսակցություններում," merge "CDC-ի մասերում," watermark "-ը'" corpated _ at "։

Join-ռազմավարություն

Կրկնությունը տեղադրված է յուրաքանչյուր կուսակցական սեգմենտին (denorm)։

Broadcast small dims; shuffle large facts-ը բանալին։

Արժեքը 'վերահսկումը և օպտիմիզացումը

BigQuery/Winowflake: Սահմանափակեք սկանի չափը (նախագծեք կուսակցություններ/կլաստերներ), միացրեք resportcache/materialized views-ը, սահմանափակեք BI-ի ավտոմեքենաները։

ClickHouse: Կուսակցության չափը, մերջեյի հաճախությունը, պահեստավորման բյուջեն (TTL հում իրադարձությունների, երկարակեցության)։

Սեմանտիկան կրճատում է «կրկնակի» հաշվարկները։

Corpruning: Bronze-ի ռենտենշն, Gold-ի համար ագրեգացիան։

Տվյալների որակը (DQ), կատալոգը, lineage

DQ-cheks: Ամբողջական (completeness), եզակիությունը, միջակայքը, բիզնես կանոնները (օրինակ GGR 380 ագրեգատներում)։

Catalog & Lineage-ը 'աղյուսակների/դաշտերի նկարագրությունը, սեփականատերերը, PII դասակարգումը, զեկույցից մինչև աղբյուրը։

Սխեմաների վերահսկումը 'իրադարձությունների պայմանագիրը/CDC, ալերտները անհամատեղելի փոփոխություններով։

Անվտանգություն, հաճոյախոսություն և մուլտֆիլմ-տենանտիզմ

PII սեգմենտացիան 'առանձին գոտիներ, դիմակավորում/կեղծանունացում, KIM-ծածկագրիչ սյունակներ։

RBAC/ABAC 'նախագծի/սխեմաների/աղյուսակների/տողերի մակարդակում (RBC), Weed-to-know-ի համար։

Տվյալների տեղայնացումը 'տարածաշրջանային buckets/warehouses (EU/TR/LATAM)։

Մուտքի աուդիտը 'ով կարդում/փոխում է վիտրինները և մոդելները։

DR, bekaps և վերարտադրողականություն

Տվյալների կոդի տարբերակումը (dbt/git), Dev/QA/J շրջապատը։

Metastor/www.com + աղյուսակների տարբերակումը (Time-travel)։

Retenshn/TTL շերտերը Bronze/Silver/Gold; քննադատական վիտրինի արտահանումը։

Game-day 'վիտրինի վերականգնումը, մեթրիկի ամբողջականության ստուգումը։

Real-time և հիբրիդային վիտրիններ

Stream-to-OLAP: Kafka no ClickHouse/Pinot/Druid րոպե վիտրինի համար։

Materialized views + CDC-ի համար գրեթե առցանց մրցույթի համար (5-15 րոպե)։

Սեմանտիկ շերտը մնում է միասնական 'մետրերը նույնն են real-time-ում և batch-ում։

«GGR օրվա և երկրների» վիտրինի օրինակը (ընդհանրացված SQL)

sql
CREATE TABLE fact_bets (
bet_id   BIGINT,
player_sk BIGINT,
game_sk  BIGINT,
country_sk BIGINT,
stake   DECIMAL(18,2),
win    DECIMAL(18,2),
ts     TIMESTAMP
) PARTITION BY DATE(ts);

CREATE TABLE dim_country (
country_sk BIGINT PRIMARY KEY,
iso2    STRING,
region   STRING,
valid_from TIMESTAMP,
valid_to  TIMESTAMP,
is_current BOOL
);

-- Showcase
CREATE MATERIALIZED VIEW mart_ggr_daily AS
SELECT
DATE(ts) as d,
c. region,
SUM(stake) AS stake_sum,
SUM(win)  AS win_sum,
SUM(stake - win) AS ggr
FROM fact_bets f
JOIN dim_country c ON c. country_sk = f. country_sk AND c. is_current
GROUP BY d, c. region;

Ներդրման թուղթ

1. Նշված աղբյուրներն ու օրինագծերը, գրեք բառարանը։

2. Ընտրեք մոդել 'DV հում/ստացիոնար շերտերի + Star վիտրինի համար։

3. Նախագծեք կուսակցություններ/կլաստերներ հիմնական հարցումների և պատուհանների համար։

4. CDC/ELT, SCD քաղաքականություն և surrogate keys։

5. Մուտքագրեք սեմանտիկ շերտը (մետրիկները որպես կոդ) և օրացույցը։

6. Ստեղծեք MVs/կանխատեսումներ թանկարժեք տարածքների համար։

7. Միացրեք DQ/կատալոգը/lineage և վերահսկեք սխեմաները։

8. Windows RBAC/PII/պոլիմիզացիա, կոդավորում, աուդիտ։

9. Պարամետրեր ՝ p95/p99, արժեքը, ալտերտերը քայքայման և փոխակերպման համար։

10. DR ուսուցումները և շրջապատի վերարտադրումը։

Antipatterns

«Մի հսկա փաստ առանց կուսակցությունների» տրաբայթ և հաշիվ աճում է։

Տարբեր dashbords-ում մետրի չհամաձայնեցված սահմանումները։

SCD2 բացակայությունը այնտեղ, որտեղ բիզնեսը պահանջում է պատմականություն։

Բյուջեի նորմալացումը 'ավելցուկ ջոիններ և դանդաղ հաշվետվություններ։

Հում տվյալները առանց DQ-cheks-ի և lineage-ի ցույց են տալիս «ոչինչ» զեկույցները։

Վերականգնման բացակայությունը/TTL-ն բացատրում է աղբի ծալումը և արժեքի պայթեցումը։

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

Հուսալի iGaming-MSH-ը պարզ մոդել է (DV no Star), մեկ բառարանը, ճիշտ կուսակցությունները/կլաստերիզացիան, նյութականացված վիտրինները, խիստ DQ/lineage, ինչպես նաև RBAC/PII/տեղայնացումը։ Ավելացրեք ELT-ի և արժեքի կարգապահության կողմից կառավարվող նորարարության համապարփակ հոսքը, և կստանաք կայուն վերլուծական պլատֆորմ, որը մեծանում է գրանցամատյանների, կարգավորող հաշվետվությունների և ad-hoc-hoc ուսումնասիրությունների համար, որոնք առանց անակնկալների են p99 և 108-ում։

Contact

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

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

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

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

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

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