Bucket — object storage tizimida faylga o‘xshash obyektlar saqlanadigan mantiqiy konteyner. Bucket ichida obyektning o‘zi, uning nomi, metadata’si va ayrim hollarda versionlari saqlanadi. U an’anaviy fayl tizimidagi papkaga o‘xshab ko‘rinsa ham, object storage ichida directory hierarchy majburiy emas.
Bucket bulutli saqlash, backup, log, media, static asset, dataset va arxivlar uchun keng ishlatiladi.
Object storage modeli
Object storage ma’lumotni blok yoki fayl sifatida emas, mustaqil obyekt sifatida saqlaydi.
Har obyekt odatda uch qismdan iborat:
- ma’lumotning o‘zi;
- unique key yoki nom;
- metadata.
Bucket shu obyektlar uchun namespace va boshqaruv chegarasini beradi.
Bucket nomi
Bucket nomi provider yoki tizim qoidalariga ko‘ra unique bo‘lishi mumkin.
Ba’zi platformalarda nom global miqyosda, boshqalarida account yoki cluster ichida unique bo‘ladi.
Nom ko‘pincha DNSga yaqin cheklovlarga ega:
- kichik harf;
- raqam;
- tire;
- ma’lum uzunlik;
- maxsus belgilar cheklovi.
Nomni keyin o‘zgartirish har doim ham mumkin emas.
Object key
Bucket ichidagi obyekt key bilan topiladi.
Masalan:
images/2026/logo.png
Bu ko‘rinish papkaga o‘xshaydi, ammo ko‘p object storage tizimlarida images/2026/ haqiqiy directory emas. U faqat key prefixidir.
Prefix bo‘yicha ro‘yxatlash va guruhlash mumkin.
Metadata
Obyekt bilan birga quyidagi metadata saqlanishi mumkin:
- content type;
- hajm;
- checksum;
- yaratilgan vaqt;
- custom tag;
- cache control;
- content disposition;
- encryption holati.
Metadata keyinchalik download, lifecycle va qidiruv jarayonlariga ta’sir qiladi.
Access control
Bucket accessi turli darajada boshqariladi:
- private;
- public read;
- account ichidagi role;
- service account;
- temporary signed URL;
- object-level policy;
- network restriction.
Default private holat xavfsizroq.
Public bucket noto‘g‘ri sozlansa sensitive fayllar internetga ochilib ketishi mumkin.
Policy
Bucket policy ma’lum principalga ma’lum operationni ruxsat yoki taqiqlaydi.
Operationlar:
Policy resource path, IP, vaqt yoki encryption shartiga bog‘lanishi mumkin.
Ruxsatlar minimal ehtiyoj tamoyiliga mos bo‘ladi.
Versioning
Versioning yoqilganda bir key ustiga yangi obyekt yozilsa eski nusxa saqlanadi.
Bu:
- tasodifiy overwrite;
- ransomware;
- noto‘g‘ri deploy;
- rollback
holatlarida foydali.
Versioning storage hajmini oshiradi.
Eski versionlar lifecycle qoidasi bilan boshqariladi.
Delete marker
Versioned bucketda delete operation obyektni darhol fizik o‘chirmasdan delete marker qo‘shishi mumkin.
Oldingi versionlar saqlanadi.
Restore qilish uchun marker olib tashlanadi yoki eski version qayta olinadi.
Permanent delete uchun aniq version ID kerak bo‘lishi mumkin.
Lifecycle
Lifecycle qoidasi obyekt yoshiga, prefixiga, tagiga yoki versioniga qarab action bajaradi.
Masalan:
- 30 kundan keyin arzon storage tierga ko‘chirish;
- 365 kundan keyin o‘chirish;
- incomplete multipart uploadni tozalash;
- eski versionlarni saqlash muddatini belgilash.
Qoidalar arxiv xarajatini boshqaradi.
Storage class
Bucket ichidagi obyektlar turli storage classga ega bo‘lishi mumkin.
Keng toifalar:
- tez-tez ishlatiladigan;
- kam ishlatiladigan;
- arxiv;
- sovuq saqlash;
- bir zonali saqlash.
Arzon class retrieval vaqtiga, operation narxiga va minimal saqlash muddatiga ega bo‘lishi mumkin.
Encryption
Ma’lumot server tomonda shifrlanishi mumkin.
Key boshqaruvi:
- provider tomonidan boshqariladigan key;
- customer-managed key;
- application tomonda oldindan shifrlash.
Transport vaqtida TLS ishlatiladi.
Encryption access controlning o‘rnini bosmaydi.
Multipart upload
Katta obyekt bir nechta qismga bo‘lib parallel yuklanadi.
Afzalliklari:
- uzilgan uploadni davom ettirish;
- throughputni oshirish;
- katta faylni boshqarish;
- faqat xato qismni qayta yuborish.
Upload yakunlanmasa parts storage’da qolishi mumkin.
Lifecycle incomplete uploadlarni tozalaydi.
Consistency
Object storage consistency modeli tizimga bog‘liq.
Write’dan keyin read va list operationlari qachon yangi holatni ko‘rishi muhim.
Application bir xil keyga parallel write qilsa race condition yuz beradi.
ETag, version ID yoki conditional request ishlatilishi mumkin.
Event notification
Bucketdagi action event yaratishi mumkin:
- object created;
- object deleted;
- restore completed;
- replication failure.
Event queue, function yoki webhookga yuboriladi.
Delivery duplicate bo‘lishi mumkin, shu sababli consumer idempotent bo‘ladi.
Replication
Bucket obyektlari boshqa region, account yoki clusterga avtomatik nusxalanishi mumkin.
Maqsad:
- disaster recovery;
- compliance;
- latency;
- account isolation.
Replication kechikishi mumkin.
Source’dagi delete va version behaviori alohida sozlanadi.
Static hosting
Public web assetlar bucketdan berilishi mumkin.
HTML, CSS, JavaScript va image saqlanadi.
Custom domain, TLS va cache uchun CDN qo‘shiladi.
Backend secret yoki server-side code bucket ichida bajarilmaydi.
Audit
Bucket operationlari log qilinadi:
- kim;
- qachon;
- qaysi obyekt;
- qaysi IP;
- qanday action;
- natija.
Audit log boshqa himoyalangan bucket yoki log tizimiga yoziladi.
Logning o‘zi o‘zgartirib yuborilmasligi kerak.
Object ownership
Bucket ichidagi obyekt kimga tegishli ekanini account, uploader yoki bucket-owner modeli belgilashi mumkin. Cross-account upload’da owner noto‘g‘ri tanlansa bucket administratori obyektni boshqara olmasligi ehtimoli bor. Zamonaviy policy bucket owner nazoratini markazlashtirishga intiladi.
CORS
Browser boshqa origin’dan bucket objectiga murojaat qilsa Cross-Origin Resource Sharing qoidasi kerak bo‘lishi mumkin. CORS faqat browser permissioni; u obyektni private yoki public qilmaydi. Access policy va signed URL alohida ishlaydi.
Bog‘liq tushunchalar
Object storage, Bucket, Object key, Metadata, Versioning, Lifecycle policy, Storage class, Access control, Signed URL, Multipart upload, Replication