první vydání — servery pro efektivní ukládání velkého množství souborů v kompaktní podobě, který z venku vypadá jako běžný WebDAV server. Pro ukládání se používá modifikovaná verze . Kód projektu je napsán v jazyce Go a na základě licence BSD.
Server výrazně snížit počet malých souborů na běžných nebo klastrových souborových systémech s plnou podporou zámků. Podporovaný vývojáři wZD klastr ukládá přibližně 250 milionů drobných souborů rozložených do 15 milionů adresářů v klastrovém FS .
wZD umožňuje přesunout (archivovat) obsah adresářů do archivů ve formátu BoltDB a poté rozdělovat tyto soubory z těchto archivů (nebo vkládat soubory do archivů metodou PUT), čímž se výrazně sníží počet souborů ve FS a sníží se režijní náklady na ukládání metadat. Pro zvýšení efektivity zpracování velkých souborů mohou být tyto soubory uchovávány odděleně od Bolt-archivů. Takový přístup umožňuje organizovat ukládání obrovského počtu malých souborů, aniž by narazil na limit počtu inode v souborovém systému.
Server lze také použít jako NoSQL databázi pro data ve formátu klíč/hodnota (s shardováním na základě struktury adresářů) nebo pro poskytování z databáze předem vygenerovaných html nebo json dokumentů. Co se týče výkonu, pak výstup a zápis dat s použitím Bolt-archivů způsobuje zvýšení latence přibližně o 20-25 % při čtení a o 40-50 % při zápisu. Čím menší je velikost souboru, tím menší jsou rozdíly v latencích.
Hlavní :
- Vícevláknovost;
- Mnoho-serverovost, zajišťující vysokou dostupnost a vyvážení zátěže;
- Maximální transparentnost pro uživatele nebo vývojáře;
- Podporované HTTP metody: GET, HEAD, PUT a DELETE;
- Správa chování při čtení a zápisu pomocí klientských hlaviček;
- Podpora flexibilně nastavitelných virtuálních hostitelů;
- Podpora CRC integrity dat při zápisu/čtení;
- Polodynamické bufferování pro minimální spotřebu paměti a optimální nastavení síťového výkonu;
- Odložené balení dat;
- Navíc je nabízen vícestupňový archivátor pro přesun souborů do Bolt-archivů bez zastavení služby.
Některá omezení aktuálního vydání: žádná podpora Multipart, metoda POST, protokol HTTPS, vazby pro programovací jazyky, rekurzivní mazání adresářů, absence podpory montáže struktury do souborového systému přes WebDAV nebo FUSE, soubory se ukládají pod jedním systémovým uživatelským účtem. Formát ukládání je vázán na architekturu a není přenosný mezi systémy Little Endian a Big Endian. I když server wZD realizuje podporu protokolu HTTP, je nutné ho spouštět pouze za obranou reverzního proxy, jako jsou nginx a haproxy.
Zdroj: opennet.ru
