wZD — это сервер, написанный на языке Go, который использует модифицированную версию базы данных BoltDB в качестве бэкенда для сохранения и распространения любого количества маленьких и больших файлов, ключей/значений NoSQL в компактной форме внутри микробаз данных Bolt (архивов), с распределение файлов и значений в базах данных BoltDB в зависимости от количества каталогов или подкаталогов и общей структуры каталогов. Использование wZD может навсегда решить проблему большого количества файлов на любой POSIX-совместимой файловой системе, в том числе и на кластерной. Внешне работает как обычный сервер WebDAV.
...и миллиарды файлов больше не будут проблемой.
Функции:
- Многопоточность
- Несколько серверов для отказоустойчивости и балансировки нагрузки
- Полный поиск файлов и значений
- Поддерживает авторизацию HTTPS и IP
- Поддерживаемые методы HTTP: GET, HEAD, OPTIONS, PUT, POST и DELETE.
- Управление чтением и записью через заголовки клиента
- Поддержка настраиваемых виртуальных хостов
- Линейное масштабирование операций чтения и записи с использованием кластерных файловых систем.
- Эффективные методы чтения и записи данных
- Поддерживает целостность данных CRC при записи или чтении
- Простое разделение данных на тысячи или миллионы архивов Bolt на основе структуры каталогов.
- Поддержка смешанного режима с возможностью сохранения больших файлов отдельно от архивов Bolt.
- Включает многопоточный архиватор wZA для переноса файлов без остановки службы.
Сервер wZD был разработан для смешанного использования. Можно писать не только обычные файлы, но даже сгенерированные html или json документы, а можно даже просто использовать NoSQL в качестве шардирующей базы данных, состоящей из большого количества небольших баз данных BoltDB, и проводить весь шардинг через структуру каталогов и подкаталогов.