GH GambleHub

Maglumat konweýerlerini barlamak

1) Näme üçin maglumat konweýerlerini synagdan geçirmeli?

Maglumat konweýerleri (ingest → transform → serve) - hasabat, ML we operasiýa çözgütleri üçin möhüm infrastruktura. Ýalňyşlyklar nädogry metriklere, frod-signallara we pul ýitgilerine öwrülýär. Synag:
  • Hakykylyk (correctness) we durnuklylyk (resilience).
  • Üýtgeşmeleriň çaklanylyşy (schema/logic evolution).
  • Täzelik, dolulyk, gizlinlik boýunça SLO-ny berjaý etmek.
  • Awtomatlaşdyrylan barlagyň hasabyna çalt goýberiş (goýberiş tizligi).

2) Maglumatlary barlamagyň piramidasy

Aşakdan ýokary: köp çalt lokal synaglar → az integrasiýa → birneme gutardy.

1. Birleşen üýtgeşiklik synaglary (funksiýalar, UDF, SQL-widler, dbt-modeller).
2. Maglumatlaryň hiliniň synaglary (täzelik/doly/özboluşlylyk/diapazon düzgünleri).
3. Şertnamalar we shemalar (shema/contract tests, ewolýusiýa).
4. Paýplanyň integrasiýa synaglary (DAG: ingest storage transform).
5. E2E-synaglar (çeşmeden penjirä/API), şol sanda hukuklar (RLS/CLS) we eksport.
6. Ýük/öndürijilik (göwrüm, tizlik, cost-to-serve).
7. Maglumatlaryň bulam-bujarlygy (gijikdirmeler, dublikatlar, out-of-order, elýeterlilik).

3) Synaglaryň görnüşleri: nämäni barlaýarys

3. 1 Mantyk synaglary

Arassa özgeriş funksiýalary; property-based (invariantlar: idempotentlik, monotonlyk).
SQL/DBT: netijäni standart (golden set) bilen deňeşdirmek, "SELECT" gadaganlygy, süzgüçleri wagt boýunça barlamak.

3. 2 Data Quality Tests (DQ)

Täzelik: penjireleri maksat bosagasyna ≤.
Dolulygy: garaşylýan sany/doldurylyş paýy.
Özboluşlylygy: dublikatsyz açarlar.
Domen düzgünleri: diapazonlar, salgylanma bitewiligi, işewürlik üýtgemeleri.
Anomaliýalar: outliers, dublikat partlamalary, wagt aralyklary.

3. 3 Şertnamalar we shemalar

Üýtgeşmeleriň laýyklygy (SemVer: MAJOR/MINOR/PATCH).
Hökmany sütünleriň, görnüşleriň, çäklendirmeleriň bolmagy.
Kesgitlenen KPI semantikleri: formulalar we agregasiýa penjireleri.

3. 4 Integrasiýa we E2E

DAG bitewiligi: triggerler, endikler, idempotent gaýtalanmagy.
Doly ýol: çeşme → raw → curated → marts → BI/API; RLS/CLS.

3. 5 Öndürijilik we çykdajylar

p95/p99 joblaryň gizlinligi, throughput (rows/s), göwrümi/bahasy.
Öndürijilik regressiýalarynyň synaglary we skaner çäkleri.

3. 6 Howpsuzlyk we gizlinlik

PII/PCI maskalanmagy (determinizasiýa).
RLS/CLS barlagy: Ulanyjylar diňe özlerini görýärler.
Eksport/snepshotlar: "çig" şahsy meýdanlaryň ýoklugy.

4) Akym aýratynlygy (Kafka/Flink/Spark Structured Streaming)

Watermarks we lateness: gijä galan wakalar bilen penjire synaglary (T + Δ), dogry hasaplamalar.
Exactly-once manysy boýunça: 'event _ id', idempotent ýazgysy (upsert/merge).
Out-of-order: 'event _ time' boýunça agregatlara üýtgeşikler; 'ingested _ at' -y düzedýäris.
Ýitirmek/gaýtalamak: bölek/bölek oýnuny simulýasiýa edýäris, penjireleriň dogrulygyny barlaýarys.

5) Idempotentlik we determinizm (nämäni we nädip synagdan geçirmeli)

Ädimiň täzeden başlamagy şol bir netijäni berýär (penjiräniň parametrleri birmeňzeş bolanda).
Ýazgy - staging we atomic swap arkaly.
Merge-logika SCD1/SCD2 bilen gapma-garşylyk synaglary (last-write-wins, source priority) bilen örtülendir.
UDF/agregatlaryň kesgitleýişi: birmeňzeş girelgeler → birmeňzeş çykýanlar.

6) Synag maglumatlaryny dolandyrmak

Golden datasets: el bilen tassyklanan kiçi standartlar.
Sintetika + maglumat fabrikleri: domeniň gyralaryny örtmek (nulls, extreme values, Unicode, TZ).
De-kesgitlenen prod-sampllar: şahsy durmuşyň laýyklygy.
Gatlak fiksturalary: çig wakalar, aralyk gatlaklar, jemleýji penjireler.

7) Maglumatlaryň şertnamalary: mysal we düzgünler

YAML-şertnama (ýönekeýleşdirilen):
yaml dataset: orders schema:
- name: order_id; type: string; unique: true
- name: user_id; type: string; not_null: true
- name: amount; type: decimal(18,2); min: 0
- name: event_time; type: timestamp; tz: UTC freshness_sla: 10m dq_rules:
- "pct_null(user_id) < 0. 1%"
- "duplicates(order_id) = 0"
- "sum(amount) >= 0"
evolution:
allowed_minor_additions: true breaking_changes_require: approval: 'data-governance'
actions_on_violation:
- quarantine_partition
- replay_last_60m

