Empfohlene ZFS-Eigenschaften für Blockchain-Datenmontagepunkte

467
Karl Richter

Blockchain-basierte Technologien setzen große Datasets voraus. Es ist sinnvoll, sie auf einem separaten Datenträger / Dataset abzulegen, falls das Dateisystem sie unterstützt. Ich verwende ZFS und habe mich gefragt, ob es Eigenschaften gibt, die für das Dataset empfohlen werden, das nur Blockchain-Daten enthält. Ist es gut komprimierbar (wenn ja, mit Algorithmus)? Ist es deduplizierbar? Was ist der Nachteil beim Lesen (zB wird häufig auf alte Daten zugegriffen und muss daher ständig dekomprimiert werden)?

Ich gehe davon aus, dass sie alle ähnliche Datenstrukturen haben, aber wenn nicht, konzentrieren wir uns darauf, in welchem ​​Bitcoin gespeichert wird ~/.bitcoin.

Ich verwende ZFS 7.x auf Ubuntu 17.10.

4

1 Antwort auf die Frage

1
Dan

In Bytes besteht das Festplattenformat für die Bitcoin-Blockchain hauptsächlich aus Signaturen und Hashes.

In ZFS oder einem anderen Speichersystem gibt es drei Haupttechniken für die Byteeffizienz:

  1. Komprimierung: Hashes und Signaturen sehen meistens wie Zufallszahlen aus, daher ist es schwierig, hier einen großen Gewinn zu erzielen.
  2. Deduplizierung: Dedup erfordert genaue Blockübereinstimmungen, um zu funktionieren, aber ich sehe keinen Grund, warum diese in der Blockchain existieren würden - ich denke, jeder Schreibvorgang wird einzigartig sein.
  3. Snapshotting / Klonen: Dies ist nur hilfreich, wenn Sie mehrere beschreibbare Kopien der Blockchain benötigen.

Meine Antwort lautet daher zum größten Teil, dass ZFS (und andere Datei- und Blockspeichersysteme) nicht wirklich helfen können, wenn Sie nicht mehrere Kopien der Blockchain speichern.

Wenn Sie aus irgendeinem Grund mehrere Kopien haben, können Sie mit Dedup wahrscheinlich enorme Vorteile erzielen, da bei jedem Knoten die gleiche Blockchain gespeichert werden muss. Sie können einen NFS-Server mit ZFS verwenden und Klone desselben Dateisystems überall dort einhängen, wo Sie eine Kopie der Blockchain benötigen. Dies würde auch das Erstellen neuer Kopien erheblich beschleunigen, da Sie sofort einen beschreibbaren Klon der Daten erstellen können, anstatt scpdie Daten zu erfassen.