新しいPOSIXのようなファイルシステムが必要な理由

Hyperdrive FSがどのように機能するか、そしてすでにそれを使い始めた人々について話しましょう。





写真-morenhsu -Unsplash



ハイパードライブについて一言



これは、分散アーキテクチャアプリケーション用のPOSIXのようなファイルシステムです。その階層単一のツリーで表され、すべてのオブジェクトには、絶対(ルートから)と相対(現在の作業ディレクトリから)の2つの名前があります。Hyperdriveは、オープンP2PブラウザーBeakerの作成者によって開発されています。これにより、「ブラウザー内で」サイトをホストできます。ローカルフォルダーを作成し、対応するリンクを共有するだけです。



システムの仕組み



Node.jsに実装されています-そのソースコードはGitHubにあります著者によると、Hyperdriveの操作は、標準のNodeモジュール(fs)との対話に似ています次に例を示します。



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'
    })
  })
})


ハイパードライブの心臓部であるHypercoresと呼ばれる2つの特殊な構造。これらは追加専用のログです。 1つ目はインデックスメタデータを格納し、2つ目はファイルバイナリを格納します。ファイル名とフォルダー名は、検索を容易にするために、接頭辞付きのハッシュツリーを使用してインデックスが付けられます。ある意味で、それは高速なキー値システムとして機能します。データの整合性はBLAKE2b-256暗号化ハッシュ関数を備えたMerkleツリーを使用して検証されます特別なデーモン は、ファイルシステムへのユーザー要求を処理する責任があります。そのCLIを使用すると、Hyperdriveディレクトリを作成、共有、および表示できます。デーモンはFUSEをサポートします



したがって、ハイパードライブはLinuxおよびMacシステムでは通常のフォルダーとして表示されます。



どこで使われていますか



Hyperdriveは、機能的にクラウドストレージに似た分散アプリケーションの開発に適しています。たとえば、ScienceFairオープンソースプラットフォームはそれを使用します。彼女は、研究者が科学文献、ジャーナル、記事、それらからの抜粋を検索し、彼ら自身の洞察を共有するのを助けます。



もちろん、Beakerブラウザの開発者は独自のファイルシステムを使用しますこれは、格納された表示のウェブサイトに必要なデータを。





写真-クリント・アデア- Unsplash



ハイパードライブはの心臓部であるダットのプロトコル..。分散ネットワークでのデータ交換に必要です。送信中、ファイルはさまざまなサイズの小さなフラグメントに分割され、受信側で1つのDatファイルに収集されます。システムでは、新しいフラグメントを追加できますが、既存のフラグメントを変更または削除することはできません。このアプローチにより、ドキュメントの変更履歴を保存できます。



今日、かなり大きなコミュニティがすでにDatの周りに形成されており、特別なDat Foundationその推進に取り組んでいます。これは、MozillaとCode for Science&Societyによってサポートされています。長期的には、これらの組織は、DatプロトコルとHyperdriveファイルシステムの両方の人気の高まりに貢献します。






1cloud.ru:



:

:



RAID-







All Articles