Data pipeline — ma’lumotni manbadan qabul qilib, ketma-ket qayta ishlash bosqichlari orqali maqsadli storage, analytics yoki applicationga yetkazadigan tizimdir. Ingestion, validation, transform, enrichment, aggregation va output uning odatiy qismlaridir. Pipeline batch yoki streaming rejimida ishlashi mumkin.
Source va sink
Source database, file, API, message broker yoki sensor bo‘lishi mumkin. Sink data warehouse, search index, object storage yoki boshqa topicdir. Source schema, offset va delivery modeli pipeline kontraktiga kiradi.
Source mutable jadval bo‘lsa full snapshot yoki Change Data Capture ishlatiladi. Sink upsert, append yoki overwrite semantikasiga ega. Noto‘g‘ri key retryda duplicate yoki eski qiymatni bosish muammosi yaratadi.
Batch processing
Batch pipeline cheklangan datasetni jadval bo‘yicha qayta ishlaydi. Partition date yoki ID range bo‘yicha bo‘linadi. Job tugashi, row count va checksum orqali to‘liqlik tekshiriladi.
Backfill tarixiy davrni yangi logic bilan qayta hisoblaydi. Production incremental job bilan bir vaqtda ishlasa bir partitionga yozuvlar to‘qnashishi mumkin. Versionlangan output yoki atomik partition swap ishlatiladi.
Streaming processing
Streaming pipeline cheksiz event oqimini kichik latency bilan qayta ishlaydi. Event time hodisa vaqtini, processing time tizim ko‘rgan vaqtni bildiradi. Window va watermark kech kelgan eventni qanchagacha kutishni belgilaydi.
Checkpoint source offset bilan operator stateini saqlaydi. Failure recovery ikkalasini mos nuqtadan tiklamasa record ikki marta yoki umuman hisoblanmaydi. Exactly-once da’vosi source, processing va sink chegarasi bilan aniq tushuntiriladi.
Transformatsiya va schema
Transform field nomini almashtiradi, type convert qiladi, join yoki aggregation bajaradi. Data quality rule required field, range va referential integrityni tekshiradi. Invalid record dead-letter yoki quarantine datasetga tushishi mumkin.
Schema evolution yangi optional fieldni qo‘shish, type o‘zgartirish va fieldni olib tashlash uchun compatibility siyosatiga ega. Producer va consumer bir vaqtda yangilanmasligi mumkin. Schema version va lineage qaysi output qaysi inputdan olinganini ko‘rsatadi.
Orchestration
Orchestrator dependency, schedule, retry va backfillni boshqaradi. Task statusining success bo‘lishi data to‘g‘ri degani emas; row count, freshness va business invariant ham tekshiriladi. Idempotent task bir partitionni xavfsiz qayta bajaradi.
Retry permanent schema xatosini tuzatmaydi. Exponential backoff vaqtinchalik warehouse yoki network xatosiga qo‘llanadi. Partial output atomik temp locationga yozilib, successdan keyin publish qilinadi.
Kuzatuv va xavfsizlik
Throughput, lag, freshness, error, drop va cost pipeline SLOlarini ko‘rsatadi. Correlation va lineage bir recordning bosqichlar bo‘ylab yo‘lini topishga yordam beradi. Sensitive data classification transform va sink accessiga ta’sir qiladi.
Credential secret managerdan olinadi. Encryption transport va storageda qo‘llanadi. Data minimization keraksiz fieldni iloji boricha erta olib tashlaydi, ammo audit va qayta ishlash talabiga zid bo‘lmaydi.
Qayta ishlash semantikasi
Pipeline qayta ishga tushganda qayerdan davom etishi checkpoint bilan belgilanadi. At-most-once yo‘qotish ehtimoli evaziga duplicate bermaydi; at-least-once yo‘qotmaslikka intiladi, ammo takror yetkazishi mumkin. Exactly-once atamasi faqat source offseti, state update va sink commit birgalikda muvofiqlashtirilgan chegarada ma’noli. Tashqi side effect idempotent bo‘lmasa umumiy kafolat buziladi. Schema, kod va reference data versiyasi checkpoint bilan mos saqlansa eski state yangi operator tomonidan noto‘g‘ri talqin qilinmaydi.
Bog‘liq tushunchalar
ETL, ELT, Stream processing, Batch processing, Data lineage, Change Data Capture, Data quality