Welche Technologie wird das BerkleyDB-Format ersetzen? Was sind die aktuellen Skalierbarkeitsbeschränkungen?

Wie skalierbar ist das BerkleyDB-Format (die in einer Brieftasche verwendete Technologie) und welche Einschränkungen gibt es?

Welche Technologie würde BerkleyDB ersetzen oder ergänzen, um diese Skalierbarkeitsherausforderungen zu bewältigen?

Antworten (1)

Im nächsten Major-Release (voraussichtlich 0.8) wird der Referenz-Client höchstwahrscheinlich auf LevelDB statt auf BDB für Blockchain-Daten umsteigen. Für Brieftaschen wird eine andere Lösung benötigt, aber wir werden uns höchstwahrscheinlich auch für diese von BDB entfernen.

BDB hat mehrere Probleme - das heißt nicht, dass es schlechte Software ist, aber unser Anwendungsfall passt einfach nicht zu dem, wofür es entwickelt wurde. BDB soll Datenbanken mit extrem hoher Zuverlässigkeit in komplexen Umgebungen mit mehreren Prozessen auf High-End-Systemen bereitstellen, auf denen Datenbankprotokolle gesichert und Upgrades manuell von einem Datenbankadministrator durchgeführt werden. BDB garantiert nicht einmal die Kompatibilität zwischen seinen Umgebungsdateien zwischen Nebenversionen.

LevelDB – eine Open-Source-Umschreibung des eigenen Datenbanksystems von Google – wurde für Effizienz und Konsistenz auf handelsüblicher Hardware entwickelt und übertrifft BDB in einigen Umgebungen um eine Größenordnung. Vorläufige Tests mit LevelDB zeigen sehr gute Ergebnisse.

Für Wallets wäre LevelDB ein Overkill und eine Belastung. LevelDB verwendet ein ganzes Verzeichnis pro Datenbank (anstelle einer einzelnen Datei), und Brieftaschen sind praktisch ein einfacher Schlüsselwertspeicher, der sowieso vollständig in den Speicher geladen wird. Ich gehe davon aus, dass wallet.dat durch ein einfaches, aber solides handgerolltes Format ersetzt wird.

Wann würden Sie als Entwickler von BIP32 gerne ein Upgrade des wallet.dat-Formats sehen?
Ich habe an der Implementierung von BIP32 für den Referenzclient gearbeitet (aber nicht jetzt); Es war immer noch nur erforderlich, dass die Brieftasche ein generischer Schlüsselwertspeicher ist, und das wird sich wahrscheinlich nicht ändern. Es ist also ziemlich unabhängig davon, ob Wallets zu diesem Zeitpunkt noch BDB oder etwas anderes sind. Um die andere Frage zu beantworten: Ich möchte so schnell wie möglich von BDB wegkommen, aber jemand muss eine Alternative implementieren.