GH GambleHub

بحيرة البيانات والتخزين المركزي

(القسم: التكنولوجيا والهياكل الأساسية)

موجز موجز

بحيرة البيانات هي الطبقة الأساسية للتخزين المركزي للمواد الخام ومجموعات البيانات الموحدة. بالنسبة إلى iGaming، فإنه يقبل أحداث الرهان/الدفع/تسجيل الألعاب، والتحميلات التابعة، ومركز السيطرة على الأمراض من OLTP ويعطيها للتحليلات، ومكافحة الاحتيال، و CRM و BI. الممارسة الحديثة - Lakehouse: تنسيقات الأعمدة المفتوحة + طبقة جدول ACID + دليل واحد + إصدارات المعاملات/البيانات. مفتاح النجاح هو انضباط المخططات والتقسيم، وإدارة التكاليف، وأمن PII وثقافة التشغيل الصارمة (DQ، النسب، DR).

دور Data Lake في منصة iGaming

نقطة حقيقة واحدة للتحليلات: تخزين البيانات الأولية والمنقية بغض النظر عن المصدر والشكل.
المرونة: دعم الدفعة والبث (CDC/الموصلات، تدفقات الأحداث).
التطور: من البرونز الخام إلى حالات العمل الفضية والذهبية المطابقة.
تقسيم المسؤولية: تكتب خدمات الإنتاج إلى الإطارات/التدريج، وتستهلك التحليلات/ML من طبقات البحيرة.

النماذج المعمارية: ليك ضد ليكهاوس

Data Lake (S3/ADLS/GCS + Parquet/ORC): مخطط عند القراءة، تخزين رخيص، تنسيقات مرنة.
Lakehouse (Delta/Iceberg/Hudi over Parquet): معاملات ACID، المزعجة/المدمجة، السفر عبر الزمن، الملفات المدمجة، الفراغ، الفهرسة/التجميع.
الممارسة: Lakehouse مفيد لـ iGaming كطبقة رئيسية، و OLAPs الخارجية (ClickHouse/BigQuery/Snowflake/Pinot) كعروض ومحركات خاصة.

نموذج طبقة الميدالية

البرونز (Raw/Staging): ملفات خام من المصادر (CDC، مكبات السجلات، CSV التابعة، خطافات الويب). الحد الأدنى من التحقق، «كما هو».
الفضة (مطابقة): التنظيف/التخلص، تطبيع العملات/المناطق الزمنية، الطباعة، قياسات SCD، المفاتيح المتسقة.
الذهب (Marts/Serving): مجاميع GGR/NGR/LTV/الاحتفاظ، واجهات متاجر BI/CRM/مكافحة الاحتيال.
TTL: عدواني على البرونز، معتدل على الفضة، طويل الأجل على الوحدات الذهبية.

الأشكال وطبقات الطاولة

العمود: Parquet (المعيار الفعلي)، ORC.

تنسيقات الجدول المفتوح (ACID):
  • Delta Lake - المعاملات، «MERGE»، السفر عبر الزمن، التحسين/الفراغ، Z-order.
  • Apache Iceberg - جداول مع قوائم/لقطات، تقسيم مخفي، «دمج/حذف/تحديث»، السفر عبر الزمن.
  • Apache Hudi - النسخ على الكتابة/الدمج عند القراءة، التحسين المفاجئ، الاستخراج التدريجي.
  • اتخذ قرارك بناءً على النظام البيئي ومتطلبات التطور/التدفق/المرونة في تطور المخططات.

فهرس وميتاستور

دليل واحد (Hive Metastore/Unity/Glue/platform directories) يخزن المخططات والحفلات والإصدارات والحقوق.
المتطلبات: اتساق المعاملات مع طبقة الطاولة، دعم المحركات المتعددة (Spark، Trino/Presto، Flink، dbt)، التدقيق/النسب.

المخططات والتطور

عقد المخطط: إصلاح الحقول والأنواع والدلالات الإلزامية ؛ مصادر التحرير ('schema _ version').
التطور: إضافة مجالات اختيارية تحظر كسر التغيرات دون هجرات ؛ مخططات الفحص التلقائي في خطوط الأنابيب.
تجزئة PII: الحقول الحساسة - في أعمدة/جداول منفصلة مع التشفير وحقوق منفصلة.

تقسيم البيانات وتصميمها

