Primera versió de wZD 1.0.0, servidor d'emmagatzematge compacte per a fitxers petits

Disponible primera edició wZD 1.0.0 - un servidor per emmagatzemar de manera eficient un gran nombre d'arxius en una forma compacta, que des de l'exterior sembla un servidor WebDAV normal. S'utilitza una versió modificada per a l'emmagatzematge BoltDB. El codi del projecte està escrit a Go i Distribuït per sota la llicència BSD.

Servidor permet Reduïu significativament el nombre de fitxers petits en sistemes de fitxers normals o agrupats amb suport de bloqueig complet. El clúster suportat pels desenvolupadors de wZD emmagatzema uns 250 milions de fitxers petits distribuïts en 15 milions de directoris del sistema de fitxers del clúster. MooseFS.

wZD permet moure (arxivar) el contingut dels directoris a arxius en format BoltDB i després distribuir aquests fitxers des d'aquests arxius (o col·locar fitxers als arxius mitjançant el mètode PUT), reduint significativament el nombre de fitxers del sistema de fitxers i reduint la sobrecàrrega d'emmagatzemar metadades. Per augmentar l'eficiència del processament de fitxers grans, aquests fitxers es poden desar per separat dels arxius Bolt. Aquest enfocament us permet organitzar l'emmagatzematge d'un gran nombre de fitxers petits sense estar limitat pel límit del nombre d'inodes del sistema de fitxers.

Primera versió de wZD 1.0.0, servidor d'emmagatzematge compacte per a fitxers petits

El servidor també es pot utilitzar com a base de dades NoSQL per a dades en format clau/valor (amb fragmentació basada en l'estructura del directori) o per distribuir documents html o json pregenerats des de la base de dades. Pel que fa al rendiment, l'enviament i l'escriptura de dades mitjançant arxius Bolt provoca un augment de la latència d'aproximadament un 20-25% en llegir i entre un 40-50% quan s'escriu. Com més petita sigui la mida del fitxer, menor serà la diferència de latència.

Primera versió de wZD 1.0.0, servidor d'emmagatzematge compacte per a fitxers petits

El principal oportunitats:

  • Multithreading;
  • Multiservidor, que proporciona tolerància a errors i equilibri de càrrega;
  • Màxima transparència per a l'usuari o desenvolupador;
  • Mètodes HTTP compatibles: GET, HEAD, PUT i DELETE;
  • Control del comportament de lectura i escriptura mitjançant les capçaleres del client;
  • Suport per a amfitrions virtuals flexibles;
  • Suport per a la integritat de les dades CRC en escriure/llegir;
  • Buffers semi-dinàmics per a un consum mínim de memòria i un ajustament òptim del rendiment de la xarxa;
  • Empaquetament de dades ajornat;
  • A més, s'ofereix un arxivador multiprocés wZA per moure fitxers als arxius Bolt sense aturar el servei.

Algunes limitacions de la versió actual: no hi ha suport per a Multipart, el mètode POST, el protocol HTTPS, enllaços per a llenguatges de programació, supressió recursiva de directoris, no hi ha suport per muntar una estructura al sistema de fitxers mitjançant WebDAV o FUSE, fitxers s'emmagatzemen sota un usuari del sistema. El format d'emmagatzematge és específic de l'arquitectura i no és portàtil entre sistemes Little Endian i Big Endian. Malgrat que el servidor wZD implementa suport per al protocol HTTP, només s'ha de llançar sota l'aparença de servidors intermediaris inversos, com ara nginx i haproxy.

Font: opennet.ru

Afegeix comentari