> And yet some of the most popular OLTP databases in the world today are still highly dependent on a single node architecture. Which databases? SQLite is the one I can think of, but it's designed for that use-case. Others start as single node but will replicate to other nodes, either as master-slave or master-master.
TigerBeetle is a most interesting database
11–20 of 228 posts
Re: TigerBeetle is a most interesting database
#12hope you all like this post as much as I enjoyed writing it!
Re: TigerBeetle is a most interesting database
#13Errr yes. Without much sweat really.
Just because something started ~30 years ago doesn't mean it hasn't updated with the times, and doesn't mean it was built on bad foundations.
Re: TigerBeetle is a most interesting database
#14Earlier quoted context omitted.
They both have replication, which allows them to be multi-node.
With the bounds capped by a single writer. Unless you can shard the data and create a distributed database with manual sharding. But yes. Postgres remains an amazing choice, especially with modern hardware, until you also have the money available to tackle said write throughput issue.
Re: TigerBeetle is a most interesting database
#15Because I'm sure other people will ask - no, it does not support SQL.
Joran from TigerBeetle here! Yes, this is by design. SQL is a great general purpose query language for read-heavy variable-length string workloads, but TigerBeetle optimizes for write-heavy transaction processing workloads (essentially debit/credit with fixed-size integers) and specifically with power law contention, which kills SQL row locks. I spoke about this specific design decision in depth at Systems Distribute…
What's it like compared to MVCC?
Re: TigerBeetle is a most interesting database
#16Re: TigerBeetle is a most interesting database
#17Pretty much agree, I honestly think that TB team should invest some more effort on evangelizing the double-entry model for non-financial scenarios, like managing stocks, booking a show ticket etc. The 1000x API improvement has been done, now people must know how to use it
Re: TigerBeetle is a most interesting database
#18Earlier quoted context omitted.
Joran from TigerBeetle here! Yes, this is by design. SQL is a great general purpose query language for read-heavy variable-length string workloads, but TigerBeetle optimizes for write-heavy transaction processing workloads (essentially debit/credit with fixed-size integers) and specifically with power law contention, which kills SQL row locks. I spoke about this specific design decision in depth at Systems Distribute…
> which kills SQL row locks. What's it like compared to MVCC?
Re: TigerBeetle is a most interesting database
#19- Slow code writing.
- DST
- No dependencies
- Distributed by default in prod
- Clock fault tolerance with optimistic locking
- Jepsen claimed that FDB has more rigorous testing than they could do.
- New programming language, Flow, for testing.
You probably could solve the same problems with FDB, but TigerBeetle I imagine is more optimized for its use case (I would hope...).
AFAIK - the only reason FDB isn't massively popular is because no one has bothered to write good layers on top. I do know of a few folks writing a SQS, DynamoDB and SQLite layers.
Re: TigerBeetle is a most interesting database
#20* We use Cloudflare Workers. TigerBeetle client app is not supported. It might work using Cloudflare Containers, but then the reason we use Cloudflare is for the Workers. --> https://github.com/tigerbeetle/tigerbeetle/issues/3177
* TigerBeetle doesn't support any auth. It means the containing server (e.g. a VPS) must restrict by IP. Problem is, serverless doesn't have fixed IP. --> https://github.com/tigerbeetle/tigerbeetle/issues/3073