تحليلات في الوقت الفعلي
1) الغرض والقيمة التجارية
توفر التحليلات في الوقت الفعلي (RTA) ردود فعل في ثوانٍ وليس ساعات:- AML/Antifraud: هيكلة الرواسب، هجمات السرعة، معاملات المخاطر.
- الألعاب المسؤولة (RG): تجاوز الحدود وأنماط المخاطر والاستبعاد الذاتي.
- SRE/Operations: الكشف المبكر عن تحلل SLA، انفجارات الخطأ، ارتفاع درجة حرارة العنقود.
- المنتج والتسويق: محفزات التخصيص، المهام/المهام، التجزئة في الوقت الفعلي.
- الإبلاغ التشغيلي: GGR/NGR في الوقت الفعلي تقريبًا، لوحات معلومات القاعات/مقدمي الخدمات.
الأهداف: p95 من طرف إلى طرف 0. 5-5 с، الاكتمال ≥ 99. 5٪، توافر ≥ 99. 9%.
2) البنية المرجعية
1. Inster/Edge - '/events/batch '(HTTP/2/3), gRPC, OTel Collector; التحقق من صحة المخططات، ومكافحة التكرار، والتوجيه الجغرافي.
2. حافلة الأحداث - كافكا/ريدباندا (مشاركة «المستخدم _ المعرف/المستأجر/السوق»، DLQ، الاحتفاظ 3-7 أيام).
3. معالجة التيار - Flink/Spark Structured Streaming/Beam: المشغلون المكثفون، CEP، العلامات المائية، يسمح بالتأخير، الوفاة.
4. الإثراء عبر الإنترنت - Redis/Scylla/ClickHouse lookups (حدود RG، KYC، BIN→MCC، IP→Geo/ASN)، المكالمات غير المتزامنة مع المهلات والاحتياطي.
5. التقديم - ClickHouse/Pinot/Druid (العروض التشغيلية 1-5 دقائق)، متجر الميزات (اللافتات عبر الإنترنت)، خطابات الويب/التذاكر/SOAR.
6. Lakehouse - برونزية/فضية/ذهبية للتوحيد والإعادة والتوفيق على المدى الطويل.
7. إمكانية الرصد - مقاييس خطوط الأنابيب، والتعقب (OTEL)، والسجلات، والنسب، ولوحات التحكم في التكاليف.
3) الإشارات والتصنيف
المدفوعات: الدفع. الإيداع/السحب/رد التكاليف '.
الألعاب: 'لعبة. الرهان/الدفع، الجلسات.
المصادقة والسلوك: «الأصالة. تسجيل الدخول/الفشل»، تبديل الجهاز، السرعة.
التشغيل: الكمون، معدل الخطأ، إعادة تشغيل الموقد، التشبع.
الامتثال: فحص العقوبات، أعلام RG، أحداث DSAR.
كل نوع لديه مالك مجال، مخطط، SLO نضارة، وسياسة بيانات متأخرة.
4) النوافذ والعلامات المائية والبيانات المتأخرة
النوافذ: تتدهور (ثابتة)، تقفز، جلسة.
العلامة المائية: حدود «المعرفة بالوقت» (عادة 2-5 دقائق).
الأحداث المتأخرة: قضية إضافية من التعديلات، العلم «متأخر = صحيح»، DLQ مع تأخير قوي.
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);
5) CEP وتجميعات الدولة
المفتاح: «user _ id»، «device _ id»، «payment». account_id'.
الحالة: العدادات/المبالغ المنزلقة، مرشحات الإزهار للتفريغ، TTL.
أنماط CEP: الهيكلة (<العتبة، ≥N مرات، لكل نافذة T)، تبديل الجهاز، إجهاد RG.
python if cnt_deposits(last=10MIN) >= 3 and sum_deposits(last=10MIN) > THRESH and all(d.amount < REPORTING_THRESHOLD):
emit_alert("AML_STRUCTURING", user_id, snapshot())
6) مرة واحدة بالضبط، النظام والغباء
التسليم مرة واحدة على الأقل في الحافلة + التسريح بواسطة 'event _ id' عند المعالجة (TTL 24-72 h).
الأمر: التقسيم بالمفاتيح (النظام المحلي مضمون).
المغسلة: ارتباطات المعاملات (مرحلتان) أو الاندماج/الاندماج.
Outbox/Inbox: نشر المعاملات لأحداث المجال من OLTP.
7) متجر الإثراء والميزات عبر الإنترنت
البحث: حدود RG، أوضاع KYC، BIN→MCC، IP→Geo/ASN، الأسواق/الضرائب، العملات الأجنبية في وقت الحدث.
المكالمات غير المتزامنة: الجزاءات/APP API مع مهلة زمنية ؛ عند الخطأ - «غير معروف» + إعادة الطباعة/ذاكرة التخزين المؤقت.
متجر الميزات: التفاوض عبر الإنترنت/غير متصل بالإنترنت ؛ قاعدة شفرات تحويل واحدة.
8) واجهات المتاجر وركوب الأمواج في الوقت الفعلي
ClickHouse/Pinot/Druid: المجاميع الثانية/الدقيقة، المشاهدات المجسدة، SLA للتأخير من 1-5 دقائق.
API/GraphQL: زمن انتقال منخفض لألواح القيادة/الأدوات.
التنبيهات: خطوط الويب/Jira/SOAR مع سياق مثري (trace_id، الأحداث الأخيرة).
sql
CREATE MATERIALIZED VIEW mv_ggr_1m
ENGINE = AggregatingMergeTree()
PARTITION BY toDate(event_time)
ORDER BY (toStartOfMinute(event_time), market, provider_id) AS
SELECT toStartOfMinute(event_time) AS ts_min,
market,
provider_id,
sumState(stake_base) AS s_stake,
sumState(payout_base) AS s_payout
FROM stream.game_events
GROUP BY ts_min, market, provider_id;
9) المقاييس و SLI/SLO ولوحات القيادة
موصى به من قبل SLI/SLOs:- p95 ingest→alert ≤ 2 s (القواعد الحرجة)، ≤ 5 s (قواعد أخرى).
- اكتمال نافذة T ≥ 99. 5%; صلاحية المخطط ≥ 99. 9%; تغطية التتبع ≥ 98٪.
- توافر خدمة البث ≥ 99. 9%; النسبة المتأخرة ≤ 1%
- تأخر الأطراف/المواضيع ؛ والوقت المزدحم للمشغلين ؛ حجم الولاية.
- قمع «sobytiye→pravilo→keys»، الدقة/الاستدعاء حسب المجال.
- بطاقة الحرارة متأخرة/كاملة ؛ خريطة المفتاح الساخنة.
10) بث DQ (الجودة)
Intest-veridences: schema/enums/size-limits, anti-duplicates.
في التدفق: الاكتمال/معدل الانخفاض/النسبة المتأخرة، وصحة النافذة (دون العد المزدوج).
سياسات رد الفعل: → الحرج DLQ + pager ؛ الرئيسية/البسيطة → علامات + تقرير.
yaml stream: payments rules:
- name: schema_valid type: schema severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: dedup_window type: unique keys: [event_id]
window_minutes: 1440
11) الخصوصية والأمن والإقامة
تقليل PII: تسمية الهوية، وإخفاء الحقل الحساس، وترميز PAN/IBAN.
الإقامة في البيانات: خطوط الأنابيب الإقليمية (EEA/UK/BR)، مفاتيح KMS الفردية.
DSAR/RTBF: تحرير انتقائي على واجهات المتاجر النهائية ؛ تعليق قانوني للقضايا/التقارير.
التدقيق: سجلات غير قابلة للتغيير للوصول/تغييرات القواعد، تسجيل الإصدار.
12) الاقتصاد والإنتاجية
الشحن/المفاتيح: تجنب المفاتيح «الساخنة» (التمليح/المركب)، وتوازن الأطراف.
الحالة: TTL، لقطات مدمجة، RocksDB/ضبط خلفي للولاية.
التجميعات السابقة: تقليل المواضيع الصاخبة في المراحل المبكرة.
أخذ العينات: فقط للمقاييس غير الحرجة (وليس المعاملات/الامتثال).
رد التكاليف: ميزانيات الموضوع/الوظيفة وحصص إعادة التشغيل والطلبات الثقيلة.
13) العمليات و RACI
R: منصة البث (معلومات/إصدارات)، تحليلات المجال (قواعد/ميزات)، MLOps (تسجيل/متجر ميزات).
ألف: رئيس قسم البيانات/المخاطر/الامتثال حسب المجال.
C: DPO/Legal (PII/Revention), SRE (SLO/proceedings), Architecture.
الأول: المنتج والدعم والتسويق والتمويل.
14) خارطة طريق التنفيذ
أفضل لاعب (2-4 أسابيع):1. Kafka/Redpanda + 2 موضوعات مهمة (على سبيل المثال، «المدفوعات» و «auth»).
2. Flink job with watermark, deuplication and 1 CEP rule (AML or RG).
3. عرض تشغيلي في ClickHouse/Pinot (1-5 دقائق)، لوحات القيادة المتأخرة/الكاملة.
4. قناة الحوادث (webooks/Jira)، SLOs الأساسية والتنبيهات.
المرحلة 2 (4-8 أسابيع):- الإثراء عبر الإنترنت (Redis/Scylla)، متجر الميزات، عمليات البحث غير المتزامنة.
- إدارة القواعد كرمز، كناري/A-B، بث DQ.
- إضفاء الطابع الإقليمي على وسائل النقل، وإجراءات إدارة الدعم الميداني/الصندوق الاستئماني الإقليمي، والحجز القانوني للقضايا.
- نشط متعدد المناطق، إعادة تشغيل ومحاكاة ماذا لو، معايرة عتبة تلقائية.
- واجهات متاجر التيار الذهبي (GGR/RG/AML)، تقارير شبه آنية.
- لوحات عدادات التكلفة، رد التكاليف، تمارين DR.
15) أمثلة (شظايا)
فلينك CEP - تبديل الجهاز:sql
MATCH_RECOGNIZE (
PARTITION BY user_id
ORDER BY event_time
MEASURES
FIRST(A.device_id) AS d1,
LAST(B.device_id) AS d2,
COUNT() AS cnt
PATTERN (A B+)
DEFINE
B AS B.device_id <> PREV(device_id) AND B.ip_asn <> PREV(ip_asn)
) MR
تدفقات كافكا - مرشح أحمق:
java if (seenStore.putIfAbsent(eventId, now()) == null) {
context.forward(event);
}
16) قائمة مرجعية قبل البيع
- المخططات/العقود في قلم المحكمة، اختبارات الكومبات الخلفية خضراء.
- تشمل العلامة المائية/التأخير المسموح به، والتخلص، و DLQ.
- ضبط SLO والتنبيهات (تأخر/تأخر/dup/حجم الولاية).
- الإثراء بالمخابئ والمواعيد ؛ احتياطي «غير معروف».
- المكتب الإقليمي لآسيا والمحيط الهادئ/السيطرة المزدوجة على القواعد/النماذج ؛ تمكين سجل التغيير.
- توثيق القواعد/نوافذ المتاجر ؛ كتيب التشغيل وإعادة التشغيل/التراجع.
17) الأخطاء المتكررة وكيفية تجنبها
تجاهل وقت الحدث: بدون علامات مائية، «تطفو» المقاييس.
لا تفريغ: تنبيهات كاذبة، عد مزدوج.
المفاتيح الساخنة: تشويه الأطراف → التمليح/إعادة الشحن.
واجهات برمجة التطبيقات الأمامية المتزامنة في المسار الساخن: async + cache فقط.
التكلفة غير المدارة: عمليات ما قبل التقسيم، وتقارير TTL، والحصص، ورصد التكاليف.
لا يوجد جهاز محاكاة: يتم طرحه بدون إعادة تشغيل → تراجع.
18) خلاصة القول
التحليلات في الوقت الفعلي ليست «Fast BI»، ولكنها دائرة مُدارة بعقود ومنطق دولة و CEP وعلامات مائية وإثراء عبر الإنترنت و SLOs صارمة. من خلال اتباع هذه الممارسات، تتلقى المنصة إشارات وقرارات دقيقة في غضون ثوانٍ، مع الحفاظ على الامتثال وسيناريوهات المنتج والمرونة التشغيلية بتكلفة خاضعة للرقابة.