Rilis pertama wZD 1.0.0, server penyimpanan kompak untuk file kecil

Tersedia edisi pertama wZD 1.0.0 - server untuk menyimpan file dalam jumlah besar secara efisien dalam bentuk yang ringkas, yang dari luar tampak seperti server WebDAV biasa. Versi modifikasi digunakan untuk penyimpanan BautDB. Kode proyek ditulis dalam Go dan didistribusikan oleh di bawah lisensi BSD.

Server memungkinkan Mengurangi jumlah file kecil secara signifikan pada sistem file biasa atau berkerumun dengan dukungan penguncian penuh. Cluster yang didukung oleh pengembang wZD menyimpan sekitar 250 juta file kecil yang didistribusikan di 15 juta direktori dalam sistem file cluster RusaFS.

wZD memungkinkan untuk memindahkan (mengarsipkan) isi direktori ke dalam arsip dalam format BoltDB dan kemudian mendistribusikan file-file ini dari arsip-arsip ini (atau menempatkan file dalam arsip menggunakan metode PUT), secara signifikan mengurangi jumlah file dalam sistem file dan mengurangi overhead penyimpanan metadata. Untuk meningkatkan efisiensi pemrosesan file besar, file tersebut dapat disimpan secara terpisah dari arsip Bolt. Pendekatan ini memungkinkan Anda mengatur penyimpanan sejumlah besar file kecil tanpa dibatasi oleh batasan jumlah inode dalam sistem file.

Rilis pertama wZD 1.0.0, server penyimpanan kompak untuk file kecil

Server juga dapat digunakan sebagai database NoSQL untuk data dalam format kunci/nilai (dengan sharding berdasarkan struktur direktori) atau untuk mendistribusikan dokumen html atau json yang telah dibuat sebelumnya dari database. Dari segi performa, pengiriman dan penulisan data menggunakan arsip Bolt menghasilkan peningkatan latensi sekitar 20-25% saat membaca dan 40-50% saat menulis. Semakin kecil ukuran file, semakin kecil perbedaan latensinya.

Rilis pertama wZD 1.0.0, server penyimpanan kompak untuk file kecil

Utama kemampuan:

  • multithread;
  • Multiserver, memberikan toleransi kesalahan dan penyeimbangan beban;
  • Transparansi maksimal bagi pengguna atau pengembang;
  • Metode HTTP yang didukung: GET, HEAD, PUT dan DELETE;
  • Kontrol perilaku membaca dan menulis melalui header klien;
  • Dukungan untuk host virtual yang fleksibel;
  • Dukungan untuk integritas data CRC saat menulis/membaca;
  • Buffer semi-dinamis untuk konsumsi memori minimal dan penyetelan kinerja jaringan yang optimal;
  • Pengemasan data yang ditangguhkan;
  • Selain itu, pengarsip multi-utas juga ditawarkan wZA untuk memindahkan file ke arsip Bolt tanpa menghentikan layanan.

Beberapa batasan rilis saat ini: tidak ada dukungan untuk Multipart, metode POST, protokol HTTPS, pengikatan untuk bahasa pemrograman, penghapusan direktori secara rekursif, tidak ada dukungan untuk memasang struktur ke sistem file melalui WebDAV atau FUSE, file disimpan di bawah satu pengguna sistem. Format penyimpanan bersifat spesifik arsitektur dan tidak portabel antara sistem Little Endian dan Big Endian. Terlepas dari kenyataan bahwa server wZD mengimplementasikan dukungan untuk protokol HTTP, server tersebut hanya perlu diluncurkan dengan kedok proxy terbalik, seperti nginx dan haproxy.

Sumber: opennet.ru

Tambah komentar