GH GambleHub

معماری جریان داده

1) اهداف و اصول

اهداف: برای ارائه داده های صحیح، به موقع و سازگار برای تجزیه و تحلیل، گزارش، ضد تقلب، شخصی سازی و ML.

اصول:
  • داده ها به عنوان یک محصول: صاحبان روشن، قراردادها، SLO ها و نسخه ها
  • Schema-first: طرح ها مورد نیاز هستند. تکامل توسط قوانین
  • حریم خصوصی توسط طراحی: PII minimization، aliasing، کنترل دسترسی.
  • مشاهده به صورت پیش فرض: آثار، معیارها، نسب، پروفایل های کیفیت.
  • هزینه آگاه: لایه ذخیره سازی، نمونه برداری حوادث پر سر و صدا، فشرده سازی.

2) منبع و چشم انداز رویداد

معاملات: سپرده ها/برداشت ها، شرط ها/پرداخت ها، پاداش ها، بازپرداخت.
کاربر: جلسات، کلیک ها، تبدیل ها، محدودیت های RG، وضعیت KYC.
عامل: سیاهههای مربوط به برنامه، معیارهای عملکرد، هشدارها.
ارائه دهندگان: استودیوهای PSP/KYC/sanctions/game (aggregators).
مرجع: کاتالوگ بازی، دایرکتوری کشور/ارز، تعرفه/مالیات.

تایپ رویداد (مثال):
json
{
"event_time":"2025-10-31T19:20:11Z",
"event_type":"payment. deposit",
"schema_version":"1. 3. 0",
"user":{"id":"U-123","country":"EE","age_band":"18-24"},
"payment":{"amount":200. 00,"currency":"EUR","method":"card","psp_ref":"PSP-222"},
"ctx":{"ip":"198. 51. 100. 10","session_id":"s-2233","trace_id":"f4c2..."}
}

3) معماری مرجع سطح بالا

1. لایه را وارد کنید

دروازه (HTTP/gRPC)، اتصالات CDC (از OLTP)، صف/اتوبوس (Kafka/Redpanda)، جمع کننده های تله متری.
اعتبار سنجی، عادی سازی، نسخه PII در ورودی، اجرای قرارداد.

2. لایه جریان

جریان جریان (Flink/Spark Structured Streaming/Beam) با deduplication، علامت گذاری، جمع آوری stateful.
Fan-out به ذخیره سازی و خدمات آنلاین (fichestore، ضد تقلب).

3. لایه دسته ای

ارکستراسیون (جریان هوا/Dagster)، دریافت افزایشی، backtests و retroprocesses، انواع SCD.

4. ذخیره سازی (دریاچه)

برنز: رویدادهای خام (فقط ضمیمه، تغییر ناپذیر).
نقره ای: تمیز، جداول سازگار با کیفیت و deduplication.
طلا: ویترین/بازار برای موارد خاص (BI/تنظیم کننده/ML).
فرمت های جدول با ACID (Delta/Iceberg/Hudi)، لایه بندی گرم/گرم/سرد.

5. خدمت و دسترسی

BI/SQL (Trino/Presto/DuckDB)، لایه معنایی (لایه متریک)، API/GraphQL، فروشگاه ویژگی برای سازگاری آنلاین/آفلاین.

6. حکومتداری و ایمنی

دایرکتوری/خط، قوانین DQ، موتور دسترسی سیاسی (RBAC/ABAC)، پوشش/نشانه گذاری، بایگانی WORM برای گزارش ها.

4) قراردادها و طرح ها

قراردادهای داده: OpenAPI/AsyncAPI/JSON Schema/Avro.
تکامل: نسخه های معنایی ؛ تغییرات سازگار با عقب - اضافه کردن زمینه های nullable ؛ شکستن - فقط با «/v2 »و ورود دو برای دوره مهاجرت.
Registers: رجیستری طرح، دایرکتوری دامنه (پرداخت، گیم پلی، بازاریابی).

5) الگوهای ادغام

CDC (Change Data Capture): از OLTP به bus (Debezium)، پارتیشن بندی کلید دامنه.
Outbox/Inbox: تضمین تحویل رویدادهای منطقی دامنه.
دقیقا یک بار/به طور موثر یک بار: معاملات در حالت، سینک idemotent، کلید deduplication.
داده های دیررس و علامت های سفید: دست زدن به رویدادهای دیررس ؛ پنجره ها با تاخیر مجاز.
پردازش مجدد: خطوط لوله idempotent، سفر در زمان، رفع عکس فوری.

6) مدل دریاچه: برنز/نقره/طلا

برنز (خام):
  • زمان (event_date) و بازار (صلاحیت) احزاب.
  • فقط اضافه کردن ؛ ذخیره سازی محموله اصلی برای پزشکی قانونی.
نقره ای (تمیز):
  • انواع نرمال، کتاب های مرجع، deduplication توسط '(event_id، event_time)'.
  • تأیید FK، استاندارد سازی ارز/منطقه زمانی، غنی سازی.
