Bosh sahifa Wiki Deduplication

Deduplication

Deduplication — bir xil ma’lumotning takror nusxalarini aniqlab, storage yoki uzatishda bitta fizik nusxadan qayta foydalanish usulidir. U backup, object storage, filesystem va data pipeline’da hajmni kamaytiradi. Deduplication compressiondan farqli ravishda bitta obyekt ichidagi patternni emas, obyektlar yoki bloklar orasidagi tenglikni topadi.

File va block darajasi

File-level dedup ikki fayl to‘liq bir xil bo‘lsa bittasini saqlaydi. Fayldagi bitta byte o‘zgarsa butun fayl yangi nusxa bo‘ladi. Block yoki chunk-level dedup faylni qismlarga bo‘lib, faqat o‘zgargan chunklarni qayta yozadi.

Fixed-size chunk sodda va tez, ammo fayl boshiga byte qo‘shilsa barcha keyingi chegaralar siljiydi. Content-defined chunking rolling hash yordamida mazmunga bog‘liq chegara topadi. Insertdan keyin keyingi tanish qismlar yana oldingi digestlarga mos keladi.

Hash va index

Har unit uchun fingerprint hisoblanadi va indexda qidiriladi. Match topilmasa payload yozilib, indexga qo‘shiladi. Match topilsa yangi reference mavjud blokka ulanadi. Cryptographic hash collision ehtimolini kamaytiradi, ammo ayrim tizimlar hash matchdan keyin byte-by-byte verification ham bajaradi.

Index xotira va random I/O talab qiladi. Juda katta datasetda fingerprintlar SSD, sharded metadata yoki probabilistic filter bilan boshqariladi. Bloom filter “ehtimol mavjud emas” javobini tez beradi, mumkin bo‘lgan match esa authoritative indexda tekshiriladi.

Inline va post-process

Inline dedup yozuvdan oldin duplicate’ni topadi va network hamda storage I/Oni tejaydi. U ingest latency va CPU sarfini oshiradi. Post-process avval data’ni yozib, keyin background ish bilan takror bloklarni birlashtiradi; tez ingest beradi, lekin vaqtincha ko‘proq disk talab qiladi.

Source-side dedup client faqat serverda yo‘q chunklarni yuborishiga imkon beradi. Bu backup bandwidthini kamaytiradi. Server client bildirgan hashga ko‘r-ko‘rona ishonmaydi; authorization va integrity tekshiruvi kerak.

Reference va o‘chirish

Bir fizik chunkdan ko‘p backup snapshot foydalanishi mumkin. Bitta snapshot o‘chirilganda chunk faqat boshqa reference qolmagan bo‘lsa chiqariladi. Reference count sodda, lekin crash va concurrent update’da izchillik talab qiladi. Reachability-based garbage collection periodik tekshiruv beradi.

Corruption umumiy chunkka ta’sir qilsa barcha logical nusxalar zarar ko‘radi. Checksum, scrub va redundant encoding shu sabab muhim. Dedup fizik nusxani kamaytiradi, mustaqil failure domainlardagi redundancy ehtiyojini yo‘q qilmaydi.

Encryption bilan ishlashi

Oddiy client-side encryption bir xil plaintextni turli random nonce bilan turli ciphertextga aylantiradi, dedup match topmaydi. Convergent encryption keyni contentdan hosil qilib bir xil ciphertext beradi, ammo dictionary va existence attack xavfini oshiradi. Tenant-scoped dedup xavf va tejash o‘rtasidagi muvozanatdir.

Server-side encryption dedupdan keyin bajarilsa storage ichida tenglik aniqlanishi mumkin. Key rotation va shared chunkning turli tenant keylari bilan himoyasi arxitekturani murakkablashtiradi.

Samaradorlikni baholash

Dedup ratio logical byte’larning physical byte’larga nisbatidir. Backup datasetda takror OS va application fayllari yuqori tejash beradi; compressed video yoki encrypted arxivda deyarli match bo‘lmaydi. Metadata, index, garbage collection va restore performance ham umumiy xarajatga qo‘shiladi.

Restore paytida bir fayl chunklari disk bo‘ylab tarqoq bo‘lsa sequential throughput pasayadi. Locality-aware packing tezlikni yaxshilaydi. Benchmark productionga o‘xshash file size, change pattern va retention bilan bajariladi.

Bog‘liq tushunchalar

Content-addressed storage, Chunking, Cryptographic hash, Compression, Garbage collection, Backup, Bloom filter