Første utgivelse av wZD 1.0.0, kompakt lagringsserver for små filer

Tilgjengelig første utgave wZD 1.0.0 - en server for effektiv lagring av et stort antall filer i en kompakt form, som fra utsiden ser ut som en vanlig WebDAV-server. En modifisert versjon brukes til lagring BoltDB. Prosjektkoden er skrevet i Go og distribuert av under BSD-lisens.

Сервер den lar Reduser antallet små filer betydelig på vanlige eller grupperte filsystemer med full låsestøtte. Klyngen som støttes av wZD-utviklere lagrer rundt 250 millioner små filer fordelt på 15 millioner kataloger i klyngefilsystemet MooseFS.

wZD gjør det mulig å flytte (arkivere) innholdet i kataloger til arkiver i BoltDB-formatet og deretter distribuere disse filene fra disse arkivene (eller plassere filer i arkiver ved hjelp av PUT-metoden), noe som reduserer antallet filer i filsystemet betydelig og redusere kostnadene ved lagring av metadata. For å øke effektiviteten ved behandling av store filer, kan slike filer lagres separat fra Bolt-arkiver. Denne tilnærmingen lar deg organisere lagringen av et stort antall små filer uten å være begrenset av grensen på antall inoder i filsystemet.

Første utgivelse av wZD 1.0.0, kompakt lagringsserver for små filer

Serveren kan også brukes som en NoSQL-database for data i nøkkel/verdi-format (med sharding basert på katalogstrukturen) eller for distribusjon av forhåndsgenererte html- eller json-dokumenter fra databasen. Når det gjelder ytelse, resulterer sending og skriving av data ved bruk av Bolt-arkiver i en økning i latens på omtrent 20-25 % ved lesing og med 40-50 % ved skriving. Jo mindre filstørrelsen er, jo mindre er forskjellen i ventetid.

Første utgivelse av wZD 1.0.0, kompakt lagringsserver for små filer

Den viktigste muligheter:

  • Multithreading;
  • Multiserver, gir feiltoleranse og lastbalansering;
  • Maksimal åpenhet for brukeren eller utvikleren;
  • Støttede HTTP-metoder: GET, HEAD, PUT og DELETE;
  • Kontroll av lese- og skriveatferd via klientoverskrifter;
  • Støtte for fleksible virtuelle verter;
  • Støtte for CRC-dataintegritet ved skriving/lesing;
  • Semidynamiske buffere for minimalt minneforbruk og optimal justering av nettverksytelse;
  • Utsatt datapakking;
  • I tillegg tilbys en flertråds arkiver wZA for å flytte filer til Bolt-arkiver uten å stoppe tjenesten.

Noen begrensninger for gjeldende utgivelse: det er ingen støtte for Multipart, POST-metoden, HTTPS-protokollen, bindinger for programmeringsspråk, rekursiv sletting av kataloger, det er ingen støtte for å montere en struktur til filsystemet via WebDAV eller FUSE, filer lagres under én systembruker. Lagringsformatet er arkitekturspesifikt og er ikke bærbart mellom Little Endian- og Big Endian-systemer. Til tross for at wZD-serveren implementerer støtte for HTTP-protokollen, må den bare lanseres under dekke av omvendte proxyer, som nginx og haproxy.

Kilde: opennet.ru

Legg til en kommentar