طلا (خدمت):
  • ویترین Denormalized (GGR، RG به ثمر رساند، LTV، جداول کوهورت).
  • SLA برای به روز رسانی، جمع آوری برای BI و گزارش.

7) کیفیت داده ها

قوانین: اعتبار مدار، محدوده، منحصر به فرد، کامل، یکپارچگی ارجاع.
پروفایل: توزیع، کاردینالیتی، «رانش» علائم.
مانیتورینگ: تاخیر خط لوله p50/p95، نرخ افت، بودجه خطا.
خط مشی تخریب: بازگشت خودکار (آخرین عکس فوری)، هشدارها و تست های T برای معیارها.

نمونه ای از قرارداد DQ (YAML):
yaml table: silver. payments rules:
- name: amount_positive type: range column: amount min: 0. 01
- name: currency_valid type: in_set column: currency set: [EUR,USD,GBP,TRY,BRL]
- name: unique_tx type: unique columns: [transaction_id]
slo:
freshness_minutes: 15 completeness_percent: 99. 5

8) حفظ حریم خصوصی و انطباق

PII minimization and masking: ذخیره شبه شناسه، نقشه های جداگانه نگاه کردن.
منطقه بندی: سطل/کاتالوگ جغرافیایی (EEA/UK/BR)، «اقامت داده».
عملیات حقوقی: DSAR/RTBF (پیش بینی های قابل محاسبه و ویرایش های انتخابی)، نگهداری حقوقی، بایگانی گزارش غیر قابل تغییر.
ورود به سیستم: ممیزی جداول «حساس»، شیشه شیشه ای و دسترسی JIT را می خواند.

9) قابلیت مشاهده و مدیریت

Linege-Automatically وابستگی ها را از منبع به فروشگاه ردیابی می کند.
معیارهای خط لوله: توان، تاخیر، نرخ شکست، هزینه/GB، هزینه/پرس و جو.
Trace (OTel): 'trace _ id' از برنامه ها به رویدادها پرتاب می شود → ما یک مسیر درخواست پایان به پایان را ایجاد می کنیم.
هشدارها: بودجه SLO، ناهنجاری های تازگی/حجم/کاردینالیتی.

10) مدل دسترسی و امنیت

دسته بندی داده ها: عمومی/داخلی/محرمانه/محدود.
سیاست ها: امنیت ردیف/ستون ؛ ماسک پویا (PAN/IBAN/ایمیل).
مدیریت کلید: KMS/CMK، رمزگذاری در حالت استراحت/در حال حمل و نقل، چرخش.
تفکیک وظایف: نقش های جداگانه ای از prod/analyst/admin/reviewer.

11) مش داده و رویکرد محصول

Домены: پرداخت، گیم پلی، بازاریابی، ریسک، انطباق.
محصول داده: صاحب، SLA طراوت، فرهنگ لغت زمینه، تست ها، نسخه ها، متریک مصرف.
قراردادهای بین دامنه ها: نسخه، سازگار با عقب، تست های مبتنی بر مصرف کننده.

12) جریان های Fichestor و ML

ویژگی های رجیستری: شرح ویژگی، منابع، تحولات، SLO.
سازگاری آنلاین/آفلاین: یک کد تبدیل، تاخیر تحقق آنلاین ≤ 200-500 میلی ثانیه.
نظارت بر رانش: PSI/KS، هشدار خودکار و رول بک مدل، کنترل PII.
مجله آزمایش: ابرداده، نسخه، تکرارپذیری، نقشه های مدل.

13) مدل نهایی و بهینه سازی هزینه

تقسیم بندی و Z-order/Cluster توسط predates مکرر.
ذخیره سازی سرد و TTL برای جداول استفاده نشده، VACUUM.
نماهای تحقق یافته فقط برای الگوهای پرس و جو پایدار.
سهمیه و بودجه برای مشاغل سنگین ؛ شارژ توسط تیم.

14) توپولوژی منطقه ای و چند مستاجر

چند منطقه فعال فعال: تکرار تم ها و جداول، محیط خط لوله مستقل.
Failover/DR: اهداف RPO/RTO، عکس های ابرداده ارکستر، بررسی بازیابی.
چند اجاره: جداسازی دایرکتوری/کلید/سهمیه بندی، مارک tenant_id.

15) فرآیندها و RACI (به طور خلاصه)

R: پلت فرم داده (مصرف، ذخیره سازی، ارکستراسیون)، مهندسی داده (تبدیل).
A: رئیس داده/افسر ارشد داده.
C: انطباق/قانونی/DPO، معماری، SRE.
I: BI/Analytics، محصول، بازاریابی، امور مالی.

16) SLO/SLI برای جریان

تازگی: تاخیر p95 نقره ≤ 15 دقیقه، طلا (روزانه) آماده ≤ قفل 06:00. زمان.
کیفیت: ≥ 99 5٪ از رویدادها در هر پنجره T.

