تحليل الدفق مقابل الدفعة
1) جوهر موجز
التيار - المعالجة المستمرة للأحداث في ثوانٍ: مكافحة الاحتيال/مكافحة غسل الأموال، مشغلات RG، تنبيهات SLA، لوحات التشغيل.
دفعة - إعادة الحساب الدورية مع قابلية التكاثر الكاملة: الإبلاغ التنظيمي (GGR/NGR)، المستندات المالية، مجموعات بيانات ML.
المعالم: Stream p95 e2e 0. 5-5 ث، دفعة D + 1 إلى 06:00 (قفل.) .
2) مصفوفة الاختيار (TL; DR)
قاعدة 80/20: أي شيء لا يتطلب رد فعل <5 دقائق - بدفعة ؛ الباقي في Stream، مع التحقق من صحة Batch الليلية.
3) الهندسة المعمارية
3. 1 لامدا
دفق عبر الإنترنت + دفعة للتوحيد. بالإضافة إلى: المرونة. ناقص: منطقان.
3. 2 كابا
كل شيء مثل الجداول ؛ الدفعة = «إعادة تشغيل» عبر سجل. بالإضافة إلى: رمز واحد. ناقص: تعقيد الإعادة/التكلفة.
3. 3 Lakehouse-Hybrid (موصى به)
بث → OLAP Marts (دقائق) عبر الإنترنت والبرونز/الفضة ؛ دفعة تعيد تجميع الذهب (D + 1) وتنشر التقارير.
4) البيانات والوقت
دفق
النوافذ: السقوط/القفز/الجلسة.
العلامات المائية: 2-5 دقائق ؛ تم وضع علامة على البيانات المتأخرة وتخفيفها.
الدولة: CEP، dedup، TTL.
دفعة
الزيادات/CDC: "محدث _ at'، تكرار سجل.
SCD I/II/III: سند التاريخ.
لقطات: طبقات اليوم/الشهر لـ «as-of».
5) أنماط التطبيق في iGaming
AML/Antifraud: تيار (السرعة/الهيكلة) + تسويات الدفعة والحالات.
اللعب المسؤول: تدفق التحكم في الحدود/الاستبعاد الذاتي ؛ سجلات الإبلاغ الدفعة.
العمليات/SRE: تدفق تنبيهات جيش تحرير السودان ؛ دفعة بعد تحليل الحوادث والاتجاهات.
المنتج/التسويق: تيار التخصيص/البعثات ؛ مجموعات الدفعة/LTV.
التمويل/التقارير: دفعة (ذهب D + 1، حزم WORM)، تيار - لوحات تشغيلية.
6) DQ، قابلية التكاثر، إعادة التشغيل
تيار DQ: التحقق من صحة المخططات، التخلص من '(event_id، المصدر)'، اكتمال النافذة، النسبة المتأخرة، معدل النضوب ؛ → DLQ الحرج.
دفعة DQ: التفرد/FK/النطاق/الزمني، التسويات مع OLTP/مقدمي الخدمات ؛ → حرجة تفشل وظيفة + تقرير.
- الدفق: مواضيع طبق الأصل حسب النطاق + التحول الحتمي.
- الدفعة: إصدارات السفر عبر الزمن/المنطق («منطق _ إصدار») + لقطات ذهبية.
7) الخصوصية والإقامة
البث: الاسم المستعار، والإخفاء عبر الإنترنت، وخطوط الأنابيب الإقليمية (EEA/UK/BR)، والمهل الزمنية لمشاهدة PII-lookups الخارجية.
الدفعة: عزل رسم خرائط PII، RLS/CLS، DSAR/RTBF، Legal Hold، أرشيف WORM.
8) هندسة التكاليف
التيار: تجنب المفاتيح «الساخنة» (التمليح)، والحد من عمليات المراقبة غير المتجانسة، وحالات TTL، والتجديد المسبق.
الدفعة: التقسيم/التجميع، ضغط الملفات الصغيرة، تجسيد التجمعات الثابتة، الحصص/نوافذ الإطلاق.
9) أمثلة
9. 1 تيار - Flink SQL (سرعة ترسب 10 دقائق)
sql
SELECT user_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS sum_10m
FROM stream. payments
GROUP BY user_id, TUMBLE(event_time, INTERVAL '10' MINUTE);
9. 2 تيار - CEP (رمز AML الزائف)
python if count_deposits(10MIN) >= 3 and sum_deposits(10MIN) > THRESH \
and all(d. amount < REPORTING_LIMIT for d in window):
emit_alert("AML_STRUCTURING", user_id, snapshot())
9. 3 دفعة - دمج (زيادة فضية)
sql
MERGE INTO silver. payments s
USING stage. delta_payments d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
9. 4 دفعة - Gold GGR (D + 1)
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) event_date,
b. market, g. provider_id,
SUM(b. stake_base) stakes_eur,
SUM(p. amount_base) payouts_eur,
SUM(b. stake_base) - SUM(p. amount_base) 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. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
10) المقاييس و SLO
تيار (معالم)
p95 ingest→alert ≤ 2-5 c اكتمال окна ≥ 99. 5%
أخطاء المخطط ≤ 0. 1%
النسبة المتأخرة ≤ 1 في المائة
≥ 99. 9%
دفعة (معالم)
الذهب. اليومي جاهز حتى الساعة 6:00.
الاكتمال ≥ 99. 5%
صلاحية ≥ 99. 9%
حادثة MTTR DQ ≤ 24-48 ساعة
11) الاختبارات والإطلاقات
العقود/المخططات: الاختبارات التي يحركها المستهلك ؛ CI-compat.
التيار: قواعد الكناري، الإطلاق المظلم، محاكي إعادة التشغيل.
الدفعة: التشغيل الجاف على العينات، مقارنة المقاييس، التوفيق.
12) الأنماط المضادة
منطق مكرر: حسابات مختلفة للتيار والدفعة بدون محاذاة الصيغة.
واجهات برمجة التطبيقات الخارجية المتزامنة في مسار Stream الساخن بدون مخبأ/مهلات.
إعادة تحميل كاملة «فقط في حالة» بدلاً من الزيادات.
لا توجد علامات مائية/سياسات متأخرة.
ومبادرة الاستثمار الدولية في طبقات تحليلية ؛ لا يوجد CLS/RLS.
يعرض الذهب «التحور» بأثر رجعي.
13) الهجين الموصى به (كتاب اللعب)
1. حلقة التيار: الحافلة → المبتذلة → Flink/Beam (العلامات المائية، dedup، CEP) →
OLAP (ClickHouse/Pinot) للألواح من 1 إلى 5 دقائق + البرونز/الفضة (الملحق).
2. حلقة الدفعة: الزيادات/CDC → تطبيع الفضة/SCD → العروض/التقارير اليومية الذهبية (WORM).
3. المطابقة: طبقة واحدة من المقاييس الدلالية ؛ والمصالحة Stream↔Batch الليلية ؛ التناقضات> الحد الأدنى → التذاكر.
14) RACI
R (مسؤول): منصة البث (Stream-info)، هندسة البيانات (نماذج الدفعة)، تحليلات المجال (المقاييس/القواعد)، MLOps (الميزات/متجر الميزات).
ألف (مسؤول): رئيس قسم البيانات/المدير التنفيذي.
جيم (استشاري): الامتثال/القانوني/إدارة الشؤون السياسية، المالية (FX/GGR)، المخاطر (RG/AML)، SRE (SLO/стоимость).
I (مطلع): BI/Product/Marketing/Operations.
15) خارطة طريق
أفضل لاعب (2-4 أسابيع):1. كافكا/ريدباندا + 2 موضوعين مهمين («المدفوعات»، «أوث»).
2. وظيفة Flink: علامة مائية + dedup + قاعدة 1 CEP (AML أو RG).
3. يعرض OLAP 1-5 دقائق + لوحات القيادة lag/late/dup.
4. Lakehouse Silver (ACID)، الذهب الأول. ggr_daily (D + 1 حتى 06:00).
المرحلة 2 (4-8 أسابيع):- الزيادات/CDC حسب المجال، SCD II، طبقة المقاييس الدلالية.
- بث DQ والمصالحة Stream↔Batch ليلاً.
- Regionalisation (EEA/UK/BR), DSAR/RTBF, Legal Hold.
- محاكي إعادة التشغيل، إصدارات الكناري/A-B للقواعد/المقاييس.
- لوحات متابعة التكاليف والحصص ؛ والتخزين المتدرج ؛ تعاليم د.
- التوليد التلقائي لوثائق العرض/المقاييس والنسب.
16) قائمة التنفيذ المرجعية
- المخططات/العقود في قلم المحكمة ؛ اختبارات المقارنة الخلفية خضراء.
- التيار: العلامات المائية/التأخر المسموح به، дедуп، DLQ ؛ لوحات OLAP في الحث.
- الدفعة: الزيادات/CDC، SCD II، Gold D + 1 مع صادرات WORM.
- طبقة واحدة من المقاييس الدلالية ؛ Stream↔Batch المصالحة كل ليلة.
- لوحات DQ النضارة/الاكتمال/الصلاحية ؛ تأخر التنبيه/تأخر/تأخر.
- RBAC/ABAC، التشفير، الإقامة ؛ DSAR/RTBF/Legal Hold.
- التكلفة تحت السيطرة (التكلفة/جيجابايت، التكلفة/الاستفسار، حجم الحالة، الإعادة مخصصة للحصص).
17) خلاصة القول
Stream و Batch ليسا منافسين، لكنهما تروسان من نفس محرك الأقراص. يعطي Stream رد الفعل "هنا والآن،" Batch - حقيقة يمكن التحقق منها "في الصباح. "يسمح لك نهج Lakehouse الهجين وطبقة واحدة من المقاييس وانضباط DQ/السلالة ببناء ملامح تحليلية سريعة وقابلة للتكرار ومتوافقة تكون مثالية في SLA والتكلفة.