8) Synlamak we SLO synaglary

Metrleriň eksporty: Freshness, Completeness, Uniqueness, Latency - Grafana/Prometheus.
SLO-alertler "gyzyl" unit Synthetics synaglary.
Regressiýalaryň habarlary: "X p95 ↑ çykarylandan soň 40%".

9) CI/CD we gurşaw

CI: birlik + DQ + PR şertnamalary; schema-diff; SQL-iň statiki derňewi (linter).
Sandbox/staging: howpsuz maglumatlar bilen integrasiýa we e2e, bulam-bujarlyk synaglary.
Feature-flags: kanar joblary/modelleri/formulalary.
Kataloglaşdyrmak: shemalaryň, formulalaryň KPI, lineage görnüşi; resminamalary awtomatiki täzelemek.

10) Maglumatlaryň bulam-bujarlygyny barlamak (Chaos-Data)

Dublikatlary/paslary, gijikdirmeleri sanjym etmek, out-of-order.
Brokeriň/partiýanyň ýykylmagy, "döwülen" faýllar, shema drift.
Awto-abatlaýyş (replay/backfill), quarantine we alertler, MTTR-data.

11) Ýüklemek we çykdajy

P95/pikli traffik generatorlary.
Skan/ädim çäkleri (bytes scanned, time caps).
A/B baha profilleýji: "köne" vs "täze" model/haýyş.

12) Gurallar (takmynan synplar)

DQ/Şertnamalar: dbt tests, Great Expectations, Deequ, Soda, Custom linters.
Orkestr: Airflow/Dagster/Argo/Prefect (her ädimde synag üçin operatorlar).
Platformalar: BigQuery/Snowflake/Redshift/ClickHouse/Delta/Iceberg/Hudi.
Akym: Kafka, Flink, Spark Streaming; Lokal gurşaw üçin TestContainers.
Observability: Prometheus/Grafana/Otel; DataHub/Amundsen/Collibra kataloglary.

13) Antipatternler

"Synag etjek zat ýok - bu diňe SQL": birlik ýok we DQ → metrikler döwülýär.
Diňe E2E: haýal, durnuksyz, döwülmegiň sebäpleri belli däl.
SELECT: MINOR ewolýusiýasynda bozulýar.
Synaglarda ALTP-ni göni okamak: durnuksyzlyk we fleýka.
Golden-setleriň ýoklugy: netijeleri deňeşdirip boljak zat ýok.
Idempotentlik synaglary ýok: gaýtadan başlamak maglumatlary bozýar.
Unudylan akym: lateness/out-of-order/gaýtadan eltip bermek synagdan geçirilmeýär.

14) Durmuşa geçirmegiň ýol kartasy

1. Bazis: birlik-transformasiýa synaglary, altyn-toplumlar, SQL linter, DQ-düzgünler top-10 vitrin.
2. Şertnamalar: CI, SemVer-de schema-diff, awtomatiki laýyklyk barlagy.
3. Integrasiýalar: DAG-synaglary, idempotency, e2e möhüm akymlar üçin.
4. Akym: synaglar watermarks/lateness, dedup/idempotent sinks.
5. SLO we bulam-bujarlyk: önümdäki hil metrikleri, aladalar, bulam-bujarlyk ssenarileri, MTTR maksatlary.
6. Optimizasiýa: perf-regressiýa, býudjet-gwardlar, kanar relizleri.

15) Goýberilmezden öň çek-sanawy

  • Unit synaglary esasy üýtgeşmeleri we UDF-leri öz içine alýar.
  • Täze/doly/üýtgeşik/diapazonlar üçin DQ düzgünleri geçýär.
  • Şertnamalar we schema-diff ýaşyl; appruwsyz bozulýan üýtgeşmeler ýok.
  • Idempotentlik barlandy; atomic sink/merge işleýär.
  • Akym: watermarks/late data/out-of-order örtülendir; dedup ýerinde.
  • SLO metrikleri görkezilýär; alertler konfigurasiýa edildi; runbooks bar.
  • Synag maglumatlary howpsuz; PII gizlenen; RLS/CLS barlandy.
  • Perf regressiýalary ýok; skaner/wagt çäkleri berjaý edildi.
  • Esasy ssenariýalaryň bulam-bujarlyk synaglary geçdi; MTTR-maksada ýetmek.

16) Kiçi şablonlaryň mysallary

16. 1 Unit SQL synagy (psevdo-dbt):

sql
-- tests/assert_positive_amount. sql select count() as c from {{ ref('fct_payments') }}
where amount < 0 having c = 0

16. 2 Täzelik düzgüni (Great Expectations-stil):

yaml expect_table_row_count_to_be_between:
min_value: 1000 mostly: 0. 99 expect_column_values_to_not_be_null:
column: user_id expect_column_values_to_be_unique:
column: txn_id

16. 3 Akymdaky lateness barlagy (pseudo-kod):

python emit(events_out_of_window <= threshold)
emit(reprocessed_events == late_events_detected)

16. 4 Contract-test (schema-diff CI):

bash schema-diff --current models/orders. yml --target prod_schema. yml --semver

17) Jemleýji

Maglumat konweýerlerini synagdan geçirmek dürli-dürli barlaglaryň toplumy däl-de, ulgamlaýyn düzgün-nyzamdyr. Synaglaryň piramidasyny, şertnamalary we syn edilişini dempotentlik, shemalaryň ewolýusiýasy we akym üýtgemeleri bilen birleşdiriň. Şonda neşirler çalt, hadysalar seýrek we gysga bolar we maglumatlara bolan ynam durnukly bolar.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Telegram
@Gamble_GC
Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.