TigerBeetle: arquitectura de un ledger financiero que elimina la asignación dinámica de memoria
TigerBeetle Core System Architecture: Deconstructing Performance Engineering

TigerBeetle, una base de datos de ledger financiero escrita en Zig, alcanza cientos de miles de transacciones por segundo con latencias de cola sub-milisegundo al eliminar la asignación dinámica de memoria tras el arranque, usar I/O directo con io_uring y un bucle de ejecución de un solo hilo. Su diseño de structs fijos de 128 bytes y alineación de página permite copias cero y máxima localidad de caché, priorizando la previsibilidad sobre la elasticidad.
La arquitectura de TigerBeetle demuestra que el rendimiento extremo no se logra añadiendo complejidad, sino eliminándola sistemáticamente.
- hoppp
Realmente desearía que lo convirtieran en un framework de dependencias o de base de datos donde los usuarios pudieran definir su propia lógica de negocio para intercambiar la contabilidad de partida doble, mientras reutilizan toda la arquitectura del sistema y las características de red, consenso, etc. Algo así como un nuevo paradigma donde se pudieran crear bases de datos personalizadas y opinadas con lógica de entrada arbitraria construida sobre esta pila.
- jorangreef
¡Joran de TigerBeetle aquí! Creé TB. ¡Feliz de responder preguntas!
- kilroy123
Su simulación es fantástica:
- teabee89
"Al [...] utilizar un bucle de ejecución de un solo hilo, TigerBeetle alinea su arquitectura de software perfectamente con las realidades físicas del hardware moderno."
¿Puede alguien explicar por qué un bucle de ejecución de un solo hilo está más alineado con las realidades físicas del hardware moderno?
- jandrewrogers
> A diferencia de C++, que permite asignaciones de memoria implícitas y constructores de copia complejos
Es trivial asegurar que esto no ocurra en tiempo de compilación. Si estás haciendo DMA como en el artículo, estas garantías son necesarias.