Paket məlumat emalı
1) Təyinatı və dəyəri
Batch konveyerləri etibarlı gündəlik/saatlıq vitrinlər təşkil edir:- Tənzimləyici və maliyyə hesabatları (GGR/NGR, vergilər, RG/AML reyestrləri).
- BI və məhsul analitikası (kohortlar, LTV, konversiya huniləri).
- Doğruluq (OLTP, DWH, provayderlər/PSP), tarixləşmə (SCD).
- ML üçün fitnes və təlim dəstlərinin hazırlanması.
Əsas xüsusiyyətlər: proqnozlaşdırıla bilənlik, tamlıq, təkrarlanabilirlik, məlumat vahidi üçün aşağı qiymət.
2) Memarlıq (istinad)
1. Ingest (raw capture): HTTP/gRPC, ALTP-dən CDC, provayder yükləmələri → Bronze.
2. Lakehouse: Bronze (raw, append-only) → Silver (clean/conform) → Gold (serve).
3. Orkestrasiya: Airflow/Dagster/Prefect (DAG 'i, asılılıq, retray, SLA).
4. Emal: Spark/Trino/DBT/SQL mühərrikləri; partizan və ACID formatları (Delta/Iceberg/Hudi).
5. DQ və Müqavilələr: Schema Registry, DQ Qaydaları (YAML/SQL), consumer-tests.
6. Xidmət: BI/semantik təbəqə, hesabat ixracatı (CSV/PDF/JSON + hash), API/GraphQL.
7. Müşahidə: payplayn metrikası, lineage, log, qiymət (cost/GB, cost/query).
3) Tezliklər və SLAs
Gündəlik (D + 1 - 06:00 lok.) : GGR hesabatları, tənzimləyici boşaltmalar, yoxlamalar.
Saatlıq/kvazirealtaym: Ops/Maliyyə üçün əməliyyat panelləri.
Həftəlik/aylıq: maliyyə konsolidasiyası, modellər və retro proseslər.
- Gold-gündəlik vitrinlər yerli vaxtla 06: 00-a qədər hazırdır.
- Freshness Silver p95 ≤ mikrobatça üçün 15 dəq/gündüz üçün 2 saat ≤.
- Completeness ≥ 99. 5%, Validity (sxem) ≥ 99. 9%.
4) Artımlı yükləmələr və CDC
Yanaşmalar:- CDC (Change Data Capture): Debezium/log-replikasiya → Bronze → Silver inkrements.
- Watermark vaxtı ilə: 'updated _ at> max_loaded_ts'.
- Hash-müqayisə: 'md5 (row)' dəyişiklik detektivi üçün.
- Upsert/Merge: Silver/Gold.
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 (ölçmələrin tarixləşdirilməsi)
SCD I: yenidən yazma (imla, minor düzəlişlər).
SCD II: Tam funksional tarix ('valid _ from/valid _ to/is _ current').
SCD III: qısa müqayisə üçün «əvvəl/sonra».
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) Backfill и Reprocessing
Backfill: ilkin doldurma/tarixi yükləmə.
Reprocessing: məntiq/data düzəlişlərindən sonra vitrinlərin yenidən hesablanması.
- İdempotentlik (MERGE/upsert), Bronze dəyişməzliyi, məntiq versiyası.
- Təkrar qaçışlar üçün Time-travel; metadata snapshot.
- Guardrails: diapazonları, kvotaları və rəqabətli jobları məhdudlaşdırın.
- Sənədləşmə: runbook addımlar və tamamlama meyarları ilə.
7) Qatların modelləşdirilməsi
Bronze:- Append-only, partiyalar 'event _ date', 'jurisdiction', 'tenant'.
- Orijinal payload (forensika üçün) saxlayırıq, 'ingested _ at' yazırıq.
- Normallaşma və standartlaşdırma: FK/kataloqlar, dedup, FX/taymzonlar.
- Fakt/Ölçmə cədvəlləri (3NF/BCNF), əsas ölçmələr üçün SCD.
- BI/tənzimləyici/maliyyə altında denoralize vitrinlər, SLA hazırlıq.
- Aqreqatların materiallaşdırılması; dəyişməz ixrac artefaktları (hash + WORM).
8) Məlumat keyfiyyəti (DQ-kod kimi)
Silver üçün YAML qaydalarının nümunəsi: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
Reaksiya siyasəti: critical → fail job + DLQ; major/minor → tag + hesabat.
9) Semantik təbəqə və hesabat
Semantic-layer/metrics-store-da metriklərin vahid tərifləri (GGR/NGR, ARPPU, Retention).
Metrik versiyası; BI/ixrac paketləri ilə inteqrasiya.
Hesabatlar: CSV/JSON/PDF + sha256, boşaltma jurnalı və lazım olduqda Legal Hold.
10) Gizlilik, rezidentlik, təhlükəsizlik
PII-minimallaşdırma: istifadəçilərin təxəllüsləşdirilməsi; mapping - ayrıca qorunan konturda.
Data residency: EEA/UK/BR ilə ayrı kataloqlar/açarlar; hüquqi əsas olmadan cross-regional join 'oların qadağan.
Şifrələmə: TLS in-tranzit; KMS/CMK at-rest; ixraca nəzarət.
DSAR/RTBF: hesablanabilir proyeksiyalar, seçici redaktələr; giriş auditi.
Legal Hold: tənzimləyici artefaktlar üçün WORM arxivləri.
11) Performans və dəyəri
Tarix/bazar/tenant üzrə partizanlaşdırma; Tez-tez predikatlar üçün Z-order/cluster.
Formatlar: Parquet + ACID cədvəlləri; sıxılma/statistika, OPTIMIZE/VACUUM.
Materiallaşma: Gold-da sabit aqreqasiya; «monolit» joblardan qaçın.
Kvotalar/büdcələr: komandalar üçün chargeback; backfill limitləri/ağır sorğular.
Planlaşdırma: aşağı yük pəncərələri (gecə/həftə sonu), növbə prioritetləri.
12) Müşahidə və nəzarət
Payplaynlərin metrikası: duration, success rate, retries, rows processed, cost/query.
DQ metrikası: completeness, validity, uniqueness, FK səhvləri, drift.
Freshness heatmap: domenlər və bazarlarda; SLA daşbordları.
Lineage: Bronze-dən hesabatlara; dəyişikliklər əvvəl impact-analiz.
Alertlər: SLO büdcələri, DQ deqradasiyaları, gecikmələr, dəyər artımı.
13) SQL/model nümunələri
Valyutaların normallaşması (Silver):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 gündəlik vitrin (Gold):
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;
Tam nəzarət (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) Proseslər və RACI
R (Responsible): Data Engineering (DAG 'i, Silver/Gold modelləri), Data Platform (infra, sxem registri, DQ).
A (Accountable): Head of Data / Chief Data Officer.
C (Consulted): Compliance/Legal/DPO (PII/retention), Finance (FX/GGR), Risk (RG/AML), SRE (SLO/стоимость).
I (Informed): BI/Məhsul/Marketinq/Əməliyyatlar.
15) Tətbiqi yol xəritəsi
MVP (4-6 həftə):1. Lakehouse Bronze/Silver (ACID formatı), CDC/2-3 domen üçün inkrementlər.
2. DQ-kimi kod: Payments/Gameplay + CI-validasiya üçün 10-15 qaydaları.
3. SLA ilə ilk Gold vitrin (GGR Daily) 06:00; hesabat ixracı + hash.
4. Daşbordlar Freshness/Completeness/Cost, baza riskləri.
Faza 2 (6-12 həftə):- SCD II для users/games/providers; domenlərin genişləndirilməsi.
- Metriklərin semantik təbəqəsi; OLTP/provayderləri ilə yoxlama (accuracy).
- Backfill/reprocessing, lineage və impact-analizi, regionlaşdırma (EEA/UK) prosedurları.
- Avtomatik dəyişiklik simulyasiyası (dry-run), büdcələr/kvotalar, chargeback.
- Avtomatik sənədləşdirmə (data product pages), DR-təlimlər və time-travel-bərpa.
- Qiymətin optimallaşdırılması (klasterləşdirmə, materiallaşdırma, TTL, vakuum).
16) Satış öncəsi yoxlama siyahısı
- Registry-də müqavilələr və sxemlər, uyğunluq testləri yaşıl.
- Artımlı downloads/CDC çalışır, MERGE idempotentdir.
- DQ qaydaları aktivdir; critical → fail + DLQ; pozuntular haqqında hesabat.
- SLA/təravət/dolğunluq daşbordları; alertlər qurulmuşdur.
- PII/DSAR/RTBF/Legal Hold siyasətləri Qanuni/DPO tərəfindən təsdiqlənmişdir.
- Runbook 'və backfill/reprocessing/DR test edilmişdir.
- Nəzarət altında qiymət (cost/query, cost/GB, kvotalar).
17) Anti-nümunələr və necə qarşısını almaq olar
Monolit gecə jobları: müstəqil addımlara parçalayın, partizanlara paralel olun.
ehtiyac olmadan Full-reload: Inkrements/CDC/merji istifadə edin.
Analitikada PII qarışdırma: mappinqləri ayrıca saxlayın, CLS/RLS tətbiq edin.
DQ/lineage yoxdur: DQ kodunu daxil edin və mənşəyini izləyin.
«Əl» backfill 'lər: avtomatlaşdırın və sənədləşdirin, diapazonları məhdudlaşdırın.
İdarə olunmayan dəyər: klasterləşdirmə, materiallaşdırma, retenşn siyasəti.
18) Lüğət (qısa)
CDC - ALTP-dən dəyişikliklərin tutulması.
SCD - yavaş dəyişən ölçülər (I/II/III).
Lakehouse - data lake + ACID cədvəlləri.
MERGE/Upsert - idempotent yeniləmə əməliyyatları.
Time-travel - cədvəllərin tarixi versiyalarını oxumaq.
WORM - artefaktların dəyişməz saxlanması.
19) Yekun
Paket emalı proqnozlaşdırıla bilən, təkrar edilə bilən və komplayent konveyerlərin intizamıdır. Schema-first, increments/CDC, SCD-tarixləşdirmə, DQ-kimi-kod, müşahidə və şüurlu iqtisadiyyat prinsiplərinə əməl edərək, siz stabil Gold vitrinləri və hər an yoxlanılan və audit üçün hazır hesabatlar alacaqsınız.