GH GambleHub

Müxtəlif mənbələrdən məlumatların birləşməsi

Müxtəlif mənbələrdən məlumatların birləşməsi

Məlumatların birləşməsi müxtəlif axınların (məhsulların DB, CRM, ödəniş provayderləri, hadisə qeydləri, üçüncü tərəf reyestrləri) bütöv varlıqlara və konsistent vitrinlərə birləşdirilməsi prosesidir. Məqsəd analitika, ML və əməliyyat halları üçün «qızıl rekord» (Golden Record) və razılaşdırılmış kəsiklər əldə etməkdir.

1) Tipik ssenarilər və məqsədlər

360 ° mahiyyətcə: müştəri/oyunçu, cihaz, ödəniş aləti, satıcı.
Əməliyyatların konsolidasiyası: bir neçə PSP/kassa → məcburi idempotentlik ilə vahid jurnal.
Hadisələrin normallaşdırılması: web/mobile/backend logi → hadisələrin vahid lüğəti.
Zənginləşdirmə: xarici kataloqlar (geo, FX, AML/sanksiyalar, marketinq mənbələri).
Vahid metriklər: valyutaların/taymzonların, sxemlərin və kodların əlaqələndirilməsi.

2) Mənbə müqavilələri və sxemlər

Başlamazdan əvvəl - hər bir mənbə üçün məlumat müqaviləsi:
  • Sxem: sahələr, tiplər, sıfır, açar (lar), dəyər domenləri.
  • Semantika: Hər bir sahə (lüğət) nə deməkdir.
  • SLA: təzəlik/tezlik, maksimum gecikmə və out-of-order.
  • Təkamül: sxemlərin dəyişdirilməsi siyasəti (backward/forward), deprecation.
  • Keyfiyyət: açarların unikallığı, icazə verilən diapazonlar, istinad bütövlüyü.

3) Identifikasiya: açarlar və müqayisə (record linkage)

3. 1. Sərt identifikatorlar

Təbii açarlar: 'user _ id', 'transaction _ id', 'device _ id', 'iban'.
Proxy açarları: e-mail/telefon (normallaşdırma ilə: registr, boşluqlar, ölkə kodları).
Surroqatlar: universal açar olmadıqda hub cədvəllərində 'surrogate _ id'.

3. 2. Yumşaq müqayisə qaydaları

Determinizasiya: normallaşdırılmış e-mail + DR-nin dəqiq üst-üstə düşməsi; «ev «/» mob »telefon → E.164.
Ehtimal (fazzi): Ad/ünvan üçün Jaro-Winkler/Levenshtein, TF-IDF/sətirlər üçün embeddingi, sürətləndirmək üçün kobud hash/prefikslərdə «bloklama» (blocking).
Qrafik yanaşmalar: düyünlər kimi mahiyyətlər, qabırğalar kimi uyğunluqlar; bağlılıq komponenti klasterləşdirilməsi.
«Addım-up» strategiyası: sərt qaydalardan «sərhəddə» əl səsləri ilə yumşaq qaydalara.

3. 3. Konsolidasiya qaydaları (survivorship)

Mənbə prioriteti: dəyər toqquşması olduqda «KYC-reyestr> CRM> log».
Təravət: daha yeni bir zaman nişanı qazanır (etibarlılığa uyğunlaşdırılır).
Doldurulma: prefer non-NULL; çoxluqların birləşməsi ilə ünvanların/etiketlərin birləşməsi.
Audit: «həll izi» saxlayın - nəyi və niyə yenidən yazdınız?

4) Deduplikasiya və MDM

MDM-qat (Master Data Management): masa «master» + rabitə «mənbə → master».
Golden Record: 'confidence '/həqiqət mənbəyi ilə yığılmış giriş.
Tarix: SCD tipi 2 zamandan asılı atributlar üçün (ünvan, KYC statusu).
Kimliklər: «birləşmə «/« tökmə »tarixləri olan merj cədvəlləri (merge map).

5) Dəyişiklik axını: CDC, gecikmiş və təkrarlanan

CDC (Change Data Capture): события `insert/update/delete` + `source_lsn`/offset.
Gecikmiş hadisələr: su işarələri (watermarks) və gözləmə pəncərələri (grace period), gecikmiş yeniləmələrin düzəldilməsi üçün saxlanması.
Out-of-order: yeniləmələri kompensasiya edən açar və vaxt sıralaması.
Dublikatlar: idempotent açarları ('event _ id', 'idempotency _ key'), pəncərədə dedup.
Exactly-once: əməliyyat sings/store, determinated məntiqi ilə «MERGE».

