Systel Lake և կենտրոնացված պահեստավորում
(Բաժին ՝ Տեխնոլոգիաներ և ենթակառուցվածքներ)
Live ռեզյումե
Systel Lake-ը հումքի կենտրոնացված պահեստավորման և համախմբված ամսաթվերի հիմնական շերտն է։ IGaming-ի համար նա ընդունում է 2019/վճարումներ/խաղային լոգեր, գործընկերային հեռացում, CDC OLTP-ից և տալիս է նրանց վերլուծությունը, հակաֆրոդը, CRM և BI-ը։ Ժամանակակից պրակտիկան Lakehouse-ն է 'բաց կոլոնային բջիջներ + ACID պլաստմասե շերտ + մեկ գրացուցակ + գործարքի/տվյալների տարբերակների։ Հաջողության բանալին սխեմաների և կուսակցության կարգապահությունն է, արժեքի կառավարումը, PII անվտանգությունը և խիստ վիրահատական մշակույթը (DQ, lineage, DR)։
Black Lake դերը iGaming պլատֆորմում iGaming պլատֆորմում
Միակ ճշմարտությունը վերլուծության համար 'հում և մաքրված տվյալների պահպանումը անկախ աղբյուրից և ձևաչափից։
Ճկունություն 'աջակցություն batch և streaming (CDC/կոնեկտորներ, event-strimes)։
Էվոլյուցիան 'հում Bultze-ից մինչև Silver-ը և Gold-ի բիզնես վիտրինները։
Պատասխանատվության բաժանումը 'պրոդ ծառայությունները գրում են անվադողեր/սթեյջինգ, վերլուծաբան/ML սպառում է Lake շերտերից։
Ճարտարապետական մոդելներ ՝ Lake vs Lakehouse
DireLake (S3/ADMS/GCS + Parquet/ORC) 'շեմա-on-read, էժան պահեստ, ձևերի ճկունություն։
Lakehouse (Delta/Iceberg/Hudi Parquet): ACID գործարքներ, ups.ru/merge, time-travel, կոմպակտ ֆայլեր, վակուում, ինդեքսավորում/կլաստերիզացիա։
Պրակտիկա 'iGaming-ի համար օգտակար է Lakehouse-ը որպես հիմնական շերտ, իսկ արտաքին OLAP-ը (ClickHouse/BigQuery/Winowflake/Pinot)' որպես վիտրիններ և սպեկտրային շարժիչներ։
Շերտերի մեդալային մոդել
Bronze (Raw/Staging) 'հում ֆայլեր աղբյուրներից (CDC, լոգ-տիկնայք, CSV, webhooks)։ Նվազագույն վալիդացիան, «ինչպես կա»։
Silver (Diormed) 'մաքրություն/dedup, վալետների/ժամացույցի գոտիների նորմալացում, տիպ, SCD չափումներ, կոնսիստենտ բանալիներ։
Gold (Marts/Serving) 'GGR/NGR/LTV/Retention-ի համար, նյութականացված վիտրիններ BI/CRM/հակաֆրոդ։
TTL 'Bronze-ի ագրեսիվ, չափավոր Silver-ում, երկարաժամկետ Gold ագրեգատների վրա։
Windows և պլաստիկ շերտեր
Գաղութները ՝ Parquet (դե ֆակտո), ORC։
Բաց պլաստիկ կոմպոզիցիաներ (ACID)
Delta Lake-ը գործարքներ է, «MERGE», Time-travel, օպտիմիզացիա/վակում, Z-order։
Apache Iceberg - աղյուսակներ մանիֆեստներով/դիպուկահարներով, թաքնված կուսակցությունը, «MERGE/MSETE/MSETE», TIM-travel։
Apache Hudi-ը copy-on-write/merge-on-read, upsoft-օպտիմիզացիա, ռուսական ռեմենտալ արդյունքներ։
Ընտրեք էկոհամակարգ և պահանջներ ups.ru/striming/սխեմաների էվոլյուցիայի ճկունություն։
Կատալոգը և մետաստորը
Միասնական կատալոգը (Hive Metastore/Unity/Glue/պլատֆորմային կոդեր) պահպանում է սխեմաները, կուսակցությունները, տարբերակները, իրավունքները։
Պահանջները 'գործարքային համաձայնություն պլաստիկ շերտով, մի քանի շարժիչների աջակցություն (Spark, Trino/Presto, Flink, dbt), audit/lineage։
Սխեմաներ և էվոլյուցիա
Schema www.ract: Գրանցեք պարտադիր դաշտեր, տեսակներ, սեմանտիկա։ աղբյուրները տարբերակեք («schema _ version»)։
Էվոլյուցիա 'ավելացրեք օպորացիենտային դաշտերը, արգելում են փոփոխությունները առանց միգրացիայի։ ավտոմատ սխեմաների սխեմաները դելֆիններում։
PII-սեգմենտացիան 'զգայուն դաշտերը' առանձին սյունակների/աղյուսակների մեջ ծածկագրությամբ և առանձին իրավունքներով։
Կուսակցությունը և lay-out տվյալները
Ամսաթիվը/ժամ - իրադարձությունների հիմնական բանալին։ Դաշտի դոպը '«country», «contry», «tenium _ id»։
Hive-style путь: `s3://lake/bronze/payments/source=pspA/dt=2025-11-05/hour=13/part-0001. parquet`.
Կլաստերիզացիա/տեսակավորում ՝ Z-order/Softkeys հաճախակի ֆիլտրված (player _ id, country)։
Ֆայլի չափսը 'համբուրվել 112-1024 ՄԲ-ում; խուսափեք «small dies» (տե՛ ս ներքևում)։
Վիրտուալ սյունակները (Iceberg/Delta) թաքնված կուսակցության համար։
Խնդիրը small medes և կոմպակշն է
Աղբյուրները պատռում են փոքրիկ չանկերը և քայքայվում են սկաններն ու մետատվյալները։
Լուծումը 'պարբերական optimize/compaction (coalesce), compaction առաջադրանքների պլանավորող, ingestion, «wwww.Optimize» (եթե հասանելի)։
Merge-on-read vs copy-on-write-ի քաղաքականությունը հավասարակշռություն է ձայնագրման լատենտության և կարդալու արագության միջև։
Ingest: batch, stream, CDC
CDC-ն OLTP-ից (Debez.ru/connectors) մեջբերում է Bultze (րոպե թարմություն)։
Stream (Kafka/Flink/Spark Structured Streaming) www.Silver/Gold - (ups.ru/merge)։
Batch (գործընկերային հաշվետվություններ/CSV/JSON) - մանիֆեստների «ընդունիչների» միջոցով, դուբլների վերահսկումը www.ksum-ով։
Idempotency: բանալիներ (idempotency _ key), dedup (key, ts), «հիբրիդային նշաններ» (watermarks) հետագայում ժամանած գրառումների համար։
Տվյալների որակը (DQ) և lineage
DQ-cheks-ը 'ամբողջական, հաճախականության եզակիությունը, միջակայքը, հանրաքվեական ամբողջականությունը (երկրների/արժույթների ցուցակները), բիզնես կանոնները (GGR 380)։
Գծագիր ՝ կախվածության գրաֆիկ զեկույցից աղբյուրից, մոդելի կոդից և աղյուսակի սարքավորումներից։
Սխեմաների վերահսկումը 'ավտոմատ թեստեր back/forward-compat, որոնք արգելափակում են «կոտրող» փոփոխությունները։
Բեռնման աուդիտը 'ո՞ վ/երբ/քանի, մերժված կուսակցությունները, ռետրան։
Սերվինգը և հասանելիությունը
SQL շարժիչները ՝ Spark/Trino/Presto ad-hoc և փոխակերպման համար; dbt ELT մոդելների համար։
Real-time/near-real-time: Pinot/Druid/ClickHouse որպես վիտրիններ; Lakehouse-ը ռուսական իրական sink-ի միջոցով աղբյուրն է։
Windows Sharing: Աղյուսակների/դիպուկահարների գնդակը արտաքին թիմերին առանց պատճենների (եթե աջակցվում է ձևաչափով)։
Անվտանգություն, PII և մուլտֆիլմ-տենանտիզմ
Կոդավորումը ՝ at-rest (KFC) և in-transit (TFC)։
IAM/RBAC/ABAC 'դերերը 108/աղյուսակի/սյունակների/տողերի մակարդակում (դիմակավորում, դինամիկ քաղաքականություն)։
Հատվածները տարածաշրջաններով (ԵՄ/Թուրքիա/LatAm) 'բաքերի և հաշվարկային փամփուշտների մեկուսացում։
Multi-tenanty: namespace/www.ru և հետքերի նախածանցները, ֆիլտրերը '«ten.ru _ id», օպոզիանորեն' row-level policies։
Հասանելիության աուդիտ 'ընթերցանության լույսեր/մեթադինային, ռետենշնի և չհամապատասխանող ամսագրերի փոփոխություններ։
Արժեքի կառավարումը
Պահեստավորման դասարանները 'տաք (հաճախ ընթերցված) ստանդարտ դասարանում, արխիվը' սառը/Glacier դասարաններում TTL քաղաքական գործիչների հետ։
Կուսակցությունը/կլաստերները նվազեցնում են սկաններն ավելի քիչ, քան դոլարը։
Նյութականացված վիտրինները թանկ մետաղների համար։ BI արդյունքների քեշը։
Կոմպակշնը և «ֆայլի ճիշտ չափը» ավելի քիչ են, քան մետատվյալները և I/O.
Քվոտաները և լուծարումը 'կոոպերատիվ կլաստերների/ջոբայի, ամսաթվի/թիմի արժեքի հաշվետվությունները։
Աղբի հեռացումը '«VACUUM/REWRITE» պլաստիկ ձևերում, TTL Bultze-ում։
DR և վերարտադրողականությունը
Աղյուսակների տարբերակումը (time-travel) և դիպուկահարները։
Տանկերի և մետատվյալների քրոսոմային կրկնօրինակումը։
PITR 'աղյուսակների գործարքների ամսագրերի պահպանումը (Delta/Iceberg/Hudi) և wwww.plins։
Game-day: Վերականգնման և ռուսական տարածաշրջանների ուսուցումները։
Դիտարկումը և SLO
SLO թարմություն ՝ Bultze 355 րոպե, Silver 3515-30 րոպե, Gold 3560 րոպե (օրինակ)։
Metrics: ծավալ/col-ում, միջին չափսը, սկանավորման ժամանակը, բաց թողնված խմբաքանակի մասնաբաժինը, compaction հաճախականությունը, արժեքը/ամսաթիվը, DQ-ի սխալները, որոնք ուշացել են տվյալները։
Alerts 'small medes-ի աճը, արժեքի աճը, p95/p99 քայքայումը, DQ/սխեմաների խախտումը, strem-sinks։
Նեյմինգի և ճանապարհների կոնվենցիաները (ձևանմուշներ)
s3://<lake>/<layer>/<domain>/<dataset>/
source=<sys>/ # для Bronze dt=YYYY-MM-DD/
hour=HH/
country=XX/
Դանիացիների անունները ՝ «bets _ rance», «payments _ cdc», «players _ silver», «mart _ ggr _ daily»։
«ingest _ ts», «source», «schema _ version», «trace _ id», «tenium _ id»։
Օրինակներ (ընդհանրացված)
1) Iceberg: www.Silver-ը թաքնված կուսակցության հետ ամսաթվով
sql
CREATE TABLE silver. bets (
bet_id BIGINT,
player_id BIGINT,
country STRING,
stake DECIMAL(18,2),
win DECIMAL(18,2),
event_ts TIMESTAMP,
ingest_ts TIMESTAMP,
schema_version INT
)
PARTITIONED BY (days(event_ts))
TBLPROPERTIES ('format-version'='2');
2) Delta: wwww.re ups.ru CDC-ից
sql
MERGE INTO silver. players t
USING bronze. players_cdc s
ON t. player_id = s. player_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
3) TTL քաղաքականությունը Bronze-ի համար (գաղափար)
bronze/: keep 30 days silver/: keep 365 days (non-PII), 90 days (PII masked)
gold/marts/: keep 2–3 years (aggregated)
Ներդրման թուղթ
1. Ընտրեք պլաստիկ ձևաչափը (Delta/Iceberg/Hudi) և կատալոգը։ համաձայնեք շարժիչների հետ (Spark/Trino/Flink/dbt)։
2. Ռուսական մեդալային շերտերը, TTL կանոնները և թիմերի պատասխանատվությունը։
3. Ամրագրեք schema www.rac.ru, էվոլյուցիայի վերահսկումը, PII-սեգմենացիան և կոդավորումը։
4. Նախագծեք lay-out 'կուսակցություններ, սորտեր, ֆայլի չափսեր։ միացրեք compaction։
5. Patte ingest (CDC/stream/batch) գաղափարախոսությամբ և պապով։
6. Միացրեք DQ/lineage, մետատվյալների և աուդիտի կատալոգ։
7. SLO-ի իրականացումը թարմ/արժեքով, դաշբորդներն ու ալերտները։
8. Կազմակերպեք DR 'դիպուկահարներ/կրկնօրինակումներ/վերականգնում + ռուսական ուսմունքները։
9. Ստանդարտացրեք նյարդային և ճանապարհները, մետակոլոնները («ingest _ ts», «source», «schema _ version»)։
10. Վերցրեք Gold-վիտրինները և real-time serving համապատասխան OLAP/RT շարժիչները։
Antipatterns
Մեկ ընդհանուր «պայուսակ» առանց շերտերի և TTL-ի քաոսը և արժեքի պայթյունը։
Միայն մի ժամանակ, բացառությամբ երկրի/ապրանքի, խմբաքանակն իրականացվում է ծանր սկաններով։
Հոսքերը, որոնք ստեղծում են հազարավոր փոքր ֆայլեր/ժամ, առանց ընկերության։
Սխեմաների և DQ-ի վերահսկողության բացակայությունը բացատրում է «կոտրող» փոփոխությունները և զեկույցների անվստահությունը։
PII խառնուրդը Gold-Witrins-ի հետ առանց իրավունքների դիմակավորման/բաժանման։
Hardcod հասանելիության իրավունքները տանկերի մակարդակում, փոխարենը ռուսական և պլաստիկ քաղաքական։
Արդյունքները
Ժամանակակից Systel Lake-ը iGaming-ի համար Lakehouse-ն է, բաց պլաստիկ ձևաչափով, մեկ կատալոգով և մեդալային մոդել։ Սխեմաների/նվագակցությունների կարգապահություն, small prodes, DQ/lineage, PII անվտանգություն և ստոմոստային հիգիենան վերածվում է կայուն հիմքի 'էժան պահեստավորման համար, արագ ընթերցանության համար, կանխատեսելի SLO-ով և պատրաստ է III-ի համար։ վերլուծություն, near-real-time վիտրինի։