تطبيع البيانات
1) الغرض
التطبيع يقضي على التكرارات والشذوذ في التحديثات، ويضع أدلة ومفاتيح موحدة، ويجعل البيانات متسقة ورخيصة للحفاظ عليها. في iGaming، يعد هذا أمرًا بالغ الأهمية بالنسبة لـ GGR/NGR وتحليلات AML/RG والإبلاغ التنظيمي ومضاد الرود و ML.
2) حيث نعود إلى طبيعتنا
البرونز (الخام): غير طبيعي - التخزين كما هو (الملحق فقط) للطب الشرعي.
الفضة (نظيفة/مطابقة): التطبيع الأساسي (3NF/BCNF، الأدلة، المفاتيح، SCD).
الذهب (خدمة): واجهات المحلات المستهدفة - من الممكن إلغاء التطبيع المتحكم فيه للقراءة/BI.
3) المبادئ الأساسية
1. تحتوي جداول المخطط أولاً على مخططات ومفاتيح صريحة.
2. المعرفات الفردية: «المستخدم _ pseudo _ id»، «الجلسة _ id»، «game _ id»، «المزود _ id»، «transaction _ id».
3. الأدلة المشتركة: العملات والأسواق/الولايات القضائية وحالات KYC/RG ومزودي الألعاب وقنوات المرور.
4. الوقت والعملة: تخزين 'event _ time' (UTC) وطبيعي 'المبلغ _ base' + 'fx _ source'.
5. التطور: إصدارات دلالية، تغييرات متوافقة فقط دون فترات راحة «صامتة».
6. تقليل PII: المستخدم - عبر الهوية الزائفة ؛ يتم تخزين الخرائط بشكل منفصل، ويتم تقييد الوصول.
4) الأشكال الطبيعية بسرعة
1NF: القيم الذرية، لا توجد مصفوفات في الأعمدة (المصفوفات → جداول الأطفال).
2NF-Attributes تعتمد على المفتاح المركب بأكمله
3NF: لا توجد تبعيات عابرة (السمة تعتمد فقط على المفتاح).
BCNF: كل محدد هو المفتاح. استخدام «النواة» (المدفوعات/طريقة اللعب).
الممارسة: تحتفظ النماذج الفضية للمدفوعات ونشاط الألعاب 3NF على الأقل ؛ أكثر صرامة BCNF - للكتب المرجعية والجداول المرجعية.
5) نموذج النطاق المرجعي (الفضة)
5. 1 كتب مرجعية
'dim. المستخدمون (الهوية الزائفة، البلد، الفئة العمرية، أوضاع النمو الحقيقي).
'dim. (game_id، provider_id، نوع، RTP، تقلب).
'dim. مقدمو الخدمات (provider_id والنوع والترخيص).
'dim. (قانون الولاية القضائية، الجهة التنظيمية).
'dim. fx_rates' (التاريخ، ccy_from، ccy_to، السعر، fx_source).
5. 2 الوقائع (جداول الأحداث/المعاملات الضيقة)
'fact. (transaction_id، user_pseudo_id، amount_orig، العملة، amount_base، السوق، event_time، psp_ref، الطريقة).
'fact. الرهانات '( ، ، ، ، النتيجة، .
'fact. (payout_id، user_pseudo_id، game_id، amount_base، event_time).
الروابط: حقائق ↔ أدلة على مفاتيح مستقرة. نقوم بتكرار جميع المبالغ في «عملة المصدر» وفي «القاعدة» (amount_base)، تثبيت 'fx _ source'.
6) القياسات المتغيرة ببطء (SCD)
النوع الأول (الكتابة الفوقية): تصحيحات إملائية/غير حرجة.
النوع الثاني (التاريخ): «صالحة _ من/صالحة _ إلى _ حالية»، تغييرات مراجعة الحسابات (على سبيل المثال، تغييرات حالة النمو الحقيقي).
النوع الثالث (عمود بديل): «قبل/بعد» لإجراء مقارنات قصيرة.
التوصية: بالنسبة لقناة RG/KYC/التسويق - SCD II ؛ للكتب المرجعية للألعاب (RTP) - SCD II مع التحقق من التأثير.
مثال SCD II (مبسط):sql
CREATE TABLE dim. users_scd (
user_pseudo_id STRING,
country STRING,
rg_status STRING,
valid_from TIMESTAMP,
valid_to TIMESTAMP,
is_current BOOLEAN
);
7) التفريغ والمفاتيح
مفاتيح بديلة (BIGINT/UUID) للوصلات الداخلية.
مفاتيح طبيعية (على سبيل المثال، «معاملة _ معرف» من PSP) - يتم التحقق منها وتخزينها بشكل منفصل.
Dedup by '(event_id، المصدر)' لتناول + بواسطة مفاتيح العمل باللون الفضي.
sql
CREATE TABLE silver. payments AS
SELECT EXCEPT(rn) FROM (
SELECT p., ROW_NUMBER() OVER (PARTITION BY transaction_id ORDER BY event_time) rn
FROM bronze. payment_events p
)
WHERE rn = 1;
8) توحيد العملات والمناطق الزمنية
«event _ time» - دائمًا بالتوقيت العالمي المنسق ؛ بالنسبة لنوافذ المتاجر، أضف الموقع/المنطقة الزمنية للسوق.
العملات: 'المبلغ _ oreg' و 'المبلغ _ الأساس' (على سبيل المثال، اليورو) + 'fx _ source'، 'fx _ rate _ used'.
التثبيت اليومي للدورات: 'قاتم. fx_rates' مع توقيع المصدر والتجزئة.
sql
SELECT t. transaction_id,
t. amount_orig,
t. currency,
r. rate AS fx_rate_used,
t. amount_orig r. rate AS amount_base
FROM bronze. payment_events t
JOIN dim. fx_rates r
ON r. date = DATE(t. event_time) AND r. ccy_from = t. currency AND r. ccy_to = 'EUR';
9) اتساق الكتب المرجعية
سجل دليل موحد (الألعاب، مقدمو الخدمات، الأسواق، العملات).
مصدقات DQ: "in _ set'، مراجع FK، التفرد، اتساق SCD.
التوليد الذاتي للثنائيات «الرقيقة» من المصادر الخارجية (مزودو الألعاب، البلدان، PSP).
10) متى يتم نزع الطابع الطبيعي
يُسمح بإلغاء التطبيع في الذهب من أجل:- التقارير «الواسعة» المستقرة (GGR، عروض المخاطر) ؛
- تسريع الاستفسارات/لوحات التحكم الخاصة بمؤشرات الاستثمار
- واجهات متاجر الوقت الحقيقي (ClickHouse/Pinot) تحت قراءات SLA.
- تبقى الفضة مصدر الحقيقة.
- حقول غير طبيعية - محسوبة/مستنسخة من سيلفر ؛ تحرير المنطق.
- يتم توثيق أي تجريد واختبار للصحة.
11) نموذج النجوم وندفة الثلج
النجمة: حقيقة واحدة + قياسات مسطحة - قراءة أسهل وأسرع، كتابة/مطابقة أكثر تكلفة.
ندفة الثلج: يتم تطبيع القياسات (اتجاهات فرعية متصلة) - عدد أقل من النسخ المكررة، واستفسارات أكثر تعقيدًا.
توصية: في الذهب في كثير من الأحيان «نجمة» بالفضة - «رقاقات الثلج» الطبيعية.
12) تطور المخططات (تغييرات آمنة)
متوافق مع الظهر: إضافة أعمدة غير قابلة للإلغاء ؛ قيم مرجعية جديدة مع الأعلام.
الكسر: إعادة التسمية/الكتابة/التحولات الدلالية - فقط من خلال «/v2 »والدخول المزدوج لفترة الهجرة.
العقود: مخططات JSON/Avro في السجل، اختبارات المستهلك للتوافق.
13) ضوابط DQ للتطبيع
المجموعة الدنيا:- المفاتيح فريدة من نوعها: «معاملة _ معرف»، «رهان _ معرف».
- النزاهة المرجعية: FK on 'dim.'.
- العملات: «العملة» من القائمة البيضاء، «fx _ rate _ used» NULL، «المبلغ _ base> = 0».
- الوقت: 'حدث _ وقت' في نافذة معقولة ؛ لا أحداث «مستقبلية».
- صحيح SCD: النطاقات غير المتداخلة «صالحة _ من/صالحة _ إلى».
14) أمثلة على نماذج SQL
المعدلات الفعلية (3NF):sql
CREATE TABLE silver. fact_bets (
bet_id STRING PRIMARY KEY,
user_pseudo_id STRING NOT NULL,
game_id STRING NOT NULL,
stake_ccy DECIMAL(18,2) NOT NULL,
currency CHAR(3) NOT NULL,
stake_base DECIMAL(18,2) NOT NULL,
market CHAR(2) NOT NULL,
event_time TIMESTAMP NOT NULL
);
نجمة GGR (ذهب):
sql
CREATE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
m. market,
g. provider_id,
SUM(b. stake_base) AS stakes_eur,
SUM(p. amount_base) AS payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) AS ggr_eur
FROM silver. fact_bets b
LEFT JOIN silver. fact_payouts p
ON p. user_pseudo_id = b. user_pseudo_id
AND p. game_id = b. game_id
AND DATE(p. event_time) = DATE(b. event_time)
JOIN dim. markets m ON m. code = b. market
JOIN dim. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
15) الخصوصية والامتثال
إغراء مستخدم بالفضة ؛ الاتصال مع الهوية الحقيقية - في دائرة محمية منفصلة.
RLS/CLS والإخفاء الميداني (البريد الإلكتروني/PAN غير متوفر في التحليلات).
إضفاء طابع إقليمي على الأدلة/المفاتيح، ومراقبة إدارة شؤون الموظفين لتوسيع المخطط.
16) إمكانية الرصد والنسب
نسب البيانات من Bronze → Silver → Gold، نسخة من التحولات والعقود.
المقاييس: الاكتمال، الصلاحية، أخطاء FK، التكرارات، «الثقوب» في الوقت المناسب، تكلفة الطلب.
تنبيهات عند فترات الراحة في الأدلة ومصادر العملات الأجنبية.
17) RACI
R: Data Engineering (Silver/Gold models), Data Platform (circuit register, DQ).
أ: رئيس قسم البيانات/الهندسة المعمارية.
جيم: الامتثال/إدارة السياسات (PII/الاحتفاظ)، المالية (FX/GGR)، المخاطر (RG/AML).
الأول: BI/Product/Marketing/Operations.
18) خارطة طريق التنفيذ
أفضل لاعب (2-4 أسابيع):1. سجل الدليل (الأسواق والعملات ومقدمي الخدمات والألعاب).
2. حقيقة عارضات الأزياء الفضية. المدفوعات '،' حقيقة. الرهانات '،' dim '. (3HF)، SCD II لـ' dim. '.
3. تطبيع العملة/المنطقة الزمنية، قواعد DQ الأساسية (FK/uniqueness/in_set).
4. First Gold Showcase (GGR Daily) واختبارات التسوية.
المرحلة 2 (4-8 أسابيع):- توسيع SCD، وتغطية أحداث اللعبة، ونماذج مطابقة المزود.
- الاختبارات الذاتية لتوافق المخطط، ومحاكاة الهجرة، وكتالوج البيانات الوصفية.
- تحسين المفتاح/الطرف، التجميع/الترتيب Z.
- سياسات نزع الطابع عن الذهب وجيش تحرير السودان/القيمة ؛ قوالب النجوم/ندفة الثلج.
- التوليد التلقائي للوثائق، الرسم البياني للنسب في لوحات القيادة.
- الأدلة الإقليمية ومفاتيح التشفير، تمارين DR.
19) قائمة مراجعة الجودة
- تمت الموافقة على مفاتيح ودلائل واحدة.
- الفضة في 3NF، طبق SCD على القياسات «البطيئة».
- تطبيع العملات/المناطق الزمنية ؛ 'fx _ source' ثابت.
- قواعد DQ (FK/uniqueness/range/in_set) نشطة.
- الإلغاءات الموثقة، اجتازت اختبارات الصواب.
- تظهر مقاييس الارتباط والنضارة/الامتلاء على لوحات القيادة.
20) الأخطاء المتكررة وكيفية تجنبها
مزج PII في التحليلات: رسم خرائط منفصلة، استخدم CLS/RLS.
التطبيع غير الكافي للفضة: يؤدي إلى أخطاء 3NF ومكلفة في الدعم والمصالحة.
FX «لكل تقرير»: يجب تسجيل الأسعار في حدث ما، وليس «بأثر رجعي».
لا يوجد SCD للأبعاد الرئيسية: ضياع RG/KYC/تاريخ القناة.
إعادة تطبيع الذهب: الانضمام الزائد → إزالة التطبيع المُدار.
التطور غير الشفاف للمخططات: سجل الاستخدام واختبارات المستهلك.
21) خلاصة القول
التطبيع هو نظام على المستوى الفضي: مفاتيح موحدة وكتب مرجعية، 3NF/BCNF للحقائق والقياسات، والتاريخ الصحيح (SCD) وتوحيد الوقت/العملات. مع مثل هذا «الهيكل العظمي»، تصبح حالات الذهب قابلة للتنبؤ، والتقارير قابلة للمقارنة، ويتم التحكم في تكلفة الملكية.