GH GambleHub

მონაცემთა საცავი და OLAP მოდელები

(განყოფილება: ტექნოლოგიები და ინფრასტრუქტურა)

მოკლე რეზიუმე

მონაცემთა საცავი (DWH) არის iGaming ანალიტიკის დამხმარე ფენა: რეგულატორების მოხსენებები, პროდუქციის/ბაზრების მომგებიანობა, კოჰორტული LTV, ანტიფროდიული ანალიტიკა, CRM სეგმენტი და რეალურ დროში დაშბორდები. სტაბილური DWH აგებულია წმინდა მონაცემთა მოდელზე (Star/Snowflake/Data Vault), საიმედო ინტეგრაცია (ETL/ELT + CDC), გააზრებული შესრულება (სვეტების ძრავები, წვეულებები, MVs), მკაცრი სემანტიკა, უსაფრთხოება/PII II - ი და ღირებულება.

არქიტექტურული მიდგომები

კლასიკური DWH (Kimball vs Inmon)

კიმბალი (Dimensional/Star/Snowflake): სწრაფი ანგარიშების ფანჯრები; ფოკუსი ფაქტებზე და გაზომვებზე, SCD ისტორია. სწრაფი დრო-ტუ-ველი.
Inmon (Corporate Information Factory): ნორმალიზებული ბირთვი + ფანჯრები; უფრო რთულია დროში, მაგრამ მკაცრად და ცენტრალურად.

Data Vault 2. 0

Hubs-Links-Satellites: მასშტაბური „ნედლეული“ მოდელი ცვლილებების წყაროების ინტეგრაციისა და აუდიტის მიზნით. Star ფანჯრები შენდება თავზე.

Data Lake / Lakehouse

Data Lake: ნედლეული ფაილები (Parquet/ORC) + კატალოგები (Hive/Glue/Unity/Metastore).
Lakehouse: ერთი ფენა batch/stream, ACID ცხრილი (Delta/Iceberg/Hudi), time-travel, upsert/merge, კომპაქტური ფაილები, Z-order/Clustering.

Medallion (Bronze–Silver–Gold)

Bronze: ნედლეული მონაცემები (raw) + CDC.
სილვერი: გაწმენდილი და კონფორმული.
ოქროს: ბიზნესის ფანჯრები/მეტრიკა/კუბურები.
შესაფერისია ჰიბრიდებისთვის (Kafka - Bronze; Silver в Lakehouse; Gold в ClickHouse/BigQuery/Snowflake).

OLAP მოდელები: Star, Snowflake, Data Vault

Star Schema (ვარსკვლავი)

ცხრილი: გარიგებები (განაკვეთები, ანაბრები, სესიები).
Dimensions: მოთამაშე, თამაში, პროვაიდერი, თარიღი/დრო, გეო, მოზიდვის არხი.
დადებითი: მარტივი ჯოინები, პროგნოზირებული შესრულება.

Snowflake

გაზომვების ნორმალიზაცია (ქვეყნების/რეგიონების/ქალაქების იერარქიები, პროდუქციის იერარქია).
დადებითი: ნაკლები დუბლირება; მინუს - მეტი ჯოინი.

Data Vault → Star

ჩვენ ვქმნით ნედლეულ ცვლილებებს DV- ში (აუდიტი სრული რეპროდუქციით), ჩვენ ვქმნით მოხსენების ფანჯრებს, როგორც Star/Snowflake.

ინტეგრაცია: ETL/ELT, CDC, ნელი ცვლილებები

Pipline

Outbox/CDC OLTP (Postgres/MySQL) - Kafka/კონექტორები Bronze.
ELT: გაწმენდა, დედობა, ნორმალიზაცია Silver- ში.
ბიზნეს ლოგიკა და აგრეგაცია ოქროს/ფანჯრებში.

SCD (Slowly Changing Dimensions)

