Logo GH

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

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 اختیاری
@
اگر تلگرام را وارد کنید — علاوه بر ایمیل، در تلگرام هم پاسخ می‌دهیم.
WhatsApp اختیاری
فرمت: کد کشور و شماره (برای مثال، +98XXXXXXXXXX).

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