التاريخ/الساعة - المفتاح الأساسي للأحداث ؛ الحقول الاختيارية: 'البلد' و 'المنتج' و 'المستأجر'.
путь على غرار الخلية: 's3 ://lake/bronze/payments/source = pspA/dt = 2025-11-05/hour = 13/part-0001. parquet '.
التجميع/الفرز: مفاتيح الترتيب Z/الفرز حسب الحقول المفلترة بشكل متكرر (player_id، البلد).
حجم الملف: استهدف 128-1024 ميغابايت ؛ تجنب «الملفات الصغيرة» (انظر أدناه).
أعمدة افتراضية (Iceberg/Delta) للتقسيم الخفي.

ملفات صغيرة ومشكلة ضغط

تدفق المصادر أجزاء صغيرة → تدهور الفحوصات والبيانات الوصفية.
الحل: التحسين الدوري/الضغط (الدمج)، جدولة مهام الضغط، حزمة الدفعة الدقيقة عند الابتلاع، «التحسين التلقائي» (إذا كان متاحًا).
سياسة الدمج عند القراءة مقابل النسخ عند الكتابة هي توازن بين وقت الكتابة وسرعة القراءة.

Injest: دفعة، دفق، مركز السيطرة على الأمراض

مركز السيطرة على الأمراض من OLTP (Debezium/connectors) → البرونز (نضارة دقيقة).
Stream (Kafka/Flink/Spark Structured Streaming) → Silver/Gold بشكل تدريجي (upsert/merge).
الدفعة (تقارير الشركاء/CSV/JSON) - من خلال «أجهزة الاستقبال» مع البيانات، والتحكم في النسخ المكررة عن طريق الشيكات.
الخصوصية: المفاتيح (idempotency_key)، التخلص من (المفتاح، ts)، «العلامات المائية» للوصول لاحقًا إلى السجلات.

جودة البيانات (DQ) والنسب

شيكات DQ: اكتمال، تفرد المفاتيح، النطاقات، النزاهة المرجعية (قوائم البلد/العملة)، قواعد الأعمال (GGR ≥ 0).
الربط: رسم بياني للتبعيات من التقرير إلى المصدر، ونسخة من رمز النموذج ولقطة من الجدول.
التحكم في المخطط: اختبارات خلفية/أمامية تلقائية تمنع تغييرات «كسر».
تنزيلات التدقيق: من/متى/كم، دفعات مرفوضة، يعيد الدفع.

الخدمة والوصول

محركات SQL: Spark/Trino/Presto لأغراض مخصصة وتحويلات ؛ dbt لنماذج ELT.
الوقت الفعلي/شبه الفعلي: Pinot/Druid/ClickHouse كواجهات متاجر ؛ ليكهاوس هو مصدر من خلال حوض تدريجي.
تقاسم البيانات: تقاسم الجداول/اللقطات مع الأوامر الخارجية بدون نسخ (إذا كانت مدعومة بالشكل).

الأمن و PII والعقود متعددة الإيجارات

التشفير: الراحة (KMS) والعبور (TLS).
IAM/RBAC/ABAC: الأدوار على مستوى الدليل/الجدول/العمود/الصف (الإخفاء، السياسات الديناميكية).
التجزئة حسب المنطقة (توطين الاتحاد الأوروبي/تركيا/LatAm): عزل الدلاء ومجموعات الحوسبة.
متعدد الإيجارات: مساحة/أدلة الأسماء وبادئات المسار، مرشحات بواسطة «مستأجر _ معرف»، سياسات اختيارية - مستوى الصف.
مراجعة الدخول: قراءة البيانات الوصفية/تغيير السجلات والاحتفاظ بها والسجلات غير القابلة للتعديل.

إدارة التكاليف

دروس التخزين: ساخنة (غالبًا ما تكون قابلة للقراءة) في فئة قياسية، أرشيف - في دروس البرد/الأنهار الجليدية مع سياسات TTL.
التقسيم/المجموعات تقلل عمليات المسح → أقل من دولار.
واجهات المحلات التجارية المجسدة للتقارير المكلفة ؛ مخبأ نتائج BI.
الضغط و «حجم الملف الصحيح» - بيانات وصفية أقل و I/O.
الحصص والميزنة: القيود المفروضة على المجموعات/الوظائف الحاسوبية، وتقارير التكاليف المتعلقة بمجموعة البيانات/الفريق.
إزالة القمامة: «VACUUM/REWRITE» في تنسيقات الجدول، TTL Bronze.

DR وقابلية التكاثر

