TigerBeetle: Datenbankarchitektur mit statischer Speicherallokation und Zero-Copy-I/O
TigerBeetle Core System Architecture: Deconstructing Performance Engineering

TigerBeetle, eine spezialisierte Finanzdatenbank in Zig, erreicht hohe Durchsatzraten mit vorhersagbaren Latenzen, indem sie dynamische Speicherallokation zur Laufzeit eliminiert, den Kernel-Cache umgeht und eine Single-Threaded-Ausführung mit Viewstamped Replication nutzt. Der Autor analysiert die Architektur: statische Allokation verhindert Fragmentierung und OOM, Zero-Copy über io_uring und O_DIRECT reduziert CPU-Last, und feste 128-Byte-Strukturen optimieren Cache-Lokalität. Diese Designprinzipien bieten Einblicke für Hochleistungssysteme, auch wenn sie Kompromisse bei der Skalierbarkeit eingehen.
TigerBeetles Architektur zeigt, dass extreme Leistung nicht durch das Hinzufügen von Komplexität erreicht wird, sondern durch deren systematische Beseitigung.
- hoppp
Ich wünschte wirklich, sie hätten daraus ein Framework für Abhängigkeiten oder Datenbanken gemacht, bei dem Nutzer ihre eigene Geschäftslogik definieren könnten, um die doppelte Buchführung auszutauschen, während sie die gesamte Systemarchitektur und die Netzwerkfunktionen, den Konsens usw. wiederverwenden. So etwas wie ein neues Paradigma, bei dem meinungsstarke, kundenspezifische Datenbanken mit beliebiger Eintragslogik auf diesem Stack erstellt werden könnten.
- jorangreef
Joran von TigerBeetle hier! Ich habe TB erstellt. Gerne beantworte ich Fragen!
- kilroy123
Ihre Simulation ist fantastisch:
- teabee89
"Indem [...] TigerBeetle eine single-threaded Ausführungsschleife verwendet, bringt es seine Softwarearchitektur perfekt in Einklang mit den physischen Gegebenheiten moderner Hardware."
Kann jemand erklären, warum eine single-threaded Ausführungsschleife besser mit den physischen Gegebenheiten moderner Hardware übereinstimmt?
- jandrewrogers
> Im Gegensatz zu C++, das implizite Speicherzuweisungen und komplexe Kopierkonstruktoren erlaubt
Es ist trivial, dies zur Compile-Zeit zu verhindern. Wenn man DMA wie im Artikel betreibt, sind diese Garantien erforderlich.