6) Taymzonlar, valyutalar və təqvim

Vaxt: UTC + lokallaşdırılmış kəsiklər saxlamaq; açıq saxlamaq 'ingested _ at' və 'event _ time'.
Valyutalar: Əməliyyat tarixindəki məzənnə ilə «xam valyuta» və normallaşdırılmış «base _ ccy» saxlayın.
Təqvimlər: ədalətli müqayisə üçün bölgələr üzrə tətil/iş günləri cədvəlləri.

7) Birləşmə üçün Psevdo-SQL (upsert/merge)

7. 1. Əməliyyatlar (idempotent jurnalı)

sql
MERGE INTO fact_transactions t
USING staging_transactions s
ON t. txn_id = s. txn_id
WHEN MATCHED AND s. updated_at > t. updated_at THEN
UPDATE SET amount = s. amount,
currency = s. currency,
status = s. status,
updated_at = s. updated_at
WHEN NOT MATCHED THEN
INSERT (txn_id, user_ext_id, amount, currency, status, event_time, updated_at)
VALUES (s. txn_id, s. user_ext_id, s. amount, s. currency, s. status, s. event_time, s. updated_at);

7. 2. «Qızıl giriş» istifadəçi (prioritet mənbə + təravət)

sql
WITH ranked AS (
SELECT s. ext_user_id,
s. norm_email,
s. phone_e164,
s. addr_struct,
s. source,
s. updated_at,
ROW_NUMBER() OVER (
PARTITION BY s. ext_user_id
ORDER BY
CASE s. source
WHEN 'KYC' THEN 1 WHEN 'CRM' THEN 2 ELSE 3 END,
s. updated_at DESC
) AS rn
FROM staging_users s
)
MERGE INTO dim_user_golden g
USING ranked r
ON g. ext_user_id = r. ext_user_id
WHEN MATCHED AND r. rn = 1 THEN
UPDATE SET email = COALESCE(r. norm_email, g. email),
phone = COALESCE(r. phone_e164, g. phone),
address = COALESCE(r. addr_struct, g. address),
source_of_truth = r. source,
updated_at = r. updated_at
WHEN NOT MATCHED AND r. rn = 1 THEN
INSERT (ext_user_id, email, phone, address, source_of_truth, updated_at)
VALUES (r. ext_user_id, r. norm_email, r. phone_e164, r. addr_struct, r. source, r. updated_at);

8) Keyfiyyət və test

Sxem testləri: məcburi sahələr, tiplər, domenlər.
Məntiq testləri: açarın unikallığı, dublikatların olmaması, «zamanda geri» yoxdur.
Müqayisələr (reconciliation): mənbə üzrə məbləğlər vs yekun vitrin; uyğunsuzluqlar → biletlər.
Profil: paylama, NULL payı, «uzun quyruqlar».
Birləşmə metrikası: precision/recall müqayisə, «CONFLICT» payı, astana ≥ confidence ilə% qeydlər.

9) Müşahidə və SLO

SLO təravət: lag vitrin ≤ N dəqiqə/saat; gecikmələrin monitorinqi və backlog.
Alertlər: təkrarların böyüməsi, münaqişələrin artması, açarların düşməsi.
Lineage qeydləri: hansı mənbədən sahəni, nə vaxt və kim tərəfindən yenidən yazılmışdır.
Runibuki: hadisə ssenariləri (gec partiyalar, fırtına CDC, səhv FX).

10) Təhlükəsizlik, gizlilik, uyğunluq

PII: psevdonimizasiya, identifikatorların heşləşdirilməsi, BI-də maskalanması.
RLS/CLS: rollar və sətirlər üzrə giriş; ixrac - tokenlər və raf ömrü ilə.
Verilənlərin ömrü: saxlama qrafikləri; silinmə hüququ (DSAR) və «legal hold».
Anti-birləşmə (re-identification): həssas cədvəllərin joyns minimuma endirilməsi qaydaları.

11) Model və məlumatların təşkili

