Primera versión de wZD 1.0.0, servidores de almacenamiento compacto para archivos pequeños

Disponible lanzamiento wZD 1.0.0 — servidores para el almacenamiento eficiente de un gran número de archivos en un formato compacto, que externamente se presenta como un servidor WebDAV convencional. Se utiliza una versión modificada para el almacenamiento BoltDB. El código del proyecto está escrito en el lenguaje Go y se distribuye bajo licencia BSD.

Servidor permite reduce significativamente el número de archivos pequeños en sistemas de archivos tradicionales o en clústeres, con soporte completo para bloqueos. El clúster soportado por los desarrolladores de wZD almacena alrededor de 250 millones de pequeños archivos, distribuidos en 15 millones de directorios en un sistema de archivos clúster MooseFS.

wZD permite mover (archivar) el contenido de directorios en archivos en formato BoltDB y luego servir esos archivos desde dichos archivos (o colocar archivos en archivos mediante PUT), reduciendo significativamente el número de archivos en el sistema de archivos y disminuyendo los costos de almacenamiento de metadatos. Para mejorar la eficiencia en el manejo de archivos grandes, dichos archivos pueden ser almacenados por separado de los archivos Bolt. Este enfoque permite organizar el almacenamiento de un enorme número de pequeños archivos, sin chocar con el límite de inodes en el sistema de archivos.

Primera versión de wZD 1.0.0, servidores de almacenamiento compacto para archivos pequeños

El servidor también puede ser utilizado como una base de datos NoSQL para datos en formato clave/valor (con particionado basado en la estructura de directorios) o para servir desde la base de datos documentos HTML o JSON pre-generados. En cuanto al rendimiento, la lectura y escritura de datos utilizando archivos Bolt incrementa la latencia aproximadamente en un 20-25% durante la lectura y en un 40-50% durante la escritura. Cuanto menor sea el tamaño del archivo, menores serán las diferencias en la latencia.

Primera versión de wZD 1.0.0, servidores de almacenamiento compacto para archivos pequeños

Principales capacidad:

  • Servidor de composición y ventanas
  • Multiservidoridad, que asegura alta disponibilidad y balanceo de carga;
  • Máxima transparencia para el usuario o desarrollador;
  • Métodos HTTP soportados: GET, HEAD, PUT y DELETE;
  • Control del comportamiento de lectura y escritura a través de encabezados de cliente;
  • Soporte para hosts virtuales configurables de manera flexible;
  • Soporte de integridad de datos CRC al escribir/leer;
  • Buffers semi-dinámicos para un consumo mínimo de memoria y una configuración óptima del rendimiento de red;
  • Empaquetado de datos diferido;
  • Además, se ofrece un compresor multihilo wZA para mover archivos a archivos Bolt sin detener el servicio.

Algunas limitaciones de la versión actual: no hay soporte para Multipart, métodos POST, protocolo HTTPS, bindings para lenguajes de programación, eliminación recursiva de directorios, falta de soporte para montar la estructura en el sistema de archivos a través de WebDAV o FUSE, los archivos se almacenan bajo un único usuario del sistema. El formato de almacenamiento está ligado a la arquitectura y no es trasladable entre sistemas Little Endian y Big Endian. A pesar de que el servidor wZD soporta el protocolo HTTP, debe ejecutarse solo detrás de un proxy inverso, como nginx y haproxy.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster