this post was submitted on 05 Apr 2024
89 points (95.9% liked)
Programming
17299 readers
123 users here now
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Rules
- Follow the programming.dev instance rules
- Keep content related to programming in some way
- If you're posting long videos try to add in some form of tldr for those who don't want to watch videos
Wormhole
Follow the wormhole through a path of communities [email protected]
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
They never would have been able to get the same performance from any solution that incorporates a general purpose database.
Their requirements/explicitly-not-required-ments include that it's fine to drop 1s of data. That would be an insane proposition for any other database. Also their read/write rates and latency requirements are unusual to say the least.
It's the same thing as tiger beetle. Ridiculously narrow domains allow for ridiculous performance improvements compared to of-the-shelf solutions.
I'm really excited to see what forks of tiger Beatle for other domains look like. They, supposedly, built it to be able to modify the state machine to other data schemes, but that code mostly just made realize I had no idea what I was looking at.
As soon as someone makes a KV on it, I'm tried to have be my ETCD database
What is tiger beetle?
A new database specifically designed for financial transactions.
I'm not an expert on finance software, so I can't critically assert how good they really are. But they claim much much higher throughput than traditional databases, higher fault tolerance, self healing networks if several replicas are running, etc.
From a purely technical standpoint it's interesting for being written in zig. Because the database scope is so narrow they know exactly how much memory they will need on startup and just allocate all required memory on startup and never allocate more, nor free the aquired memory.