تجهيز الدفعات
1) الغرض والقيمة
تشكل أجهزة النقل الدفعية علب عرض يومية/بالساعة موثوقة من أجل:- الإبلاغ التنظيمي والمالي (GGR/NGR، الضرائب، سجلات RG/AML).
- BI وتحليلات المنتج (مجموعات، LTV، قمع التحويل).
- التحقق من الدقة (OLTP↔DWH، مقدمو الخدمات/PSP)، التأريخ (SCD).
- إعداد الخصائص ومجموعات التدريب لـ ML.
الخصائص الرئيسية: القدرة على التنبؤ، والاكتمال، وقابلية التكاثر، والتكلفة المنخفضة لكل وحدة بيانات.
2) الهندسة المعمارية (مرجع)
1. Inester (التقاط خام): HTTP/gRPC، CDC من OLTP، تحميل المزود → البرونز.
2. البحيرة: برونزية (خام، ملحقة فقط) → فضية (نظيفة/مطابقة) → ذهبية (إرسال).
3. التنسيق: تدفق الهواء/الداغستر/المحافظ (DAG 'و، التبعيات، إعادة التدوير، SLA).
4. المعالجة: محركات Spark/Trino/DBT/SQL ؛ التقسيم واستمارات الحمض (Delta/Iceberg/Hudi).
5. DQ والعقود: سجل المخطط، قواعد DQ (YAML/SQL)، اختبارات المستهلك.
6. خدمة: طبقة BI/دلالية، صادرات يمكن الإبلاغ عنها (CSV/PDF/JSON + hash)، API/GraphQL.
7. إمكانية الرصد: مقاييس خطوط الأنابيب، والنسب، وجذوع الأشجار، والتكلفة (التكلفة/جيجابايت، التكلفة/الاستعلام).
3) الترددات و SLAs
يوميًا (D + 1 إلى 06:00 قفل.) : تقارير GGR، والتحميلات التنظيمية، والتسويات.
الساعة/شبه الوقت: أفرقة تشغيلية للعمليات/المالية.
أسبوعياً/شهرياً: finconsolidation, models and retroprocesses.
- العروض الذهبية اليومية جاهزة حتى الساعة 06:00 بالتوقيت المحلي.
- نضارة الفضة p95 ≤ 15 دقيقة للميكروبات/ ≤ 2 ساعة للنهار.
- الاكتمال ≥ 99. 5٪، صلاحية (مخطط) ≥ 99. 9%.
4) التنزيلات الإضافية ومركز السيطرة على الأمراض
النهج:- CDC (Change Data Capture): Debezium/log replication → Pronze → remissions in Silver.
- العلامة المائية بالوقت: "محدث _ على> max_loaded_ts'.
- مقارنة Hash: «md5 (صف)» لاكتشاف التغيير.
- Upsert/Merge: تحديثات فضية/ذهبية.
sql
MERGE INTO silver. payments AS s
USING staging. payments_delta AS d
ON s. transaction_id = d. transaction_id
WHEN MATCHED THEN UPDATE SET
WHEN NOT MATCHED THEN INSERT;
5) SCD (تأريخ القياس)
SCD I: الكتابة الفوقية (التهجئة، التصحيحات الطفيفة).
SCD II: التاريخ الكامل ('صالح _ من/صالح _ إلى/هو _ الحالي').
SCD III: «قبل/بعد» لإجراء مقارنات موجزة.
sql
MERGE INTO dim. users_scd t
USING stage. users u
ON t. user_pseudo_id = u. user_pseudo_id AND t. is_current = TRUE
WHEN MATCHED AND (t. country <> u. country OR t. rg_status <> u. rg_status)
THEN UPDATE SET t. is_current = FALSE, t. valid_to = CURRENT_TIMESTAMP
WHEN NOT MATCHED
THEN INSERT (user_pseudo_id, country, rg_status, valid_from, valid_to, is_current)
VALUES (u. user_pseudo_id, u. country, u. rg_status, CURRENT_TIMESTAMP, NULL, TRUE);
6) ردم и إعادة المعالجة
ردم: ملء أولي/ردم تاريخي.
إعادة المعالجة: إعادة حساب نوافذ المتاجر بعد تحرير المنطق/تصحيح البيانات.
- الخصوصية (MERGE/upsert)، الثبات البرونزي، الإصدار المنطقي.
- السفر عبر الزمن للتشغيل المتكرر لقطات البيانات الوصفية.
- حواجز الحماية: الحد من النطاقات والحصص والوظائف التنافسية.
- الوثائق: دليل مع الخطوات ومعايير الإنجاز.
7) نمذجة الطبقة
البرونز:- التذييل فقط، «الحدث _ التاريخ»، «الولاية القضائية»، أقسام «المستأجر».
- نقوم بتخزين الحمولة الأصلية (للطب الشرعي)، وإصلاح "الابتلاع _ at'.
- التطبيع والتوحيد: FK/الأدلة، التخلص، FX/المناطق الزمنية.
- جداول الوقائع/الأبعاد (3NF/BCNF)، SCD للأبعاد الرئيسية.
- واجهات متاجر غير طبيعية للاستثمار الذاتي/التنظيم/التمويل، واستعداد جيش تحرير السودان.
- تجسيد المجاميع ؛ القطع الأثرية غير القابلة للتغيير (التجزئة + WORM).
8) جودة البيانات (DQ-as-code)
مثال على قواعد YAML للفضة:yaml table: silver. payments slo:
freshness_minutes: 15 completeness_percent: 99. 5 rules:
- name: amount_positive type: range column: amount_base min: 0. 01 severity: critical
- name: currency_whitelist type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
severity: major
- name: unique_tx type: unique columns: [transaction_id]
severity: critical
- name: fk_user type: foreign_key column: user_pseudo_id ref_table: dim. users_scd severity: critical
سياسات رد الفعل: وظيفة حرجة → فاشلة + DLQ ؛ major/minor → tag + report.
9) الطبقة الدلالية والإبلاغ
التعاريف الموحدة للمقاييس (GGR/NGR، ARPPU، الاحتفاظ) في الطبقة الدلالية/متجر المقاييس.
مقاييس إصدار الوثائق ؛ التكامل مع حزم التصدير/التصدير
التقارير: CSV/JSON/PDF + sha256، سجل التنزيل و Legal Hold إذا لزم الأمر.
10) الخصوصية والإقامة والأمن
والتقليل إلى أدنى حد من مؤشر الاستثمار الدولي: التسمية المستعارة للمستخدمين ؛ رسم الخرائط - في حلقة محمية منفصلة.
إقامة البيانات: أدلة/مفاتيح منفصلة للمنطقة الاقتصادية الأوروبية/المملكة المتحدة/BR ؛ وحظر الانضمام عبر الأقاليم دون أسس قانونية.
التشفير: TLS أثناء العبور ؛ KMS/CMK في الاستراحة ؛ ضوابط التصدير.
DSAR/RTBF: إسقاطات حسابية، تعديلات انتقائية ؛ مراجعة الدخول.
عقد قانوني: أرشيف WORM للتحف التنظيمية.
11) الأداء والتكلفة
التقسيم حسب التاريخ/السوق/المستأجر ؛ Z-order/cluster by preditional productions.
النماذج: جداول Parquet + ACID ؛ الضغط/الإحصاءات، تحسين/الفراغ.
التجسيد: التجميعات المستقرة في الذهب ؛ تجنب الوظائف «المتجانسة».
الحصص/الميزانيات: رد التكاليف حسب الفريق ؛ حدود الردم/الطلبات الثقيلة.
الجدول الزمني: نوافذ الحمل المنخفض (الليل/عطلة نهاية الأسبوع)، أولويات قائمة الانتظار.
12) إمكانية الرصد والإدارة
مقاييس خطوط الأنابيب: المدة، ومعدل النجاح، والإعادة، والصفوف المعالجة، والتكلفة/الاستعلام.
مقاييس DQ: الاكتمال والصلاحية والتفرد وأخطاء FK والانجراف.
خريطة حرارة النضارة: حسب المجال والسوق ؛ لوحات القيادة SLA.
النسب: أصول برونزية للتقارير ؛ قبل إجراء التغييرات.
التنبيهات: ميزانيات SLO، تدهور DQ، تأخيرات، نمو التكلفة.
13) أمثلة SQL/النموذجية
تطبيع العملة (الفضة):sql
CREATE OR REPLACE TABLE silver. payments AS
SELECT p. transaction_id,
p. user_pseudo_id,
p. currency,
p. amount_orig,
r. rate AS fx_rate_used,
p. amount_orig r. rate AS amount_base,
p. market,
CAST(p. event_time AS TIMESTAMP) AS event_time
FROM bronze. payment_events p
JOIN dim. fx_rates r
ON r. date = DATE(p. event_time)
AND r. ccy_from = p. currency AND r. ccy_to = 'EUR';
GGR Daily Showcase (ذهب):
sql
CREATE OR REPLACE VIEW gold. ggr_daily AS
SELECT
DATE(b. event_time) AS event_date,
b. 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. games g ON g. game_id = b. game_id
GROUP BY 1,2,3;
التحكم في الاكتمال (DQ SQL):
sql
SELECT market, event_date, COUNT() AS n
FROM silver. fact_bets
GROUP BY market, DATE(event_time) AS event_date
HAVING n = 0;
14) العمليات و RACI
R (مسؤول): Data Engineering (DAG ', Silver/Gold models), Data Platform (infra, circuit register, DQ).
ألف (مسؤول): رئيس قسم البيانات/كبير موظفي البيانات.
جيم (استشاري): الامتثال/القانون/DPO (PII/الاحتفاظ)، المالية (FX/GGR)، المخاطر (RG/AML)، SRE (SLO/стоимость).
I (مطلع): BI/Product/Marketing/Operations.
15) خارطة طريق التنفيذ
أفضل لاعب (4-6 أسابيع):1. Lakehouse Bronze/Silver (تنسيق ACID)، CDC/الزيادات للمجالات 2-3.
2. رمز DQ-like-code: 10-15 قاعدة للمدفوعات/طريقة اللعب + التحقق من صحة CI.
3. First Gold Showcase (GGR Daily) مع SLA حتى الساعة 06:00 ؛ تم الإبلاغ عن التصدير + التجزئة.
4. لوحات تحكم نضارة/اكتمال/تكلفة، تنبيهات أساسية.
المرحلة 2 (6-12 أسبوعاً):- SCD II для المستخدمين/الألعاب/مقدمي الخدمات ؛ توسيع النطاق.
- طبقة دلالية من المقاييس ؛ التحقق مع OLTP/مقدمي (الدقة).
- إجراءات الردم/إعادة المعالجة، تحليل النسب والأثر، الهيكلة الإقليمية (المنطقة الاقتصادية الأوروبية/المملكة المتحدة).
- المحاكاة التلقائية للتغييرات (التشغيل الجاف)، الميزانيات/الحصص، رد التكاليف.
- التوثيق التلقائي (صفحات منتجات البيانات) وتمارين DR واسترداد السفر عبر الزمن.
- تحسين التكاليف (التجميع، التجسيد، TTL، الفراغ).
16) قائمة مرجعية قبل البيع
- العقود والمخططات في السجل، اختبارات التوافق خضراء.
- التنزيلات التدريجية/أعمال مراكز السيطرة على الأمراض والوقاية منها، MERGE غير واقعية.
- قواعد DQ نشطة ؛ → الحرجة تفشل + DLQ ؛ عن الانتهاكات.
- لوحات المتابعة الخاصة بجيش تحرير السودان/النضارة/الامتلاء ؛ تم إعداد تنبيهات.
- PII/DSAR/RTBF/Legal Hold السياسات التي أكدتها Legal/DPO.
- اختبار دفتر التشغيل وردم/إعادة المعالجة/DR.
- التكلفة الخاضعة للرقابة (التكلفة/الاستفسار، التكلفة/GB، الحصص).
17) الأنماط المضادة وكيفية تجنبها
اللكمات الليلية المتجانسة: مقسمة إلى خطوات مستقلة، بالتوازي مع الأحزاب.
إعادة التحميل الكامل بلا داع: زيادات الاستخدام/CDC/الدمج.
مزج PII في التحليلات: إبقاء الخرائط منفصلة، تطبيق CLS/RLS.
لا يوجد DQ/سلالة: أدخل DQ-as-code وأصل التتبع.
ملء «يدوي»: التشغيل الآلي والتوثيق، نطاقات الحد.
التكلفة غير القابلة للإدارة: التجميع، والتجسيد، وسياسات الاحتفاظ.
18) مسرد (موجز)
مركز السيطرة على الأمراض - التقاط التغييرات من OLTP.
SCD - القياسات المتغيرة ببطء (I/II/III).
Lakehouse - بحيرة البيانات + جداول ACID.
MERGE/Upsert - عمليات التحديث الخفية.
السفر عبر الزمن - قراءة النسخ التاريخية من الجداول.
WORM - تخزين غير قابل للتغيير للقطع الأثرية.
19) خلاصة القول
معالجة الدفعات هي نظام من خطوط الأنابيب القابلة للتنبؤ والقابلة للتكرار والمجانية. من خلال اتباع مبادئ المخطط أولاً، والزيادات/مراكز السيطرة على الأمراض والوقاية منها، وتأريخ SCD، و DQ-as-code، وإمكانية الملاحظة والاقتصاد الواعي، ستتلقى عروض وتقارير ذهبية مستقرة، يتم التحقق منها عن طريق التألق وجاهزة للتدقيق في أي وقت.