TigerBeetle Core System Architecture: Deconstructing Performance Engineering

118 points - today at 11:43 AM

Source

Comments

hoppp today at 12:27 PM
I really wish they turned it into a dependency or database framework where users could define their own business logic to swap out the double entry accounting, while reusing all the system architecture and networking features, consensus etc.

Sort of like a new paradigm where opinionated custom databases could be created with arbitrary entry logic built on this stack.

jandrewrogers today at 5:13 PM
> Unlike C++, which allows implicit memory allocations and complex copy constructors

It is trivial to ensure this doesn't happen at compile-time. If you are doing DMA as in the article these guarantees are required.

jorangreef today at 12:12 PM
Joran from TigerBeetle here! I created TB. Happy to answer questions!
teabee89 today at 1:24 PM
"By [...] utilizing a single-threaded execution loop, TigerBeetle aligns its software architecture perfectly with the physical realities of modern hardware."

Can someone explain why single-threaded execution loop is more aligned with the physical realities of modern hardware ?

kilroy123 today at 12:41 PM
Their simulation is fantastic:

https://sim.tigerbeetle.com

SPascareli13 today at 12:55 PM
Amazing writing, very accessible too.

So batching requests is always something I think should increase performance by a lot, but most server implementations make this pretty difficult, but the thing I struggle the most to understand is how to keep the latency down if you have multiple clients request all batched together? The total amount of latency for all clients is always the latency for the slowest.

g_delgado14 today at 4:07 PM
Is it just me or does it not seem like this whole article was llm generated?

The two "sources" are fake links that lead to 404s