GH GambleHub

חנויות נתונים ומודלים של OLAP

(סעיף: טכנולוגיה ותשתיות)

תקציר

מחסן נתונים (DWH) - שכבת האנליטיקה של iGaming: דיווחים לרגולטורים, רווחיות על ידי מוצר/שוק, Cohort LTV, אנליטיקה נגד הונאה, קטעי CRM ולוחות מחוונים בזמן אמת. DWH בר קיימא בנוי על מודל נתונים ברור (Star/Snowflake/Data Vault), אינטגרציה חזקה (ETL/ELT + CDC), ביצועים מתחשבים (מנועי עמודים, מסיבות, MVS), סמנטיקה מדעית קפדנית, אבטחה/PII I I I.

גישות ארכיטקטוניות

קלאסי DWH (קימבל נגד אינמון)

קימבל (ממדי/כוכב/פתית שלג): דיווחים מהירים; להתמקד בעובדות ומימדים, היסטוריית SCD. זמן-ערך מהיר.
Inmon (מפעל מידע תאגידי): מנורמל ליבה + חנויות; כבד יותר בזמן, אבל באופן מוחלט ומרכזי.

כספת נתונים 2. 0

Hubs-Links-Satellites: מודל ”גולמי” עבור שילוב מקורות וביקורת שינויים. חנויות כוכבים נבנות על גבי.

Data Lake/Lakehouse

אגם נתונים: קבצים גולמיים (Parquet/ORC) + ספריות (כוורת/דבק/אחדות/מטסטורה).
Lakehouse: שכבה יחידה עבור אצווה/זרם, טבלאות ACID (דלתא/קרחון/האדי), זמן נסיעה, אופסרט/מיזוג, קבצים קומפקטיים, Z-order/Clustring.

מדליון (ברונזה-כסף-זהב)

