Live data from Hacker News

TigerBeetle is a most interesting database

amplifypartners.com

121–130 of 228 posts

Re: TigerBeetle is a most interesting database

#121
post #46
post #38

Earlier quoted context omitted.

DNS still runs strong and it was ~~designed~~ released* in the November 1983. It still holds up basically whole of internet. in most cases SQL is good enough for 90% of workloads.

What would DNS look like if it were released in 2025?

Owned by GoogleFlare with public spec, but most of it would be run as closed source application that uses extended spec akin to EEE - making it impossible to use without relying on GoogleFlare.

config defined in YAML.

Re: TigerBeetle is a most interesting database

#122

What does TigerBeetle stand on the CAP theorem? Sounds like it's AP?

CAP defines availability physically: “requests to a non-failing node receive a response”. TigerBeetle ensures logical availability: as long as clients can reach a majority, requests complete with strict serializability, preserving safety and liveness under partitions.

cf. Durability and the Art of Consensus: https://www.youtube.com/watch?v=tRgvaqpQPwE

Re: TigerBeetle is a most interesting database

#123
post #23

> They keep assertions enabled in production. Never understood why we turn those off. An assert failing in prod is an assert that I desperately want to know about. (That "never understood" was rhetorical).

It's historical: turning off assertions made the code run faster.

But nowadays an extra comparison is no biggie, especially if the compiler can hint at which way it's likely to go.

Re: TigerBeetle is a most interesting database

#124
post #38

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

DNS still runs strong and it was ~~designed~~ released* in the November 1983. It still holds up basically whole of internet. in most cases SQL is good enough for 90% of workloads.

Isn't DNS a catastrophic clusterfuck which also had to be patched up multiple times to not allow people burning down the whole world? I mean, yes, it's doing its job, but mainly because of people doing their job.

Re: TigerBeetle is a most interesting database

#125
I’m somewhat confused by the distributed story for tiger beetle. In the docs here: https://docs.tigerbeetle.com/concepts/performance/#single-th...

It says: “TigerBeetle uses a single core by design and uses a single leader node to process events. Adding more nodes can therefore increase reliability, but not throughput.”

How does this work with multi-region? Does this mean that regardless of where in the world your users might live, they need to make a request to the leader node for a write to occur?

Is distribution purely for redundancy?

Re: TigerBeetle is a most interesting database

#126
post #46
post #38

Earlier quoted context omitted.

DNS still runs strong and it was ~~designed~~ released* in the November 1983. It still holds up basically whole of internet. in most cases SQL is good enough for 90% of workloads.

What would DNS look like if it were released in 2025?

JSON-Messages over WebSockets. And proper path-format.

Re: TigerBeetle is a most interesting database

#129
post #119

Earlier quoted context omitted.

Yeah, SQL is not the issue. At least not mostly. The relational model has shown itself to be exactly the flexible and powerful model that Codd said it was, even in its relatively-debased from in SQL. In fact the potential of it as a universal and flexible data model that abstracts away storage still remains to be fully unlocked. Now as for existing SQL databases, yes, many of them were built on foundational assumptio…

> Throwing out SQL is not really the recipe for "performance" We've discovered hacks to work around the limitations of SQL, so you can maintain performance with sufficient hackiness, but you have to give up "purity" to get there. Worse is better applies, I suppose, but if we were starting over today the design would be very different. Throwing out SQL isn't strictly required, but like Rust isn't strictly required whe…

No, I'm arguing in fact the opposite and you'll have to prove the point wrong instead of drive-by insisting on this. The point of Codd's original paper was to separate concerns about data storage from its representation and to propose an elegant representational & transformation & query model based on first order logic and I believe he succeeded.

SQL was the first serious attempt to translate this into a working system, and it's full of warts, but the underlying model it is reaching towards retains its elegance.

But most importantly the principle of not tying the structure of data to its storage model is absolutely key. Not least because we can iteratively and flexibly improve the storage model over time, and not be stuck with decisions that tie us to one particular structure which is the problem that 1960s "network" and "hierarchical" databases (and modern day "key value" or "NoSQL" databases) cause.

Re: TigerBeetle is a most interesting database

#130

Because I'm sure other people will ask - no, it does not support SQL.

It helps to know what kind of data TigerBeetle handles. The data committed by its transactions is an immutable Transfer of id:128-bit, debit_account_id:128-bit, credit_account_id:128-bit, amount:128-bit, ledger:128-bit, code:16-bit, flags:bitfield, timestamp:64-bit, user_data_128, user_data_64, user_data_32.

Transactions atomically process one or more Transfers, keeping Account balances correct. Accounts are also records, their core fields (debits_posted, credits_posted, etc).

This gives a good idea of what TigerBeetle might be good for and what it might not be. For anything where latency/throughput and accuracy really, really matters, it could be worth the effort to make your problem fit.

Post reply on HN