Laylar: 'raw' (olduğu kimi) → 'staging' (təmizləmə/normallaşdırma) → 'core' (mahiyyət, fakt/ölçmə) → 'marts' (analitik vitrinlər/ML).
SCD: atributlar üçün tip 2, səhv düzəltmək üçün tip 1; açıq 'valid _ from/valid _ to'.
Feature Store: Çevirmə funksiyaları onlayn/oflayn olaraq eynidir; point-in-time düzgünlük.

12) Satış nümunələri

Semantik təbəqə ilə ELT: birləşmə məntiqi deklarativ təsvir edilmişdir (qaydalar, prioritetlər, açarlar).
Stream + mikrobatch: near-real-time vitrin üçün - watermarks ilə mikrobatçi 1-15 dəq.
Graph-linkage: mürəkkəb identifikasiya üçün ayrı bir qrafik hub (cihazlar, kartlar, ünvanlar).
Step-up validation: yeni linkage qaydaları shadow rejimində daxil, dəqiqlik metrik yığmaq.

13) Birləşmə konturunun buraxılmasından əvvəl çek siyahısı

  • Mənbə müqavilələri imzalanmışdır; sxemlər və sahə lüğətləri razılaşdırılır
  • linkage açarları/qaydaları müəyyən; duplikasiya strategiyası var
  • Survivorship qaydaları və mənbələrin prioritetləri müəyyən edilmişdir; audit-log daxil
  • CDC/idempotentlik/gec data emalı həyata
  • Valyutalar/taymzonlar/təqvim normallaşdırılıb
  • Keyfiyyət testləri və yoxlamalar özelleştirilmiş; müşahidə panelləri var
  • SLO təravət və mövcudluğu qeyd; Alertlər və Runibook hazır
  • PII/Access/saxlama uyğunluq tələblərinə cavab verir
  • Sənədləşmə: mahiyyət pasportu, lineage sxemi, sorğu nümunələri

14) «Qızıl qeyd» pasportu (şablon)

Mahiyyət: 'USER _ GOLDEN'

Açar: 'user _ master _ id' (surrogate), mappinqlər 'source _ user _ id []'

Sahələr və qaydalar:
  • 'email': normallaşma + prioritet 'KYC> CRM> LOGS'
  • 'phone': E.164 normallaşdırılması, split yoxlama
  • `name`: Jaro-Winkler ≥ 0. 92, fallback - mənbə «KYC»
  • 'address': kompozit obyekt; birləşmə + təravət prioriteti
  • Tarix: SCD2 ('valid _ from/valid _ to')
  • Lineage: donor sahələrinin istinad siyahısı
  • Keyfiyyət: coverage ≥ 98%, təkrarlanan ≤ 0. 3%
  • SLO: təravət ≤ 1 saat, mövcudluq ≥ 99. 9%
  • Sahibləri: Data Platform, KYC/AML
  • Risklər: ad toqquşmaları, «ailə» telefonları, shared-devices

15) Nəticələr və tövsiyələr

Birləşmə yalnız «açar JOIN» deyil, kontur: mənbələrin müqavilələri → identifikasiya və dedup → prioritetlər və «qızıl qeyd» → CDC və gecikmiş → keyfiyyət və müşahidə → təhlükəsizlik və dəyişiklik tarixi.
Qaydaları şəffaf qurun, hər bir həll auditini saxlayın, SCD və exactly-once-ni dəstəkləyin. Beləliklə, onlarla mənbədən alınan məlumatlar etibarlı vitrinlərə və məhsul, analitiklər və ML üçün davamlı metriklərə çevrilir.

Contact

Bizimlə əlaqə

Hər hansı sualınız və ya dəstək ehtiyacınız varsa — bizimlə əlaqə saxlayın.Həmişə köməyə hazırıq!

Telegram
@Gamble_GC
İnteqrasiyaya başla

Email — məcburidir. Telegram və ya WhatsApp — istəyə bağlıdır.

Adınız istəyə bağlı
Email istəyə bağlı
Mövzu istəyə bağlı
Mesaj istəyə bağlı
Telegram istəyə bağlı
@
Əgər Telegram daxil etsəniz — Email ilə yanaşı orada da cavab verəcəyik.
WhatsApp istəyə bağlı
Format: ölkə kodu + nömrə (məsələn, +994XXXXXXXXX).

Düyməyə basmaqla məlumatların işlənməsinə razılıq vermiş olursunuz.