إصدار جدول السفر عبر الزمن ولقطات كتالوج.
تكرار الدلاء والبيانات الوصفية عبر المناطق.
PITR: تخزين سجلات معاملات المائدة (Delta/Iceberg/Hudi) وسجلات خطوط الأنابيب.
يوم اللعبة: تمارين التعافي المنتظمة ومناطق التبديل.

قابلية الملاحظة و SLO

نضارة SLO: برونزية ≤ 5 دقائق، فضية ≤ 15-30 دقيقة، ذهبية ≤ 60 دقيقة (مثال).
المقاييس: حجم/عدد الملفات، متوسط حجم ملف الباركيه، وقت المسح الضوئي، حصة الدفعات الفائتة، تردد الضغط، التكلفة/التاريخ، أخطاء DQ، البيانات المتأخرة.
التنبيهات: ارتفاع الملفات الصغيرة، نمو التكلفة، تدهور p95/p99، انتهاك DQ/مخطط، تأخر التيار الأزرق.

اتفاقيات ومسارات التسمية (نموذج)


s3://<lake>/<layer>/<domain>/<dataset>/
source=<sys>/      # для Bronze dt=YYYY-MM-DD/
hour=HH/
country=XX/

أسماء مجموعة البيانات: "الرهانات _ الخام"، "المدفوعات _ cdc'،" اللاعبون _ الفضة "،" mart _ gr _ يوميًا ".
أعمدة البيانات الوصفية: 'interst _ ts'،' source '،' schema _ version '،' trace _ id '،' المستأجر _ id '.

أمثلة (معممة)

1) جبل الجليد: طاولة فضية مع حفلة مخفية حسب التاريخ

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) دلتا: اضطراب تدريجي من مركز السيطرة على الأمراض

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/: 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. عقود مخطط الالتقاط، التحكم في التطور، تجزئة PII، والتشفير.
4. تصميم التصميم: الأجزاء، مفاتيح الفرز، حجم الملف المستهدف ؛ تمكين الضغط.
5. قم بتهيئة تناول (CDC/stream/batch) مع الخصوصية والتفريغ.
6. تمكين DQ/النسب، كتالوج البيانات الوصفية، والتدقيق.
7. حدد نضارة/تكلفة SLOs ولوحات القيادة للمقاييس والتنبيهات.
8. تنظيم DR: لقطات/تكرار/استعادة + تمارين منتظمة.
9. توحيد التسمية والمسارات، الأعمدة الفوقية ('interst _ ts'،' source '،' schema _ version ').
10. أحضر عروض Gold وخدمة في الوقت الفعلي إلى محركات OLAP/RT الصحيحة.

الأنماط المضادة

«حقيبة» واحدة شائعة بدون طبقات و TTL → الفوضى وانفجار التكلفة.
تقسيم الوقت فقط باستثناء البلدان/المنتجات → عمليات المسح الثقيلة.
الخيوط التي تنشئ آلاف الملفات الصغيرة/الساعة بدون ضغط.
عدم السيطرة على المخططات و DQ → «كسر» التغييرات وعدم الثقة في التقارير.
مزج PII مع عروض Gold دون إخفاء/فصل الحقوق.
الرمز الصلب لحقوق الوصول على مستوى الدلاء بدلاً من الدليل والسياسات المجدولة.

موجز

Modern Data Lake for iGaming هو Lakehouse بتنسيق طاولة مفتوحة وكتالوج واحد ونموذج ميدالية. يحول انضباط المخططات/الأطراف، والضغط ضد الملفات الصغيرة، و DQ/السلالة، وأمن PII ونظافة التكلفة طبقة البحيرة إلى أساس مستدام: رخيص للتخزين، وسريع القراءة، ويمكن التنبؤ به في SLO وجاهز لـ DR. مثل هذا الأساس يتجه نحو قمم البطولة ويدعم كل من تحليلات الدفعات وواجهات المتاجر في الوقت الفعلي تقريبًا

Contact

اتصل بنا

تواصل معنا لأي أسئلة أو دعم.نحن دائمًا جاهزون لمساعدتكم!

بدء التكامل

البريد الإلكتروني — إلزامي. تيليغرام أو واتساب — اختياري.

اسمك اختياري
البريد الإلكتروني اختياري
الموضوع اختياري
الرسالة اختياري
Telegram اختياري
@
إذا ذكرت تيليغرام — سنرد عليك هناك أيضًا بالإضافة إلى البريد الإلكتروني.
WhatsApp اختياري
الصيغة: رمز الدولة + الرقم (مثال: +971XXXXXXXXX).

بالنقر على الزر، فإنك توافق على معالجة بياناتك.