Bosh sahifa Wiki Block

Block

Block — saqlash yoki ma’lumot uzatish tizimi boshqaradigan qat’iy yoki belgilangan hajmdagi ma’lumot birligidir. Disk, fayl tizimi, distributed storage va database atamani turli qatlamda ishlatadi. Bir qatlamdagi block hajmi boshqasiga teng bo‘lishi shart emas; masalan, disk sektori, fayl tizimi bloki va database sahifasi alohida birliklardir.

Blok qurilmasi

Block device ma’lumotni raqamlangan mantiqiy bloklar orqali o‘qish va yozish imkonini beradi. Operatsion tizim LBA bilan murojaat qiladi, qurilma controlleri esa uni fizik media joylashuviga xaritalaydi. SSD flash translation layer orqali sahifa va erase blocklarni boshqaradi; host ko‘rgan 4 KB mantiqiy yozuv ichkarida garbage collection va boshqa blok ko‘chirishiga sabab bo‘lishi mumkin.

Alignment muhim. Fayl tizimi yoki database yozuvi fizik write unit chegarasini kesib o‘tsa, qurilma ikki birlikni o‘qib-o‘zgartirib-yozishi mumkin. Direct I/O ko‘pincha buffer manzili, offset va uzunlikni ma’lum blokka tekislashni talab qiladi.

Fayl tizimi bloki

Fayl tizimi disk joyini blok yoki allocation unitlar orqali fayllarga beradi. 1 baytli fayl ham kamida bitta blok joy egallashi mumkin; qolgan bo‘sh qism internal fragmentationdir. Katta blok katta ketma-ket fayllarda metadata ni kamaytiradi, ko‘p kichik faylda joyni isrof qiladi.

Inode fayl bloklari manzillarini bevosita yoki extent orqali ko‘rsatadi. Sparse file yozilmagan oralig‘iga fizik blok ajratmaydi va o‘qishda nol qaytaradi. Copy-on-write tizimi mavjud blokni joyida o‘zgartirmasdan, yangi blok yozib metadata pointerini almashtiradi; snapshotlar eski blokka havolani saqlaydi.

Taqsimlangan bloklar

HDFS kabi distributed file system katta faylni odatda ancha yirik bloklarga ajratadi va ularni bir nechta DataNodeda replikatsiya qiladi. Katta blok tasklar soni va metadata ni kamaytiradi, ketma-ket analitik o‘qishga mos. Kichik fayllar muammosida har fayl kam data saqlasa ham NameNode metadata si ko‘payadi.

Block placement rack failure domainni hisobga oladi. Bitta replika lokal, boshqalari boshqa rackda joylashishi mumkin. Tugun yo‘qolsa, tizim yetishmayotgan nusxani qayta yaratadi. Data locality schedulerga hisoblashni blok saqlangan tugunga yaqin qo‘yish imkonini beradi.

Database va tarmoq konteksti

Database sahifasi disk I/O va buffer pool birligi bo‘lib, ko‘pincha fayl tizimi blokidan kattaroq. B-tree node sahifaga joylashadi. Kichik recordni o‘qish butun sahifani keshga olib kelishi mumkin. Compression ham mustaqil bloklar bo‘yicha bajarilsa random access osonlashadi.

Tarmoq va kriptografiyada block boshqa ma’noga ega: block cipher qat’iy uzunlikdagi bit guruhini qayta ishlaydi, protokol esa payloadni framing bloklariga ajratishi mumkin. Atamani talqin qilganda qatlam, hajm, alignment va atomik yozish kafolati aniq ko‘rsatiladi. “Bir block atomar yoziladi” degan xulosa qurilma hujjatisiz qabul qilinmaydi.

Nazorat summasi va buzilish

Storage blockka checksum qo‘shsa, o‘qilgan baytning yozilgan qiymatga mosligini tekshiradi. Silent corruption aniqlansa mirror yoki replikadan sog‘lom nusxa olinadi va scrubbing fon rejimida barcha bloklarni davriy tekshiradi. Checksum metadata si ayni nosoz diskda himoyasiz qolmasligi kerak. Encryption va compression block chegarasini o‘zgartirishi mumkin; recovery qaysi qatlam checksumni qaysi ko‘rinish ustida hisoblaganini biladi.

Blok hajmini tanlash

Kichik blok random I/O va joydan foydalanishni yaxshilaydi, lekin mapping metadata sini ko‘paytiradi. Katta blok throughput va compressionga yordam beradi, kichik update uchun write amplification yaratadi. Workload file size, access pattern va qurilma xususiyati bilan benchmark qilinadi.

Bog‘liq tushunchalar

Block device, Sector, File system, Database page, HDFS, Alignment, Extent