Live data from Hacker News

TigerBeetle is a most interesting database

amplifypartners.com

11–20 of 228 posts

Re: TigerBeetle is a most interesting database

#11
post #5

> 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.

I am quite sure Oracle and MS SQL server do just fine in multi-node cluster based architectures, but maybe that isn't their target audience.

Re: TigerBeetle is a most interesting database

#12

hope you all like this post as much as I enjoyed writing it!

Just to be a little pedantic for a second, isn't TigerBeetle a database management system (DBMS) whereas a TigerBeetle database would be actual data and metadata managed by TigerBeetle?

Re: TigerBeetle is a most interesting database

#13
> In less than a decade, the world has become at least three orders of magnitude more transactional. And yet the SQL databases we still use to power this are 20-30 years old. Can they hold up?

Errr 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

#14
post #7

Earlier 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.

I think the point is that sharding won't really help that much since transactions will happen across all or most shards, and then you have certain accounts that will be more active than others.

Re: TigerBeetle is a most interesting database

#15

Because 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…

> which kills SQL row locks.

What's it like compared to MVCC?

Re: TigerBeetle is a most interesting database

#17

Pretty 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

You could probably do something similar in Postgres.

Re: TigerBeetle is a most interesting database

#18

Earlier 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?

Depending on contention and RTT, as a specialized OLTP DBMS, TB can do roughly 1000-2000x more performance than a single node OLGP DBMS (cf. the live demo in the talk above)… but also with strict serializability. You don’t need to sacrifice correctness or real-time resolution, and that’s important. For example, if you need to do real-time balance checks.

Re: TigerBeetle is a most interesting database

#19
All of these apply to FoundationDB as well.

- 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 were considering TigerBeetle, but found blockers:

* 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

Post reply on HN