غنی سازی داده ها
1) هدف و ارزش کسب و کار
غنی سازی رویدادهای «خام» را با اضافه کردن زمینه و نشانه ها به واقعیت های مفید تبدیل می کند:- امور مالی/گزارش: FX-عادی سازی مقدار، اتصال به بازار/نرخ مالیات، محاسبه GGR/NGR.
- انطباق/AML/RG: نمرات خطر، تحریم ها/برچسب های PEP، محدودیت های RG، ویژگی های رفتاری.
- بازاریابی/محصول: منابع ترافیکی، بخش ها، ماموریت ها/مأموریت ها، شخصی سازی.
- SRE/operations: geo/ASN برای ترافیک، نوع سرویس گیرنده/دستگاه، پرچم های ویژگی و انتشار.
نتیجه کلیدی بهبود دقت مدل ها، کیفیت گزارش ها و سرعت تصمیم گیری است.
2) منابع غنی سازی (کاتالوگ مثال)
مرجع/کاتالوگ: بازی ها، ارائه دهندگان، بازارها/حوزه های قضایی، ارزها، جداول مالیاتی، تقویم تعطیلات.
KYC/KYB/RG: سطوح تأیید، وضعیت، خود حذفی، محدودیت ها، گروه های سنی.
AML/تحریم/PEP: بازدید های غربالگری، لیست ها، سطح خطر.
شبکه ها و دستگاه ها: IP → geo/ASN، دستگاه/OS/مرورگر، اثر انگشت دستگاه.
ارائه دهندگان پرداخت (PSP): جداول BIN، روش ها، MCC، برچسب های خطر.
FX/زمان: نرخ ارز در تاریخ رویداد، مناطق زمانی محلی/DST.
محتوا و بازاریابی: منابع/کمپین ها/UTM، شرکت های وابسته، بخش ها.
مدل ها و اکتشافات: نمره پیش آموزش دیده، جاسازی، نقشه برداری قطعی.
3) انواع غنی سازی
Lookup-joint: نقشه برداری نقطه با کلید (game_id، BIN، ip_range، user_pseudo_id).
ابعاد پیوست: ابعاد پیوست (کم نور) به حقایق.
زمینه های مشتق شده: ستون های محاسبه شده (amount_base، local_time، tax_rate).
تجمع/سرعت: شمارنده برای پنجره (N نرخ/دقیقه، مقدار سپرده/ساعت).
ویژگی های ریسک/رفتاری: «زمان از آخرین رویداد»، اشتراک کیف پول، فعالیت شبانه.
Geo/ASN/دستگاه: کد کشور، منطقه، اپراتور، نوع دستگاه/مرورگر.
نقشه های معنایی: طبقه بندی ارائه دهنده/بازی، خوشه های بازیکن.
ویژگی های ML برای مدل سازی آنلاین/آفلاین (فروشگاه ویژگی)
4) از کجا غنی سازی: دسته در مقابل جریان
جریان (زمان واقعی): ضد انفجار، RG باعث، هشدار SRE - تاخیر p95 ≤ 2-5 ثانیه ؛ lookup to caches (Redis/Scylla), asynchronous requests to providers with timeout.
دسته ای (میکرو دسته ای/روزانه): ویترین طلا (GGR/RG/AML)، آشتی، گزارش - ثبات و کامل مهم تر از تاخیر هستند.
ترکیبی: ویژگی آنلاین سریع + غنی سازی مجدد شبانه (آشتی/دقت).
5) مرجع معماری
1. برنز - رویدادهای خام (فقط ضمیمه).
2. نقره ای (تمیز/مطابقت) - عادی سازی، کلید ها، جستجوی اولیه و (fx، geo، dim.).
3. لایه غنی سازی - ویژگی های گسترده، جمع آوری پنجره ها، برچسب های خطر.
4. فروشگاه ویژگی - ثبت نام مشخصه (قوام آنلاین/آفلاین).
5. طلا - ویترین برای BI/تنظیم کننده/مدل ؛ مصنوعات تغییر ناپذیر
6. خدمات - API/GraphQL، صادرات گزارش شده، هشدارهای زمان واقعی.
اجزاء: کافکا/ردپاندا، فلینک/جرقه/پرتو، Redis/Scylla (نگاه کردن)، ClickHouse/Pinot (خواندن زنده)، Lakehouse (Delta/Iceberg/Hudi).
6) قراردادها و طرح ها
Schema-first: «event _ time»، «schema _ version»، کلیدهای پایدار (user_pseudo_id، game_id، transaction_id).
علائم غنی سازی: "غنی سازی. نسخه '،' غنی سازی. sources ',' fx _ source ',' geo _ source ',' model _ version '.
نسخه بندی: ویژگی های جدید به عنوان nullable اضافه می شوند ؛ شکستن تغییرات - از طریق «/v2 »و ورود دوگانه.
7) نمونه غنی سازی (SQL/pseudocode)
7. 1 عادی سازی FX و زمان محلی
sql
SELECT p.transaction_id,
p.amount_orig,
p.currency,
r.rate AS fx_rate_used,
p.amount_orig r.rate AS amount_base,
p.event_time,
convert_timezone(m.tz, 'UTC', p.event_time) AS local_time,
r.fx_source
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'
JOIN dim.markets m ON m.code = p.market;
7. 2 Geo/ASN توسط IP (شبه کد)
python geo = geo_db.lookup(ip)
asn = asn_db.lookup(ip)
record["geo_country"] = geo.country record["asn"] = asn.number record["enrichment"]["geo_source"] = "mmdb:2025-10-01"
7. 3 نشانه های پنجره سرعت سپرده (جریان)
sql
SELECT user_pseudo_id,
TUMBLE_START(event_time, INTERVAL '10' MINUTE) AS win_start,
COUNT() AS deposits_10m,
SUM(amount_base) AS deposits_sum_10m
FROM silver.payments
GROUP BY user_pseudo_id, TUMBLE(event_time, INTERVAL '10' MINUTE);
7. 4 رابط با محدودیت های RG
sql
SELECT b., r.daily_deposit_limit, r.self_exclusion
FROM silver.bets b
LEFT JOIN dim.rg_limits r USING (user_pseudo_id);
8) کیفیت غنی سازی (DQ)
حداقل قوانین:- FX: 'fx _ rate _ used' not NULL, 'fx _ source' از لیست سفید, محاسبه 'amount _ base ≥ 0'.
- Geo/ASN: سهم جستجوی موفقیت آمیز ≥ 98٪ (بر اساس بازار)، «کشور» در دایرکتوری.
- برچسبهای RG/AML: 'valid _ from/valid _ to' (SCD II) تقاطع ندارند ؛ عدم وجود «حفره» در تاریخ
- Aggregates/windows: صحت پنجره ها (بدون شمارش دوگانه)، کامل بودن ≥ 99. 5%.
- نسخه های مدل: «model _ version» در حال حاضر، کنترل رانش ویژگی.
yaml table: enriched.payments rules:
- name: fx_present type: not_null column: fx_rate_used severity: critical
- name: country_known type: in_set column: geo_country set_ref: ref.countries severity: major
- name: rg_scd_valid type: scd_validity columns: [valid_from, valid_to]
severity: major
9) حفظ حریم خصوصی و انطباق
کمینه سازی PII: غنی سازی با شبه شناسه، شناسه های واقعی - در یک حلقه جداگانه.
محل جغرافیایی و اقامت: مسیریابی بر اساس منطقه (EEA/UK/BR)، کلیدهای رمزگذاری جداگانه.
DSAR/RTBF: پیش بینی های غنی شده باید از «پنهان کردن «/اصلاح پشتیبانی کنند ؛ مبنای قانونی برای استثناها را حفظ کنید.
نگهداری قانونی: حذف یخ برای مصنوعات/موارد قابل گزارش.
10) قابلیت مشاهده و اصل و نسب
Linage: from raw event → lookup/aggregates → displays/models; رفع نسخه های منبع ('fx _ source'، 'geo _ source'، 'bin _ source').
SLI/SLO: طراوت p95 (نقره ای) ≤ 15 мин ؛ جستجوی جغرافیایی موفق ≥ 98٪ ؛ نسبت سوابق با ویژگی های کلیدی تکمیل شده ≥ 99٪ تاخیر غنی سازی جریان p95 ≤ 2-5 s.
داشبورد: نقشه کامل نقشه های حرارتی توسط منابع، نقشه نسخه های کتاب های مرجع/مدل ها، مانیتور «گران» می پیوندد، رانندگی علائم.
11) هزینه و عملکرد
مخازن/مواد: جستجوی مکرر و در Redis/Scylla ؛ عکس های دوره ای
علائم جمع و جور: جمع آوری فروشگاه (نه لیست «خام») ؛ استفاده از فرمت های پارکت/ستون.
تقسیم بندی: بر اساس تاریخ/بازار/مستاجر ؛ خوشه بندی توسط فیلدهای اغلب فیلتر شده.
فرکانس تطبیقی: کارهای غنی سازی سنگین - در شب ؛ زمان واقعی - فقط مهم است.
بازپرداخت: هزینه/پرس و جو و هزینه/GB حسابداری توسط تیم/ویژگی.
12) الگوهای و ضد الگوهای
الگوها:- جستجوی ابعاد + SCD II برای RG/KYC/ارائه دهندگان.
- Async غنی سازی با زمان و عقب نشینی (برچسب «ناشناخته» + تکرار).
- ویژگی فروشگاه با مذاکره آنلاین/آفلاین و آزمون تکرارپذیری.
- قانون به عنوان کد برای غنی سازی (نقشه های آستانه/قطعی).
- اتصال سفت و سخت به API های خارجی در یک مسیر داغ بدون کش.
- نسخه های منبع بدون برچسب ('fx _ source'، 'geo _ source').
- Denormalization «همه با همه چیز» در نقره (هزینه/پیچیدگی انفجار).
- معرفی PII در لایه های تحلیلی
13) فرآیندها و RACI
R (مسئول): مهندسی داده (خطوط لوله غنی سازی/جریان)، صاحبان دامنه (معناشناسی ویژگی)، MLOps (فروشگاه ویژگی).
A (پاسخگو): رئیس داده/افسر ارشد داده.
C (مشورت): انطباق/حقوقی/DPO، امور مالی (FX/налоги)، ریسک (RG/AML)، SRE.
I (مطلع): BI/محصول/بازاریابی/عملیات.
14) نقشه راه پیاده سازی
MVP (2-4 هفته):1. کاتالوگ منبع غنی سازی (fx، geo، markets، RG/KYC).
2. نرمال سازی نقره ای + جستجوی پایه 'و (fx/geo/dim.) .
3. اولین aggregates هستند سرعت (سپرده/نرخ) و غنی شده است. جداول v1
4. کامل بودن داشبورد/طراوت، نسخه های منبع.
مرحله 2 (4-8 هفته):- اتصال تحریم/PEP/BCL، جداول PSP BIN، اثر انگشت دستگاه.
- ویژگی فروشگاه (ویژگی های اصلی) + کش آنلاین، Flink غنی سازی در زمان واقعی.
- قوانین DQ برای غنی سازی لایه، اصل و نسب و شبیه سازی خشک اجرا می شود.
- شخصی سازی (ماموریت/ماموریت) و آشکارسازهای RG/AML آنلاین.
- مدیریت ارزش (سهمیه، تحقق، نظم Z)، چند منطقه ای.
- تولید خودکار ویژگی ها و مستندات کاتالوگ.
15) چک لیست کیفیت قبل از فروش
- کلید های سازگار و طرح، نسخه های منبع امضا شده است.
- قوانین DQ در FX/جغرافیایی/RG/تحریم ها/پنجره ها ؛ هشدارها و SLO ها
- حافظه های پنهان/timeouts و fallbacks برای جستجوی خارجی.
- داشبورد خطی و هزینه/عملکرد.
- روش DSAR/RTBF/حقوقی برگزاری برای جداول غنی شده است.
- مستند سازی ویژگی های (مالک، فرمول، SLO، تاثیر).
16) اشتباهات مکرر و چگونگی اجتناب از آنها
نسخه های مرجع/مدل بدون برچسب: همیشه «_ source» و «model _ version» را اصلاح کنید.
محاسبه fx «retroactively»: استفاده از نرخ در زمان رویداد ؛ منبع FX را ذخیره کنید
ترکیب PII: نشانه گذاری و جداسازی نقشه ها.
شمارش دوگانه در واحد: بررسی پنجره ها و dedup.
تماسهای خارجی همزمان بدون کش: async + cache/retrai را وارد کنید.
قابلیت تکرار ویژگی ها وجود ندارد: یک کد تبدیل آنلاین/آفلاین، تست های انطباق.
17) واژه نامه (کوتاه)
Lookup/Dimension attach - کتاب مرجع را با کلید به واقعیت وصل کنید.
فروشگاه ویژگی - ویژگی های ثبت نام و خدمت برای ML.
SCD II - تاریخچه اندازه گیری با فواصل اعتبار.
FX - نرخ ارز و عادی سازی مقدار.
ASN - سیستم شبکه مستقل ؛ برای ضد تقلب و تجزیه و تحلیل جغرافیایی مفید است.
18) خط پایین
غنی سازی رشته تبدیل رویدادها به دانش است: کلید ها و طرح های سازگار، جستجوی کنترل شده و aggregates، منابع نسخه شده، حریم خصوصی پیش فرض، DQ و مشاهده پذیری. با پیروی از الگوهای توصیف شده، ویترین ها و علائم قابل تجدید، اقتصادی و سازگار را برای گزارش، شخصی سازی و آشکارسازهای ریسک در زمان واقعی دریافت خواهید کرد.