Pourquoi un nouveau système de fichiers de type POSIX est nécessaire

Parlons du fonctionnement de l'Hyperdrive FS et de ceux qui ont déjà commencé à l'utiliser.





Photo - Moren Hsu - Unsplash



Quelques mots sur Hyperdrive



Il s'agit d'un système de fichiers de type POSIX pour les applications d'architecture distribuée. Sa hiérarchie est représentée par une seule arborescence et tous les objets ont deux noms: absolu (à partir de la racine) et relatif (à partir du répertoire de travail courant). Hyperdrive est développé par les auteurs du navigateur P2P ouvert Beaker - il vous permet d'héberger des sites "directement dans le navigateur" - il suffit de créer un dossier local et de partager le lien correspondant.



Comment fonctionne le système



Il est implémenté dans Node.js - son code source est sur GitHub . Selon les auteurs, travailler avec Hyperdrive revient à interagir avec le module Node standard - fs . Voici un exemple :



var hyperdrive = require('hyperdrive')
var archive = hyperdrive('./my-first-hyperdrive') // content will be stored in this folder

archive.writeFile('/hello.txt', 'world', function (err) {
  if (err) throw err
  archive.readdir('/', function (err, list) {
    if (err) throw err
    console.log(list) // prints ['hello.txt']
    archive.readFile('/hello.txt', 'utf-8', function (err, data) {
      if (err) throw err
      console.log(data) // prints 'world'
    })
  })
})


Hyperdrive est basé sur deux structures spéciales appelées Hypercores. Ce sont des journaux en ajout uniquement. Le premier stocke les métadonnées d'index et le second stocke les fichiers binaires. Les noms de fichiers et de dossiers sont indexés à l'aide d'une arborescence de hachage préfixée pour faciliter la recherche. Dans un sens, il sert de système clé-valeur rapide. L'intégrité des données est vérifiée à l' aide d'un arbre Merkle avec la fonction de hachage cryptographique BLAKE2b-256 .



Un démon spécial est chargé de traiter les demandes des utilisateurs au système de fichiers . Son CLI vous permet de créer, partager et afficher les répertoires Hyperdrive. Le démon prend en charge FUSEPar conséquent, les Hyperdrives peuvent apparaître comme des dossiers normaux sur les systèmes Linux et Mac.



Où est-il utilisé



Hyperdrive convient au développement d'applications distribuées qui ressemblent au stockage cloud en termes de fonctionnalités. Par exemple, la plateforme open source ScienceFair l' utilise . Elle aide les chercheurs à rechercher de la littérature scientifique, des revues, des articles et des extraits de ceux-ci, ainsi qu'à partager leurs propres idées.



Bien entendu, les développeurs du navigateur Beaker utilisent leur propre système de fichiers . Il stocke les données nécessaires à l'affichage des sites Web.





Photo - Clint Adair - Unsplash



Hyperdrive est au cœur du protocole Dat... Il est nécessaire pour l'échange de données dans les réseaux distribués. Pendant la transmission, les fichiers sont divisés en petits fragments de différentes tailles et rassemblés en un seul fichier Dat par le côté récepteur. Le système permet d'y ajouter de nouveaux fragments, mais ne permet pas de modifier ou de supprimer des fragments existants. Cette approche vous permet de sauvegarder l'historique des modifications du document.



Aujourd'hui, une communauté assez importante s'est déjà formée autour de Dat , et une fondation spéciale de Dat est engagée dans sa promotion - elle est soutenue par Mozilla et le Code for Science & Society. À long terme, ces organisations contribueront à la popularité croissante du protocole Dat et du système de fichiers Hyperdrive.






1cloud.ru:



:

:



RAID-







All Articles