първото издание — сървъри за ефективно съхранение на голям брой файлове в компактна форма, който отвън изглежда като обикновен WebDAV сървър. За съхранение се използва модифицирана версия . Кодът на проекта е написан на езика Go и под лиценз BSD.
Сървър значително намалява броя на малките файлове в обикновени или кластерни файлови системи с пълна поддръжка на заключвания. Поддържаният от разработчиците wZD кластер съхранява около 250 милиона малки файла, разпределени в 15 милиона директории в кластерна FS .
wZD предлага възможност за преместване (архивиране) на съдържанието на директории в архиви във формат BoltDB и след това разпространение на тези файлове от архивите (или поставяне на файлове в архиви чрез метода PUT), значително намалявайки броя на файловете в FS и намалявайки разходите за съхранение на метаданни. За повишаване на ефективността при обработка на големи файлове, такива файлове могат да се съхраняват отделно от Bolt архивите. Такъв подход позволява организиране на съхранение на огромен брой малки файлове, без да се удари лимита на броя inode в файловата система.
Сървърът също така може да се използва като NoSQL база за данни в формат ключ/стойност (с шардинг на базата на структурата на директории) или за разпространение от БД на предварително генерирани html или json-документи. Що се отнася до производителността, получаването и записването на данни с използването на Bolt архивите води до увеличаване на закъснението с приблизително 20-25% при четене и 40-50% при запис. Колкото по-малък е размерът на файла, толкова по-малки са различията в закъсненията.
Основни :
- Многопоточност;
- Мултисерверност, осигуряваща отказоустойчивост и балансиране на натоварването;
- Максимална прозрачност за потребителя или разработчика;
- Поддържани HTTP методи: GET, HEAD, PUT и DELETE;
- Управление на поведението при четене и запис чрез клиентски заглавия;
- Поддръжка на гъвкаво конфигурируеми виртуални хостове;
- Поддръжка на CRC целостта на данните при запис/четене;
- Полудинамични буфери за минимално потребление на памет и оптимална настройка на мрежовата производителност;
- Отложено опаковане на данни;
- В допълнение се предлага многопоточен архиватор за преместване на файлове в Bolt архиви без спиране на услугата.
Някои ограничения на текущото издание: няма поддръжка за Multipart, метода POST, протокол HTTPS, биндинги за езици за програмиране, рекурсивно изтриване на директории, липсва поддръжка за монтиране на структурата в файловата система чрез WebDAV или FUSE, файловете се съхраняват под един системен потребител. Форматът на съхранение е свързан с архитектурата и не е преносим между системи с Little Endian и Big Endian. Въпреки че сървърът wZD реализира поддръжка за протокол HTTP, той трябва да се стартира единствено зад реверсивен прокси, като nginx и haproxy.
Източник: opennet.ru
