Kichik fayllarni ixcham saqlash uchun server bo'lgan wZD 1.0.0 ning birinchi versiyasi

Mavjud birinchi nashri wZD 1.0.0 - tashqaridan oddiy WebDAV serveriga o'xshab ko'rinadigan ixcham shaklda ko'p sonli fayllarni samarali saqlash uchun server. Saqlash uchun o'zgartirilgan versiya ishlatiladi BoltDB. Loyiha kodi Go va da yozilgan tarqaladi BSD litsenziyasi ostida.

Server Bu beradi To'liq qulflashni qo'llab-quvvatlaydigan oddiy yoki klasterli fayl tizimlarida kichik fayllar sonini sezilarli darajada kamaytiring. WZD ishlab chiquvchilari tomonidan qo'llab-quvvatlanadigan klaster klaster fayl tizimidagi 250 million katalog bo'ylab taqsimlangan 15 millionga yaqin kichik fayllarni saqlaydi. MooseFS.

wZD kataloglar tarkibini BoltDB formatidagi arxivlarga ko'chirish (arxivlash) va keyin ushbu arxivlardan ushbu fayllarni tarqatish (yoki PUT usuli yordamida fayllarni arxivga joylashtirish) imkonini beradi, bu esa fayl tizimidagi fayllar sonini sezilarli darajada kamaytiradi va metama'lumotlarni saqlash uchun qo'shimcha xarajatlarni kamaytirish. Katta hajmdagi fayllarni qayta ishlash samaradorligini oshirish uchun bunday fayllar Bolt arxividan alohida saqlanishi mumkin. Ushbu yondashuv sizga fayl tizimidagi inodelar soni chegarasi bilan cheklanmasdan juda ko'p sonli kichik fayllarni saqlashni tashkil qilish imkonini beradi.

Kichik fayllarni ixcham saqlash uchun server bo'lgan wZD 1.0.0 ning birinchi versiyasi

Serverdan kalit/qiymat formatidagi ma'lumotlar uchun (katalog tuzilmasi asosida sharding bilan) yoki ma'lumotlar bazasidan oldindan yaratilgan html yoki json hujjatlarini tarqatish uchun NoSQL ma'lumotlar bazasi sifatida ham foydalanish mumkin. Ishlash nuqtai nazaridan, Bolt arxivlari yordamida ma'lumotlarni yuborish va yozish o'qish paytida kechikishning taxminan 20-25% ga va yozishda 40-50% ga oshishiga olib keladi. Fayl hajmi qanchalik kichik bo'lsa, kechikishdagi farq shunchalik kichik bo'ladi.

Kichik fayllarni ixcham saqlash uchun server bo'lgan wZD 1.0.0 ning birinchi versiyasi

asosiy imkoniyatlar:

  • Ko'p ish zarralari;
  • Nosozliklarga chidamlilik va yukni muvozanatlashni ta'minlovchi multiserver;
  • Foydalanuvchi yoki ishlab chiquvchi uchun maksimal shaffoflik;
  • Qo'llab-quvvatlanadigan HTTP usullari: GET, HEAD, PUT va DELETE;
  • Mijoz sarlavhalari orqali o'qish va yozish xatti-harakatlarini nazorat qilish;
  • Moslashuvchan virtual xostlarni qo'llab-quvvatlash;
  • Yozish/o'qish paytida CRC ma'lumotlarining yaxlitligini qo'llab-quvvatlash;
  • Minimal xotira iste'moli va tarmoqning optimal ishlashini sozlash uchun yarim dinamik buferlar;
  • Kechiktirilgan ma'lumotlarni qadoqlash;
  • Bundan tashqari, ko'p tarmoqli arxivator taklif etiladi wZA xizmatni to'xtatmasdan fayllarni Bolt arxiviga ko'chirish.

Joriy nashrning ba'zi cheklovlari: Multipart, POST usuli, HTTPS protokoli, dasturlash tillari uchun ulanishlar, kataloglarni rekursiv o'chirish, WebDAV yoki FUSE orqali fayl tizimiga tuzilmani o'rnatishni qo'llab-quvvatlamaydi, fayllar. bir tizim foydalanuvchisi ostida saqlanadi. Saqlash formati arxitekturaga xos bo'lib, Little Endian va Big Endian tizimlari o'rtasida portativ emas. WZD serveri HTTP protokolini qo'llab-quvvatlashni amalga oshirishiga qaramay, uni faqat nginx va haproxy kabi teskari proksi-serverlar niqobi ostida ishga tushirish kerak.

Manba: opennet.ru

a Izoh qo'shish