اعتبار: میزان خطای چک DQ <0. 5 درصد از حجم

در دسترس بودن: ≥ 99. 9٪ برای BI/API ویژگی.

17) قالب های جدول و پارتیشن بندی

sql
-- Bronze: Deposit events
CREATE TABLE bronze. payment_deposits (
event_time TIMESTAMP,
event_id STRING,
user_pseudo_id STRING,
amount DECIMAL(18,2),
currency STRING,
psp_ref STRING,
payload VARIANT
)
PARTITION BY DATE(event_time)
CLUSTER BY (currency);

-- Silver: normalized model
CREATE TABLE silver. payments AS
SELECT event_id,
CAST(event_time AS TIMESTAMP) AS ts,
user_pseudo_id,
amount,
currency,
psp_ref
FROM bronze. payment_deposits
QUALIFY ROW_NUMBER() OVER (PARTITION BY event_id ORDER BY ts) = 1;

18) ارکستراسیون و DevX

Infra-as-Code: مخازن خط لوله، تست ها، بررسی ها، GitOps.
قراردادهای داده CI: خطوط مدار، تست DQ قبل از استقرار.
چارچوب Backfill: فرآیندهای یکپارچهسازی با سیستمعامل امن با R/W و محدودیت idempotency.
کاتالوگ ها و قالب ها: ژنراتور کوکی برش، بهترین شیوه ها.

19) پیاده سازی نقشه راه

MVP (4-6 هفته):

1. اتوبوس رویداد + مصرف 2-3 منابع کلیدی (OLTP CDC، API دروازه).

2. دریاچه برنز/نقره ای، فرمت ACID، کاتالوگ و قوانین اساسی DQ.

3. 1-2 موارد طلا (روزانه GGR و قیف تبدیل).

4. معیارهای تاخیر/کامل بودن، خط اصلی، RBAC و ماسک PII.

مرحله 2 (6-12 هفته):
  • واحدهای جریان (تاخیر p95 ≤ 5 دقیقه)، فروشگاه ویژگی، ویترین RG/AML.
  • لایه معنایی معیارها، SLA برای گزارش ؛ داشبورد هزینه.
  • منطقه بندی (EEA/UK)، روش DSAR/RTBF، نگهداری قانونی برای مصنوعات.
مرحله 3 (12 + هفته):
  • Data Mesh: دامنه های محصول، قراردادهای مبتنی بر مصرف کننده.
  • عملیات ML با نظارت بر رانش، مذاکره خودکار آنلاین/آفلاین.
  • شبیه سازی خودکار تغییرات طرح (تجزیه و تحلیل تاثیر) و «چه اگر» با هزینه.

20) اشتباهات مکرر و چگونگی اجتناب از آنها

بارهای خام بدون طرح: اجرای طرح اول، ثبت نام و اعتبار سنجی CI.
بدون deduplication - کلید رویداد و synks idempotent در نقره ای.
PII را با تجزیه و تحلیل مخلوط کنید - نقشه های جداگانه و زمینه های ماسک.
طلا بدون مالک: معیارهای مالک، SLO و مصرف را تعیین کنید.
هیچ استراتژی بازفرآوری وجود ندارد: سفر در زمان، نسخهبندی منطقی، کنترل «شمارش دوگانه».
مقدار غیر قابل کنترل: دسته ها، فشرده سازی، TTL، قابلیت مشاهده ارزش.

21) واژه نامه (کوتاه)

CDC - گرفتن تغییرات از OLTP.
Outbox - ما رویدادهای دامنه را به صورت transactionally منتشر می کنیم.
واترمارک - ارزیابی کامل بودن جریان برای پنجره ها.
دریاچه - دریاچه داده + جداول اسید.
محصول داده - واحد محصول داده با مالک و SLO.
فروشگاه ویژگی - توزیع سازگار از ویژگی های ML.

22) خط پایین

معماری جریان داده یک سیستم مدیریت ترتیبات است: قراردادهای روشن، قابلیت مشاهده، امنیت و هزینه تحت کنترل. پس از الگوهای توصیف شده (طرح اول، برنز/نقره/طلا، CDC + Outbox، DQ و اصل و نسب، حریم خصوصی توسط طراحی)، این پلت فرم به طور قابل اعتماد کسب و کار، انطباق و ML را با داده های با کیفیت با SLO های قابل پیش بینی و هزینه قابل درک مالکیت تامین می کند.

Contact

با ما در تماس باشید

برای هرگونه سؤال یا نیاز به پشتیبانی با ما ارتباط بگیرید.ما همیشه آماده کمک هستیم!

Telegram
@Gamble_GC
شروع یکپارچه‌سازی

ایمیل — اجباری است. تلگرام یا واتساپ — اختیاری.

نام شما اختیاری
ایمیل اختیاری
موضوع اختیاری
پیام اختیاری
Telegram اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

با فشردن این دکمه، با پردازش داده‌های خود موافقت می‌کنید.