ברונזה: מידע גולמי (גולמי) + CDC.
כסף: מטוהר וקונפורמלי.
זהב: ארגזים עסקיים/מדדים/קוביות.
מתאים להכלאה (Kafka # Bronze; סילבר לייקהאוס (באנגלית: Silver Lakehouse; Gold ClickHouse/BigQuery/Snowflake).

דגמים: כוכב, פתית שלג, כספת נתונים

סכמת כוכבים (כוכב)

טבלאות עובדות: עסקאות (תעריפים, הפקדות, הפעלות).
ממדים: שחקן, משחק, ספק, תאריך/זמן, גיאו, ערוץ משיכה.
מקצוענים: ג 'ונים פשוטים, ביצועים צפויים.

פתית שלג

נורמליזציה ממדית (מדינה/אזור/היררכיות עיר, היררכיות מוצר).
מקצוענים: פחות שכפול; מינוס - יותר ג 'ונים.

כספת נתונים # Star

אנחנו מוסיפים שינויים גולמיים ל DV (ביקורת, רבייה מלאה), לבנות חלונות דיווח כמו כוכב/פתית שלג.

אינטגרציה: ETL/ELT, CDC, שינויים איטיים

צינור

Outbox/CDC מ ־ OLTP (Postgres/MySQL) @ Kafka/ec Bronze מחברים.
ניקיון, דה-אפ, נורמליזציה בסילבר.
היגיון עסקי והצטברות בגולד/חנויות.

SCD (לאט לאט משנה ממדים)

סוג 1-Overwrite (עבור שדות לא חיוניים).
סוג 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, Net Deposits, ARPU, LTV, Churn, Retitation Cohorts.
Metrics as code (dbt metrics/BatchML/Semantic Layer).
לוח שנה: שולחן תאריך/שעה עם תכונות של TZ/אזורים/סופי שבוע/קמפיינים.

כספות ומנועים: בחירת פרופיל

טור וענן DWH

בית ClickHouse: סריקות אולטרה-פאסט/צבירה, ייצוגים ממשיים, תחזיות; שונה עבור אירועים/טלמטריה ושיווק תצוגות.
Bigquery: Serverless, scale, automatic caps/clusters; מחיר לכל סריקה; נוח לעומסים מעורבים ואד-הוק.
פתית שלג: ענף חישוב/אחסון, אשכולות לפי דרישה, מסע בזמן; שקוף לצוותים שונים.
הילוך מחדש/ורטיקה/פינו/דרואיד: אפשרויות ל ־ OLAP/בזמן אמת.

כוונון פרופיל

מחלקים לפי תאריך/אזור/ערוץ.
התקבצות/מיון על ידי מסנן/מקשי ג 'וין.
דחיסה וקידוד על ידי מילונים.
קוביות (preaggregations), תצוגות ממשיות.
פונקציות (HyperLogLog/approx_distinct) עבור דירוגים זולים.

הנדסת ביצועים

מחיצות וקיבוצים

המסיבה היא הגבול של התא. מסיבות יום/שעה לאירועים.
התקבצות (סוג מפתחות/סדר Z) - מאיצה את הטווחים ומצטרפת.

צפיות ממשיות (MVs)

GGR/NGR טרום דיווח ביום/בארץ/מוצר.
עדכון מצטבר מזרם המרכז לבקרת מחלות.

דוגמה ל-ClickHouse (Merge-Holding 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)

אסטרטגיות ”הוסף _ overrite 'by party”, התמזג' על ידי מפתחות CDC, 'watermark' by 'updated _ at.

להצטרף-אסטרטגיות

העתק של מדידות בכל מקטע אצווה (denorm).
שידור מטבעות קטנים; לערבב עובדות גדולות ממויין על ידי מפתח.

עלות: שליטה ואופטימיזציה

BigQuery/Snowflake: הגבלת גודל הסריקה (progress parties/clusters), לאפשר תצוגות מטמון/ממשות תוצאה, להגביל ביקושים אוטומטיים BI.
ClickHouse: גודל רב, תדר מרג 'י, תקציב אחסון (TTL לאירועים גולמיים, צבירה היא עמידה).
סמנטיקה מדידה מפחיתה חישוב ”כפול”.
גיזום נתונים: שמירה על הברונזה, צבירה עבור זהב.

איכות נתונים (DQ), קטלוג, שושלות

DQ-checks: שלמות, ייחודיות, טווחים, כללי עסקים (לדוגמה, GGR-0 בצבירים).
קטלוג נתונים ושושלת: תיאורי טבלה/שדה, בעלים, סיווג PII, איתור דו "ח למקור.
תוכניות בקרה: חוזה לאירועים/מרכז לבקרת מחלות, התראות לשינויים לא מתאימים.

בטיחות, ציות וריבוי דירות

מקטע PII: אזורים בודדים, מיסוך/פסאודונימיזציה, עמודות עם הצפנת KMS.
RBAC/ABAC: תפקידים במיזם/סכימה/טבלה/שורה (RLS), סלילים ל ”צורך לדעת”.
לוקליזציה של נתונים: דליים/מחסנים אזוריים (EU/TR/LATAM).
ביקורת גישה: מי קרא/שינה חנויות ומודלים.

DR, גיבויים ורבייה

קוד נתונים versioning (dbt/git), סביבת Dev/QA/Prod.
מטסטור/קטלוג תמונות + טבלאות מסע בזמן.
שימור/שכבות TTL ברונזה/כסף/זהב; יצוא של חנויות קריטיות.
יום המשחק: לשחזר תצוגות, לבדוק את שלמות המדדים.

זמן אמת וחנויות היברידיות

זרם ל-OLAP: Kafka # ClickHouse/Pinot/Druid עבור תצוגות דקות.
תצוגות ממשיות + CDC לעדכונים כמעט מקוונים (5-15 דקות).
השכבה הסמנטית נשארת זהה: המדדים זהים בזמן אמת ואצווה.

GGR ביום וקאנטרי Showcase Example (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, ומפתחות פונדקאית.
5. הזן שכבה סמנטית (מדדים כקוד) ולוח שנה של תאריך/שעה.
6. צור MVs/pregregations לדיווחים יקרים.
7. אפשר DQ/directory/lineage ו ־ schema control.
8. הגדר RBAC/PII/localization, הצפנה, ביקורת.
9. הגדרת p95/p99 ניטור, עלות, התראות על השפלה וצפה.
10. תרגילי ד "ר רגילים והתרבות של סביבות.

אנטי דפוסים

”עובדה אחת ענקית ללא מסיבות” = טרה בייט סורק ואת הציון גדל.
הגדרות לא עקביות של מדדים בלוחות מחוונים שונים.
חוסר SCD2 שבו העסק דורש היסטוריה.
נורמליזציה מוקדמת של מדידות: ג 'ונים מיותרים ודיווחים איטיים.
נתונים גולמיים ללא בדיקות DQ ודיווחי שושלת = ”כלום”.
העדר אישור/TTL # אחסון אשפה ופיצוץ של עלות.

תקציר

iGaming-DWH אמין הוא מודל ברור (DV # Star), מילון מטרי יחיד, מחיצות/קיבוצים נכונים, חנויות ממומשות, DQ/lineage קפדני, ו-RBAC/PII/localization. הוסף זרימה היברידית לטריות, מונע ELT ומשמעת ערך - וקבל פלטפורמת אנליטיקה בת קיימא המאזנת טורנירים, דו "חות רגולטוריים ומחקר ad-hoc ללא הפתעות בp99 ותקציב.

Contact

צרו קשר

פנו אלינו בכל שאלה או צורך בתמיכה.אנחנו תמיד כאן כדי לעזור.

התחלת אינטגרציה

Email הוא חובה. Telegram או WhatsApp — אופציונליים.

השם שלכם לא חובה
Email לא חובה
נושא לא חובה
הודעה לא חובה
Telegram לא חובה
@
אם תציינו Telegram — נענה גם שם, בנוסף ל-Email.
WhatsApp לא חובה
פורמט: קידומת מדינה ומספר (לדוגמה, +972XXXXXXXXX).

בלחיצה על הכפתור אתם מסכימים לעיבוד הנתונים שלכם.