ტიპი 1: გადაწერა (უმნიშვნელო ველებისთვის).
ტიპი 2: ისტორიულობა (დათარიღებული ვერსიები) - სტანდარტი პროფილების/არხების/ფასებისთვის.
ტიპი 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;

სემანტიკური ფენა და „ნამდვილი“ მეტრიკა

შეიყვანეთ ერთი მეტრიკის ფენა: GGR, NGR, Net Deposits, ARPPU, LTV, Churn, Retention Cohorts განმარტებები.
მეტრიკა, როგორც კოდი (dbt metrics/LookML/Semantic Layer), იგივე ფორმულებია ყველა ანგარიშში.
კალენდარი: თარიღების/საათების ცხრილი TZ/რეგიონების/შაბათ/კამპანიების ატრიბუტებით.

შენახვა და ძრავები: არჩევანი პროფილის ქვეშ

სვეტები და ღრუბლოვანი DWH

ClickHouse: სუპერ სწრაფი სკანერები/აგრეგაციები, მატერიალიზებული წარმოდგენები, პროგნოზები; გამოირჩევა მოვლენებისთვის/ტელემეტრიისთვის და მარკეტინგის ფანჯრებისთვის.
BigQuery: სერვერის ლესი, მასშტაბი, ავტომატური ქეში/მტევანი; სკანის ფასი; მოსახერხებელი შერეული დატვირთვისთვის და ad-hoc.
Snowflake: კომპლექსის/მშენებლობის განყოფილება, მოთხოვნის მტევანი, დრო-მოგზაურობა; გამჭვირვალე სხვადასხვა გუნდისთვის.
Redshift/Vertica/Pinot/Druid: ვარიანტები OLAP/real time.

პროფილის ტიუნინგი

განაწილება თარიღით/რეგიონში/არხზე.
კლასტერიზაცია/დახარისხება ფილტრაციის/ჯოინის გასაღებებზე.
ლექსიკონის შეკუმშვა და კოდირება.
წინამორბედები (rollup, cubes), მატერიალიზებული იდეები.
Approx ფუნქციები (HyperLogLog/approx _ distinct) იაფი შეფასებისთვის.

შესრულების დიზაინი

განლაგება და კლასტერიზაცია

წვეულება არის განყოფილების საზღვარი. დღის/საათების ნაწილები მოვლენებისთვის.
კლასტერიზაცია (sort keys/Z-order) - აჩქარებს დიაპაზონს და join-y.

მატერიალიზებული წარმოდგენები (MV)

პროგნოზი GGR/NGR დღეების/ქვეყნების/პროდუქტების მიხედვით.
CDC ნაკადის სავარაუდო განახლება.

ClickHouse- ის მაგალითი (MV Merge):
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)

სტრატეგიები 'insert _ overwrite' ნაწილებად, 'merge' CDC კლავიშებზე, "watermark" "განახლებული _ at '.

Join სტრატეგიები

გაზომვის რეპლიკა თითოეულ პარტიულ სეგმენტში (დენორმი).
Broadcast small dims; shuffle large facts, გასაღები დახარისხებით.

ღირებულება: კონტროლი და ოპტიმიზაცია

BigQuery/Snowflake: შეზღუდეთ სკანის ზომა (დაპროექტეთ ნაწილები/მტევანი), ჩართეთ result cache/materialized views, შეიზღუდეთ BI მანქანის სტუმარი.
ClickHouse: წვეულებების ზომა, მერჯების სიხშირე, შენახვის ბიუჯეტი (TTL ნედლეული მოვლენებისთვის, აგრეგაციები გამძლეა).
სემანტიკა მეტრიკა ამცირებს „ორმაგ“ გამოთვლებს.
Data pruning: retenshne for Bronze, აგრეგაცია Gold- ისთვის.

მონაცემთა ხარისხი (DQ), კატალოგი, ხაზები

