Bosh sahifa Wiki Data import

Data import

Data import — tashqi fayl, xizmat yoki tizimdagi ma’lumotni maqsadli dastur va uning schema’siga kiritish jarayoni. U CSV yuklash, eski database’dan migratsiya, hamkor API’sidan yozuv olish yoki backup’dan tiklashni qamrab oladi. Import faqat faylni o‘qish emas; mapping, validatsiya, transformatsiya, deduplication va natijani nazoratli commit qilish bosqichlaridan iborat.

Manbani aniqlash

Import shartnomasi format, encoding, delimiter, timezone, son birligi va required fieldlarni belgilaydi. “CSV”ning o‘zi yetarli tavsif emas: quote, newline va header variantlari bor. Sample fayl foydali, lekin barcha edge case’ni qamramaydi. Machine-readable schema va version kelishmovchilikni erta topadi.

Manba ishonch darajasi qayd etiladi. Foydalanuvchi uploadi, hamkor tizim va ichki export turli autentifikatsiya hamda xavfga ega. Fayl hash’i, kelgan vaqt va source ID audit uchun saqlanadi. Original fayl belgilangan retention bo‘yicha o‘zgarmas staging joyida turishi mumkin.

Staging va validatsiya

Ma’lumot avval production jadvallariga emas, staging qatlamiga olinadi. Parser encoding, row uzunligi, type va syntaxni tekshiradi. Keyin domain qoidalari — masalan, sana oralig‘i, mavjud foreign key va unique identifikator — bajariladi. Xatolar qator va field bo‘yicha aniq hisobotga yoziladi.

All-or-nothing import bir xato sabab butun partiyani rad etadi. Partial import qonuniy qatorlarni qabul qilib, xatolarni alohida qaytaradi. Tanlov biznes talabiga bog‘liq va foydalanuvchiga oldindan ma’lum qilinadi. Partial rejimda qayta yuborish muvaffaqiyatli qatorlarni takrorlamasligi uchun import ID va idempotency kerak.

Mapping va transformatsiya

Source field maqsad fieldga explicit mapping qilinadi. Sana UTC instantga, locale soni canonical decimalga, external enum ichki kodga aylantiriladi. Noma’lum enum jim “other”ga tushirilsa ma’no yo‘qolishi mumkin; quarantine yoki mapping yangilanishi afzal. Unit conversion original birlik metadata’sini saqlaydi.

Deduplication faqat ism bo‘yicha bajarilmaydi. Stable external ID eng yaxshi kalit. Fuzzy matching ehtimoliy duplicate’ni reviewerga ko‘rsatishi mumkin, lekin avtomatik merge noto‘g‘ri shaxslarni birlashtiradi. Merge policy qaysi manba ustunligini va bo‘sh qiymat mavjud qiymatni bosishi mumkinligini belgilaydi.

Katta hajm

Katta fayl streaming o‘qiladi va kichik batchlarda yoziladi. Bitta ulkan transaction lock, log va rollback hajmini oshiradi. Checkpoint importni oxirgi tasdiqlangan partiyadan davom ettirishga yordam beradi. Parallel processing tartib yoki unique constraintga ta’sir qilsa partition key bilan boshqariladi.

Backpressure parser database’dan tez bo‘lganda memory o‘sishini cheklaydi. Progress faqat o‘qilgan bayt emas, validatsiya va commit qilingan qatorni ajratadi. Cancellation yarim qolgan staging va vaqtinchalik fayllarni tozalaydi. Resource quota zip bomb va juda katta upload’dan himoya qiladi.

Xavfsizlik va yakuniy nazorat

Spreadsheet formula injection’dan saqlanish uchun CSV qiymati keyin office dasturida ochilishi ham hisobga olinadi. XML external entity, path traversal va unsafe deserialization o‘chiriladi. Import jarayoni minimal database ruxsati bilan ishlaydi va tenant ID server tomonidan belgilanadi.

Commitdan keyin row count, summa, referential integrity va nazorat namunasi source bilan solishtiriladi. Reconciliation farqni ko‘rsatadi. Import artefakti, mapping versiyasi va xato hisoboti auditga biriktiriladi. Rollback strategy yangi yozuvni olib tashlash yoki oldingi snapshotga qaytishni aniq belgilaydi.

Bog‘liq tushunchalar

ETL, Data migration, Data validation, Staging table, Data mapping, Deduplication, Data export