التحقق من صحة البيانات
1) لماذا تحتاج منصة iGaming إليها ؟
الثقة في التقارير ومؤشرات الأداء الرئيسية: GGR/NET، التحويلات، الاحتفاظ، إشارات النمو الحقيقي.
موثوقية ML/الدرجات: الميزات الصحيحة لمكافحة الاحتيال/التوصيات/النمو الحقيقي.
العمليات في الوقت الفعلي: التنبيهات عند الانجراف/فقدان الأحداث قبل تأثر المدفوعات/UX.
الامتثال: لا يوجد PII/أسرار حيث لا ينبغي أن تكون ؛ يمكن إثبات التتبع.
2) مكان التحقق: مستويات التحكم
1. الحقن (الدفعة/التيار): المخطط، الأنواع، الحقول المطلوبة، الخصوصية/التخلص.
2. معالجة التيار: النوافذ/العلامات المائية، الطلب، الإغفالات/التأخير، مرة واحدة بالضبط.
3. ETL/ELT والتحولات: روابط/أفراح، ومجموعات، وأرصدة الأعمال.
4. DWH/واجهات المحلات (الذهب): الاتساق بين الجداول، النضارة، تفرد المفاتيح.
5. ميزة المتجر/عبر الإنترنت: نطاقات الميزات، الاتساق offlayn↔onlayn.
6. BI/API: العد والفلاتر، SLAs على زمن الكمون/النضارة، k-unhonity.
3) أنواع الشيكات (الكتالوج)
الشكل التخطيطي: النوع/nullable/enum/regex/JSON-shape ؛ تغييرات غير متوافقة لوقف →.
المجال: مبالغ ≥0، عملة ∈ {يورو، دولار أمريكي، TRY، BRL}، معدل الحد ≤، strana∈litsenzii.
الهوية/المفاتيح: المفتاح الأساسي فريد من نوعه، والمفتاح الأجنبي ليس «معلقًا».
الجودة الميدانية: الامتلاء، الطول، الشكل (IBAN، BIN، رمز البريد الإلكتروني).
الإحصاءات/خطوط الأساس: الترددات والتوزيعات والممرات الكمية.
الشذوذ: مسامير الحجم/الكسر، الأصفار/المكررة، انجراف المخطط.
النضارة: الحد الأقصى (ts) لا يزيد عن X ؛ تأخر ingest→gold ≤ ت.
الاتساق: مجموع الأجزاء = موجز ؛ التسوية المتعددة الطاولات.
الخصوصية/الأمن: انعدام مؤشر استثمار الاستثمار خارج المناطق المسموح بها ؛ الترميز/الأقنعة.
التنظيم: حقول RG/AML موجودة ومعقولة.
4) عقود البيانات
يحدد العقد مخطط + قواعد الجودة + SLO بين المصدر والمستهلكين.
العقد الأدنى (الجزء):yaml dataset: payments_ingest_v2 owner: team-payments schema:
id: {type: string, pattern: "^[a-f0-9]{32}$", unique: true}
ts: {type: timestamp, timezone: "UTC", nullable: false}
amount: {type: decimal(18,2), min: 0. 00}
currency: {type: string, enum: ["EUR","USD","TRY","BRL"]}
psp: {type: string, required: true}
quality:
freshness_max: "PT5M"
completeness_min: 0. 995 duplicate_rate_max: 0. 001 pii_allowed: false slo:
p95_ingest_latency_ms: 30000 success_rate: 0. 995
تغييرات العقد - من خلال نصف النهائي والهجرات: «فواصل MAJOR»، تضيف «MINOR» مجالًا، «PATCH» تصحح الوصف.
5) التوقعات والسياسات
التوقعات - الفحوصات الإعلانية المنفذة في خطوط الأنابيب (الدفعة/التيار).
أمثلة على التوقعات (YAML):yaml expectations:
- name: unique_primary_key check: "unique(id)"
severity: "error"
- name: amount_non_negative check: "amount >= 0"
severity: "error"
- name: currency_enum check: "currency in ['EUR','USD','TRY','BRL']"
severity: "error"
- name: ts_fresh_enough check: "now() - max(ts) <= interval '5 minutes'"
severity: "warn"
- name: pii_absent check: "no_plain_pii(columns: ['email','card','iban'])"
severity: "error"
سياسة الاستجابة:
- «خطأ» → الحجر الصحي للطرف/الدفعة، تنبيه + تذكرة ؛ كتلة المصب.
- تمريرات «فارن» →، لكنها تخلق مهمة تحليل ؛ تحديد الجودة.
- 'info' → المراقبة فقط.
6) البث: تفاصيل الشيكات
العلامات المائية/البيانات المتأخرة: دعونا نتأخر «≤ 120»، وإلا - الحجر الصحي ؛ التعويض بنوافذ محدودة.
الخصوصية: مفتاح الحدث + حمولة التجزئة → الجمود في الوسيط/الموضوع.
مرة واحدة بالضبط: غناء المعاملات (+ الأحواض الخفية) للتدفقات الحرجة (المدفوعات/الجولات).
عدادات الحجم: «متوقع» مقابل «استلام» لكل نافذة ؛ التناقض → حالة التأهب.
scala val deduped = stream
.keyBy(_.id)
.process(new DeduplicateWithin(Time. minutes(10)))
val validated = deduped
.filter(_.amount >= 0)
.filter(_.currency in Set("EUR","USD","TRY","BRL"))
emitToQuarantineIfLate(validated, allowedLateness = 120. seconds)
7) DWH/SQL: الثوابت والتسويات
فحص SQL (مثال):sql
-- uniqueness
SELECT id, COUNT() c FROM gold. payments GROUP BY 1 HAVING c>1;
-- freshness
SELECT NOW() - MAX(ts) AS lag FROM gold. payments;
-- reconciliation of totals
SELECT
SUM(amount) AS by_rows,
(SELECT total_amount FROM gold. payments_summary WHERE date=CURRENT_DATE) AS by_summary
FROM gold. payments
WHERE date = CURRENT_DATE;
مطابقة النوافذ: التسويات اليومية «التفاصيل → الملخص»، تقارير التناقض، التذكرة التلقائية.
8) الخصوصية والأمن
إصدار PII الافتراضي: أقنعة الإدخال/الرموز المميزة ؛ نحظر البريد الإلكتروني/البطاقات/الهواتف «الخام» في السجلات.
سياسة الإذن: جداول مع مؤشر الاستثمار الدولي - طبقة/دليل منفصل، الوصول حسب الأدوار (RBAC/ABAC).
عدم الكشف عن هوية التقارير: الحد الأدنى من صفوف N في شريحة.
كاشفات التسرب: فحوصات منتظمة لأنماط PII، «أسرار» (مفاتيح/رموز).
الولايات القضائية: العزل الجغرافي/المستأجر (البلد/العلامة التجارية/الترخيص)، مفاتيح منفصلة.
9) مقاييس الجودة و SLO
قياسات الجودة (دال):- النضارة - تأخر الحد الأقصى (ts).
- الاكتمال - نسبة السجلات غير الفارغة/المتوقعة.
- التفرد - مفاتيح مكررة.
- الاتساق - الثوابت والأرصدة (فيما بين الجداول).
- الدقة - التحقق من صحة المصدر/القواعد الخارجية للمجال.
- الصلاحية - أنواع المطابقة/enum/regex.
- «النضارة payments_gold ≤ 5 мин» (ص 95).
- الاكتمال game_rounds ≥ 99 7 ٪/يوم.
- 'مكرر _ معدل ≤ 0. 1‰`.
- «PII _ leak = 0».
10) التنبيهات والتذاكر وكتاب التشغيل
التوجيه: Slack/PagerDuty → مالك النطاق ؛ تلقائيا تطبيق العينات وdiff.
التجميع: حادثة واحدة لكل مجموعة «ملصقات: مجموعة بيانات = مدفوعات، علامة تجارية = TR».
1. تحقق من قائمة انتظار السجل والوسيط.
2. قارن «المتوقع مقابل المستلم» من قبل PSP.
3. مكّن Retrai/Switch PSP Route.
4. السبب المشروح ؛ وإعادة تشغيل ظهورهم ؛ بعد الوفاة.
11) عملية الإصدار والاختبارات والإعفاء
Semver لقواعد الجودة: "الجودة @ MAJOR. قاصر. PATCH '.
اختبارات الوحدة للتحولات (SQL/DBT/python) واختبارات العقود للمصادر.
مجموعات GOLDEN: الحالات المعروفة للتناقضات/التسريبات إلزامية في الانحدار.
التنازل: إذن قصير الأجل بانتهاك القاعدة (الوصف، المالك، المدة، التدابير التعويضية).
12) الكتالوجات/القطع الأثرية (قوالب جاهزة)
12. 1 جواز سفر Datacet
yaml dataset: gold. game_rounds owner: team-games steward: data-governance contracts: ["games_rounds_v3"]
quality_slo:
freshness_p95: "PT10M"
completeness_min: 0. 997 uniqueness_max_dup: 0. 0005 alerts:
channels: ["#dq-incidents","#games-ops"]
severity_map: {error: "P1", warn: "P2"}
12. 2 سياسة الحجر الصحي
yaml quarantine:
storage: "s3://quarantine/payments/"
retention: "P30D"
access: ["team-payments","data-governance"]
auto_reprocess:
cron: "/15 "
max_attempts: 3
12. 3 توقع для متجر الميزات
yaml featureset: fs_payments_online_v1 checks:
- name: feature_freshness check: "now() - max(feature_ts) <= interval '60 seconds'"
severity: "error"
- name: range_amount_avg check: "amount_avg in [0, 2000]"
severity: "warn"
- name: enum_device check: "device in ['ios','android','web']"
severity: "error"
13) تفاصيل iGaming: الحالات الجاهزة
المدفوعات/PSP: تسوية الودائع/عمليات السحب لتقارير PSP ؛ والحالات المفقودة → الحجر الصحي ؛ تنبيه للنمو «انخفاض _ معدل».
مزودو اللعبة: جولات drop _ per _ min's vs baseline + schema difft من مزود الخدمة → كتلة تحويل المزود A، لافتة الحالة.
RG/AML: مجالات إلزامية (حدود، استبعاد ذاتي، أوضاع KYC) ؛ تأخرت شركة KYC في → علم على كتلة الدفع، والتذكرة ممتثلة.
التسويق/إدارة علاقات العملاء: صلاحية بارامترات الحملة، UTM، التخلص من الأحداث ؛ عدم الكشف عن هويته في واجهات المحلات.
14) خارطة طريق التنفيذ
0-30 يومًا (MVP)
1. تضمين عقود المجموعات الرئيسية: المدفوعات game_rounds والمستخدمين والميزات.
2. فهرس التوقعات (10-15 أساسية) + تنبيهات الحجر الصحي +.
3. نضارة لوحة القيادة/اكتمالها/تفردها ؛ تقرير الحادث.
4. Runbook'и для 'Freshness'،' Duplicates '،' Schema drift'.
30-90 يومًا
1. التسويات والأرصدة المتبادلة ؛ عملية التنازل وقواعد النصف.
2. التحقق من صحة التيار (البيانات المتأخرة، والمأزق، والعلامات المائية) ؛ كاشفات PII.
3. التكامل مع CI/CD: اختبارات عقود المصادر والتحولات.
4. جودة SLOs في المجال أمر OKRs.
3-6 أشهر
1. تلميحات عتبة AIOps ؛ التوطين الذاتي للأسباب.
2. تقارير عن السياسات المتعلقة بجودة العلامات التجارية/الجغرافية والامتثال.
3. حوادث ما بعد الوفاة P1 → تجديد المجموعات والقواعد الذهبية.
4. الربط مع تنبيه التدفق وتحليل الشذوذ (حلقة واحدة).
15) RACI
إدارة البيانات: المعايير والعقود ومراجعة القواعد.
مالكو المجال (R): توقعات المجال والثوابت.
منصة البيانات: إطار التوقعات، الحجر الصحي، التنبيهات، الرصد.
الأمن/DPO (A/R): الخصوصية/PII/k-unhonity، geo/المستأجر-العزل.
SRE/قابلية الرصد (C): توجيه الحوادث، SLO/SLI.
المنتج/التمويل (جيم): أرصدة الأعمال، أولويات الحوادث.
16) الأنماط المضادة
التحقق من الصحة «فقط في DWH» - متأخر، مكلف، مؤلم.
لا يوجد حجر صحي - «الأوساخ» تذهب إلى Gold/ML وتكسر الثقة.
عتبات صلبة بدون موسمية/ساعات/أسواق → عاصفة تنبيه.
عدم وجود قواعد المالك والنصف → فوضى الاستثناءات.
سجلات مع PII و «لقطات شاشة للقناة المشتركة».
«أيام صحية» لمرة واحدة بدلاً من دائرة دائمة.
17) الأقسام ذات الصلة
ممارسات DataOps، تدقيق البيانات والتحديث، أصل البيانات ومسارها، تنبيهات تدفق البيانات، تحليل الشذوذ والارتباط، التحكم في الوصول، أمن البيانات والتشفير، سياسات الاحتفاظ بالبيانات، MLOps: استغلال النموذج.
المجموع
التحقق من الصحة ليس مرشحًا في النهاية، ولكنه عقد جودة شامل: من الحقن والتدفق إلى واجهات المتاجر والميزة عبر الإنترنت. التوقعات الواضحة والحجر الصحي والتنبيهات و SLOs تحول البيانات إلى أصل موثوق: التقارير صحيحة، والنماذج مستقرة، والمدفوعات آمنة، والامتثال هادئ.