Première version de wZD 1.0.0, serveur de stockage compact pour petits fichiers

Disponible première édition wZD 1.0.0 - un serveur permettant de stocker efficacement un grand nombre de fichiers sous une forme compacte, qui de l'extérieur ressemble à un serveur WebDAV classique. Une version modifiée est utilisée pour le stockage BoulonDB. Le code du projet est écrit en Go et distribué par sous licence BSD.

Serveur il permet Réduisez considérablement le nombre de petits fichiers sur les systèmes de fichiers standards ou en cluster avec une prise en charge complète du verrouillage. Le cluster pris en charge par les développeurs wZD stocke environ 250 millions de petits fichiers répartis dans 15 millions de répertoires dans le système de fichiers du cluster. OrignalFS.

wZD permet de déplacer (archiver) le contenu des répertoires dans des archives au format BoltDB puis de distribuer ces fichiers à partir de ces archives (ou de placer des fichiers dans des archives grâce à la méthode PUT), réduisant considérablement le nombre de fichiers dans le système de fichiers et réduisant les frais liés au stockage des métadonnées. Pour augmenter l'efficacité du traitement des fichiers volumineux, ces fichiers peuvent être enregistrés séparément des archives Bolt. Cette approche vous permet d'organiser le stockage d'un grand nombre de petits fichiers sans être limité par la limite du nombre d'inodes dans le système de fichiers.

Première version de wZD 1.0.0, serveur de stockage compact pour petits fichiers

Le serveur peut également être utilisé comme base de données NoSQL pour les données au format clé/valeur (avec partitionnement basé sur la structure des répertoires) ou pour distribuer des documents HTML ou JSON pré-générés à partir de la base de données. En termes de performances, l'envoi et l'écriture de données à l'aide des archives Bolt entraînent une augmentation de la latence d'environ 20 à 25 % en lecture et de 40 à 50 % en écriture. Plus la taille du fichier est petite, plus la différence de latence est faible.

Première version de wZD 1.0.0, serveur de stockage compact pour petits fichiers

principal capacités:

  • Multithreading ;
  • Multiserveur, offrant une tolérance aux pannes et un équilibrage de charge ;
  • Transparence maximale pour l'utilisateur ou le développeur ;
  • Méthodes HTTP prises en charge : GET, HEAD, PUT et DELETE ;
  • Contrôle du comportement de lecture et d'écriture via les en-têtes clients ;
  • Prise en charge des hôtes virtuels flexibles ;
  • Prise en charge de l'intégrité des données CRC lors de l'écriture/lecture ;
  • Tampons semi-dynamiques pour une consommation de mémoire minimale et un réglage optimal des performances du réseau ;
  • Conditionnement de données différé ;
  • De plus, un archiveur multithread est proposé wZA pour déplacer des fichiers vers les archives Bolt sans arrêter le service.

Quelques limitations de la version actuelle : il n'y a pas de support pour Multipart, la méthode POST, le protocole HTTPS, les liaisons pour les langages de programmation, la suppression récursive de répertoires, il n'y a pas de support pour monter une structure sur le système de fichiers via WebDAV ou FUSE, les fichiers sont stockés sous un seul utilisateur du système. Le format de stockage est spécifique à l'architecture et n'est pas portable entre les systèmes Little Endian et Big Endian. Malgré le fait que le serveur wZD implémente la prise en charge du protocole HTTP, il ne doit être lancé que sous le couvert de proxys inverses, tels que nginx et haproxy.

Source: opennet.ru

Ajouter un commentaire