DQ ჩეკები: სისრულე, უნიკალურობა, დიაპაზონი, ბიზნეს წესები (მაგალითად, GGR-0 ერთეულებში).
Data Catalog & Lineage: ცხრილების/ველების აღწერები, მფლობელები, PII კლასიფიკაცია, ანგარიში წყაროდან.
სქემების კონტროლი: ღონისძიებების ხელშეკრულება/CDC, ალერტები შეუთავსებელი ცვლილებებით.

უსაფრთხოება, შესაბამისობა და მულტფილმი-ტენანტობა

PII სეგმენტი: ცალკეული ზონები, შენიღბვა/ფსევდონიზაცია, სვეტები KMS დაშიფვრით.
RBAC/ABAC: როლები პროექტის დონეზე/სქემები/ცხრილები/სტრიქონები (RLS), ბუჩქები „ახლა“.
მონაცემთა ლოკალიზაცია: რეგიონალური buckets/warehouses (EU/TR/LATAM).
წვდომის აუდიტი: ვინ წაიკითხა/შეცვალა ფანჯრები და მოდელები.

DR, ზურგჩანთები და რეპროდუქცია

მონაცემთა კოდის (dbt/git) ვერსია, Dev/QA/Breakers გარემოცვა.
მეტასტორის/კატალოგის სარტყელები + ცხრილების ვერსირება (დროის ტრაველი).
Retenshn/TTL ფენები Bronze/Silver/Gold; კრიტიკული ფანჯრების ექსპორტი.
თამაშის დღე: ფანჯრების აღდგენა, მეტრიკის მთლიანობის შემოწმება.

ნამდვილი დრო და ჰიბრიდული ფანჯრები

Stream to-OLAP: Kafka - ClickHouse/Pinot/Druid წუთიერი ფანჯრებისთვის.
Materialized views + CDC თითქმის ონლაინ განახლებისთვის (5-15 წუთი).
სემანტიკური ფენა რჩება ერთგვაროვანი: მეტრიკები იდენტურია რეალურ დროში და 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/დირექტორია/ხაზის კონტროლი და სქემების კონტროლი.
8. დაადგინეთ RBAC/PII/ლოკალიზაცია, დაშიფვრა, აუდიტი.
9. მონიტორინგი p95/p99, ღირებულება, ალერტები დეგრადაციისა და გადაადგილების შესახებ.
10. რეგულარული DR სწავლებები და გარემოს რეპროდუქცია.

ანტიპატერები

„ერთი გიგანტური ფაქტი წვეულებების გარეშე“ არის ტერაბიტის სკანერები და ანგარიში იზრდება.
მეტრის არაკოორდინირებული განმარტებები სხვადასხვა დაშბორდში.
SCD2- ის არარსებობა, სადაც ბიზნესი მოითხოვს ისტორიულობას.
გაზომვების ნაადრევი ნორმალიზაცია: დამატებითი ჯოინები და ნელი მოხსენებები.
უმი მონაცემები DQ შემოწმების და ხაზის გარეშე არის „არაფერი“.
გადაკეთების არარსებობა/TTL - ნაგვის შენახვა და ღირებულების აფეთქება.

შედეგები

საიმედო iGaming-DWH არის მკაფიო მოდელი (DV-Star), ერთი მეტრული ლექსიკონი, სწორი ნაწილები/კლასტერიზაცია, მატერიალიზებული ფანჯრები, მკაცრი DQ/ხაზები, ასევე RBAC/PII/ლოკალიზაცია. დაამატეთ ჰიბრიდული სიახლის ნაკადი, რომელსაც მართავს ELT და ღირებულების დისციპლინა - და მიიღეთ სტაბილური ანალიტიკური პლატფორმა, რომელიც ფართოვდება ტურნირებზე, მარეგულირებელ მოხსენებებზე და ad-hoc- ზე, p99 და ბიუჯეტში სიურპრიზების გარეშე.

Contact

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

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

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

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

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

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