دریاچه داده و DWH برای قمار: شماتیک, دانلود SLA
مقاله کامل
1) چرا داده دریاچه کازینو و DWH
گزارش و انطباق: آپلودهای قانونی (GGR/NGR، KYC/AML، RG)، حسابرسی پول.
محصول/بازاریابی: LTV/حفظ، تقسیم بندی، A/B، توصیه ها.
عملیات: نظارت بر ارائه دهندگان، PSP، SLA بازی های زنده و ثبت پول نقد.
راه حل های داده: فروشگاه های سریع (DWH) در بالای ذخیره سازی طولانی مدت ارزان (دریاچه).
خط پایین: دریاچه ها لایه های خام و تمیز را ذخیره می کنند، DWH پرس و جو های سریع و مدل های مدیریت شده را ارائه می دهد.
2) معماری مرجع (دریاچه)
منابع (OLTP، کافکا، Webhooks، CDC)
│
├─Bronze (خام، فقط ضمیمه ؛ پارکت/دلتا/کوه یخ)
│ ingestion_time، source_metadata، بدون تغییر طرح در محل
├─Silver (تمیز، مطابق ؛ dedup، ماسک PII، SCD2)
│ کلید های کسب و کار، محدودیت ها، چک های کیفیت
└─Gold (مارتها ؛ ستاره/برف ریزه ؛ جداول مکعب، مصالح)
موتورهای └─DWH/Query (Snowflake/BigQuery/Trino/Spark SQL)Форматы: دریاچه دلتا/آپاچی کوه یخ/هودی (ACID в دریاچه، سفر در زمان، MERGE).
فایل ها: پارکت + ZSTD/Snappy، ~ هدف 128-512 مگابایت ؛ فشردهسازی «فایل کوچک»
اضافه کردن کاتولوگ: کندو/وحدت/کوه یخ کاتالوگ ؛ سطل برنز/نقره/طلا در مناطق در هر منطقه/مستاجر.
3) طرح های دامنه (مفهومی)
3. 1 کیف پول/حسابداری
3. 2 شرط/حل و فصل (RGS/زندگی می کنند)
'bet': 'bet _ id'، 'round _ id'، 'player _ id'، 'game _ id'، 'stake _ minor'، 'currency'، 'posted _ at'، 'brand/region'، 'provider _ id'، 'in _ bonus'.
'settlement': 'settlement _ id'، 'bet _ id'، 'round _ id'، 'win _ minor'، 'settled _ at'، 'jackpot _ hit'، 'bonus _ state'.
3. 3 پرداخت (میز نقدی/PSP/رمزنگاری)
'payment _ intent': 'intent _ id', 'player _ id', 'method', 'status', 'amount', 'currency', 'psp', 'created _ at'.
'capture/refund/chargeback': جداول جداگانه با اشاره به 'intent _ id'، 'psp _ ref'، کدهای دلیل.
Крипто: 'txid', 'network', 'confirmations', 'finished _ at'.
3. 4 پاداش/جایزه/جکپات
'bonus _ grant', 'bonus _ progress (wager)', 'jackpot _ contribution', 'jackpot _ payout'.
3. 5 منابع و اندازه گیری
'dim _ player' (شبه شناسه، جغرافیایی، کانال ها، وضعیت های RG - بدون PII در تجزیه و تحلیل)، 'dim _ game'، 'dim _ provider'، 'dim _ psp'، 'dim _ brand'، 'dim _ region'، ابعاد تقویم.
کلید و سازگاری: در مدل های نقره ای/طلایی - کلید کسب و کار پایدار ('bet _ id'، 'round _ id'، 'payout _ id'، 'intent _ id') و معانی رویدادهای «idempointent».
4) دانلود جریان: جریان + Microbatch
جریان (Kafka/Pulsar → برنز): رویدادهای OLTP و webhook، outbox/CDC، حداقل یک بار با deduplication در نقره تضمین می کند.
CDC (Debezium/replication log): تغییر جداول OLTP (کیف پول/پرداخت) → برنز.
Microbatches: گزارش PSP/بانک/سفارشی (SFTP/API) → فایل های خام برنز → عادی سازی.
MERGE در نقره: dedup توسط 'idempotency _ key/event _ id'، حذف latecomers ('watermark')، SCD2 بر اندازه گیری.
5) بارگیری SLA و پنجره دیرهنگام (علامت های سفید)
5. 1 SLA های معمولی (نشانه ها)
رویدادهای کیف پول/لجر: ≤ برنز 1-2 دقیقه، ≤ نقره ای 5-10 دقیقه، طلا ≤ 15 دقیقه
شرط/شهرک: برنز ≤ 1-2 دقیقه، ≤ نقره ای 10 دقیقه، طلا ≤ 30 دقیقه
پرداخت (PSP webhooks): برنز ≤ 5 دقیقه، ≤ نقره ای 15 دقیقه، ≤ طلا 30-60 دقیقه.
نهایی رمزنگاری: وابسته به شبکه ؛ نمایش موارد با تاخیر N تایید.
گزارش روزانه PSP/بانک: T + 1 تا 09:00 زمان محلی منطقه است.
5. 2 پنجره های دیر
علامت گذاری بر اساس زمان رویداد ('رخ داده است _ در') + تحمل:- کیف پول/شرط بندی: 24-48 ساعت، پرداخت/PSP: 72 ساعت (وب سایت های یکپارچهسازی با سیستمعامل وجود دارد)، رمزنگاری: تا 24 ساعت برای reorgs نادر است.
- رویدادهای بعدی پردازش مجدد: محاسبه مجدد پنجره های طلا به صورت تدریجی (MERGE)، ورود به سیستم اصلاح.
5. 3 ارتباط SLA
کاتالوگ داده ها حاوی ویژگی های SLA است: «freshness _ target»، «freshness _ status»، «expected _ lag _ p95»، «watermark».
داشبورد «طراوت» با هشدار در نقض.
6) کیفیت داده ها (DQ) و قراردادها
قراردادهای داده برای هر موضوع: طرح های Avro/JSON، semver، زمینه های مورد نیاز، متغیرهای تجاری (به عنوان مثال، «win _ minor ≥ 0»، «currency ∈ ISO-4217»).
چک DQ نقره ای: منحصر به فرد کلیدی، تمامیت ارجاع، چک تعادل (آشتی کیف پول)، اعتبار کدهای PSP/دلایل، محدوده تاریخ.
شدت: «ERROR» (مسدود کردن)، «WARN» (علامت گذاری)، «INFO».
نظارت:٪ نقض، دلایل اصلی، بلیط های اتوماتیک.
نمونه برداری و پخش: برنز خام را برای بازیافت ذخیره کنید.
7) PII، اقامت و ایمنی
PII-showcase از تجزیه و تحلیل جدا شده است: در نقره/طلا - نام مستعار، masking/hashes، tokenization.
اقامت داده ها: EU/UK/BR، و غیره - سطل/کاتالوگ جداگانه فیزیکی ؛ بدون خواندن بین منطقه ای بدون رضایت و پروکسی.
Доступ: RBAC/ABAC (دریاچه/DWH)، امنیت سطح ردیف по «مستاجر/نام تجاری/منطقه».
رمزگذاری: در حالت استراحت (KMS) و در حال حمل و نقل، در هر منطقه/کلید های نام تجاری، حسابرسی WORM از دسترسی و تغییرات سیاست.
حق فراموش شدن: مکانیزمی برای محلی سازی داده های بازی بدون حذف سوابق مالی (شناسایی).
8) مدل سازی پنجره طلایی (ستاره)
8. 1 جداول واقعی
'fact _ bets', 'fact _ wallet _ entries', 'fact _ payments', 'fact _ bonus _ wager', 'fact _ jackpot'.
8. 2 اندازه گیری
'dim _ date/time'، 'dim _ player' (نام مستعار)، 'dim _ game'، 'dim _ provider'، 'dim _ psp'، 'dim _ brand'، 'dim _ region'، 'dim _ currency'.
8. ۳ معیارها و محاسبات
GGR/NGR، نگه دارید/فرکانس، RTP (توسط بازی/ارائه دهنده/منطقه)، تبدیل سپرده، حل و فصل تاخیر، PSP نرخ موفقیت، هزینه به ازای موفقیت، FX-PnL، کمک برنده تمام پولها/پرداخت.
9) عملکرد و هزینه
پارتیشن بندی: توسط 'رخ داده است _ date' + 'منطقه/مستاجر'، گاهی اوقات 'game _ id' برای تجمع طلا.
خوشه بندی/Z-Order: توسط 'player _ id'، 'game _ id'، 'psp'، 'ارز'.
فشرده سازی و خلاء: برنامه ریزی شده «OPTIMIZE/COMPACT»، حذف نسخه های «حلق آویز» (با توجه به retentions قانونی).
حافظه های پنهان: نتیجه کش/انبار کش، دیدگاه های مادی برای پانل های داغ.
شاخص ها در DWH: خوشه/بخش (کلید خوشه بندی برف ریزه، پارتیشن BigQuery + خوشه).
هزینه: برنز سرد در ذخیره سازی شی، واحدهای طلای گرم/مارس در DWH ؛ پارکینگ خودکار/مقیاس خودکار.
10) خطوط، کاتالوگ ها و اسناد و مدارک
کاتالوگ داده ها (OpenMetadata/Amundsen/Collibra): توضیحات جدول، مالک، SLA، زمینه های PII، سیاست های دسترسی.
Lineage: از منبع (رویداد/CDC) به نمایش گذاشتن و گزارش ؛ محدودیت هایی برای تغییرات ایمن
طرح های Changelog: semver و مجله مستهلک ؛ تست سازگاری در خطوط لوله CI.
11) آشتی
روزانه:- 'wallet _ entry' ↔ کل مانده ها (انباشت ≡ عکس فوری)، پرداخت ها: PSP/گزارش های بانکی ↔ 'fact _ payments'، رمزنگاری: 'txid/network' ↔ 'fact _ payments'.
- Категории: 'match', 'timing', 'missing _ source', 'missing _ platform', 'amount _ mismatch'.
- هشدارها: نسبت «عدم تطابق»> آستانه ؛ پیری برجسته> N روز.
12) جداول SLA نمونه (به عنوان مثال)
13) خطوط لوله: آنچه ما از جمع آوری
مصرف: Kafka Connect/Debezium، خدمات مصرف ابر، دستگاه های کشش SFTP.
ETL/ELT: جرقه/DBT/Trino/Beam/Flink (جریان نقره ای)، جریان هوا/آرگو برای ارکستراسیون.
کیفیت: انتظارات بزرگ/آزمون Dequ/DBT.
مانیتورینگ: معیارهای OpenTelemetry + Lake/DWH (تاخیر طراوت، تأخیر شغلی، هزینه).
حوادث و تکرار: پردازش مجدد از برنز، dedup با کلید، خطوط لوله versioned.
14) چک لیست
معماری و امنیت
- قالب دریاچه (دلتا/کوه یخ/هودی) با اسید و سفر در زمان.
- تقسیم 'برنز/نقره/طلا'، صندوق پستی/CDC به عنوان منابع اصلی.
- جداسازی PII، نشانه گذاری، RLS توسط «مستاجر/نام تجاری/منطقه».
- اقامت سطل/دایرکتوری سطح، کلید/اسرار در هر منطقه.
- ممیزی WORM از طرح/سیاست/دسترسی تغییر قانون.
کیفیت و SLA
- قراردادهای داده و طرح های semver ؛ تست های سازگاری
- علامت های سفید و پردازش مجدد، ویترین MERGE افزایشی.
- داشبورد طراوت و هشدار SLA ؛ صاحب هر میز
- آشتی با کیف پول/پرداخت/رمزنگاری.
عملکرد و هزینه
- تقسیم بندی و خوشه بندی ؛ فشردهسازی «فایل کوچک»
- ویترین های تحقق یافته برای گزارش های کلیدی.
- Autoscale/پارکینگ خودکار، سیاست نگهداری و آرشیو.
15) پرچم های قرمز (ضد الگوهای)
BI و گزارش های نظارتی به طور مستقیم OLTP را تحت تاثیر قرار داد.
برنز «بازنویسی» می شود و داده های خام را از دست می دهد.
بدون علامت، رویدادهای اواخر «کوتاه» هستند.
بدون deduplication در «idemotency _ key »/« event _ id» → تکراری در طلا.
PII و پول از مناطق مختلف با هم بدون RLS و اقامت نگهداری می شود.
طرح ها «بی سر و صدا» (بدون semver/قرارداد) تغییر می کنند، شکستن پنجره های فروشگاه.
میلیون ها فایل کوچک غیر فشرده پارکت → درخواست های گران قیمت.
بدون داشبورد SLA/طراوت ؛ «شگفتی» در گزارش سه ماهه.
16) نتیجه گیری
Data Lake + DWH در iGaming فقط یک ذخیره سازی نیست، بلکه یک اکوسیستم کنترل شده است: طرح های استاندارد و قراردادها، ACID-lakehouse، تازگی SLA روشن و پنجره های اواخر، کیفیت و خطی بودن، امنیت PII و اقامت. اضافه کردن آشتی و پارتیشن بندی/صرفه جویی در تراکم - و شما باید یک پایه برای گزارش، راه حل های محصول و مقیاس کسب و کار بدون مهاجرت شبانه و کتابچه راهنمای کاربر اکسل.
