Por que um novo sistema de arquivos semelhante ao POSIX é necessário

Vamos falar sobre como funciona o Hyperdrive FS e quem já começou a usá-lo.





Foto - moren hsu - Unsplash



Algumas palavras sobre Hyperdrive



É um sistema de arquivos semelhante ao POSIX para aplicativos de arquitetura distribuída. Sua hierarquia é representada por uma única árvore, e todos os objetos têm dois nomes: absoluto (da raiz) e relativo (do diretório de trabalho atual). O Hyperdrive está sendo desenvolvido pelos autores do navegador P2P aberto Beaker - ele permite hospedar sites "direto no navegador" - basta criar uma pasta local e compartilhar o link correspondente.



Como funciona o sistema



Ele é implementado em Node.js - seu código-fonte está no GitHub . De acordo com os autores, trabalhar com o Hyperdrive é semelhante a interagir com o módulo Node padrão - fs . Aqui está um exemplo :



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 é baseado em duas estruturas especiais chamadas Hypercores. Esses são logs somente para anexos. O primeiro armazena metadados de índice e o segundo armazena binários de arquivo. Os nomes de arquivos e pastas são indexados usando uma árvore hash prefixada para tornar a pesquisa mais fácil. Em certo sentido, ele serve como um sistema rápido de valores-chave. A integridade dos dados é verificada usando uma árvore Merkle com uma função hash criptográfica BLAKE2b-256 .



Um daemon especial é responsável por lidar com as solicitações do usuário ao sistema de arquivos . Sua CLI permite criar, compartilhar e visualizar diretórios Hyperdrive. O daemon suporta FUSEportanto, os hiperdrives podem aparecer como pastas regulares em sistemas Linux e Mac.



Onde é usado



O Hyperdrive é adequado para o desenvolvimento de aplicativos distribuídos que se assemelham ao armazenamento em nuvem em funcionalidade. Por exemplo, a plataforma de código aberto ScienceFair usa . Ela ajuda os pesquisadores a pesquisarem literatura científica, periódicos, artigos e trechos deles, bem como compartilhar suas próprias percepções.



Obviamente, os desenvolvedores do navegador Beaker usam seu próprio sistema de arquivos . Ele armazena os dados necessários para exibir sites.





Foto - Clint Adair - Unsplash



Hyperdrive está no centro do protocolo Dat... É necessário para troca de dados em redes distribuídas. Durante a transmissão, os arquivos são divididos em pequenos fragmentos de tamanhos diferentes e coletados em um único arquivo Dat pelo lado receptor. O sistema permite adicionar novos fragmentos a ele, mas não permite modificar ou excluir os existentes. Esta abordagem permite que você salve o histórico de alterações do documento.



Hoje, uma comunidade bastante grande já se formou em torno do Dat , e uma Fundação Dat especial está envolvida em sua promoção - é apoiada pela Mozilla e pelo Code for Science & Society. A longo prazo, essas organizações contribuirão para a popularidade crescente do protocolo Dat e do sistema de arquivos Hyperdrive.






1cloud.ru:



:

:



RAID-







All Articles