Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
_vvhw
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
9 ms
·
31.
▲
by
_vvhw
4y ago
We think carefully about this. We do in fact have some extremely advanced testing infrastructure, even going as far as using a deterministic Linux hypervisor to do coverage guided fuzzing of our compiled binaries from the outside in. At the
32.
▲
by
_vvhw
4y ago
You know, we almost wrote TB as a Postgres extension! I think it would have been the right thing to do 5 years ago, before some of the groundbreaking research that came out in 2018 like fsyncgate and “Protocol-Aware Recovery for Consensus-B
33.
▲
by
_vvhw
4y ago
We dive into this in detail here in “Let's Remix Distributed Database Design!”, a talk given at the Recurse center: https://www.youtube.com/watch?v=rNmZZLant9o TLDR: Here's also a 10 min lightning version given at
34.
▲
by
_vvhw
4y ago
"In my head, there has always been a missing piece of software - a "database compiler", that can take the very complex and high-dimensionality abstract specification for a domain and codegen a purpose-built database engine.&q
35.
▲
by
_vvhw
4y ago
Yes, agreed with you as to buffer underflows. Here, I really like that Zig has checked arithmetic enabled by default in safe builds. It's a small decision (to many) but so important. It surprises me that Rust does not do this for safe
36.
▲
by
_vvhw
4y ago
Thanks, that's a great insight! Does it follow that the fact that temporal violations could be used to violate runtime spatial checks, therefore means that spatial safety in itself is entirely without value? What are your thoughts al
37.
▲
by
_vvhw
4y ago
There is in fact a spectrum with respect to memory safety. For example, temporal vs spatial safety. Furthermore, no language is “memory safe” in the absolute sense. For example, not even the borrow checker can protect you from buffer bleeds
38.
▲
by
_vvhw
4y ago
After the Zig compiler that is, which dwarfs TB's code base. The Zig core team are all machines. ;)
39.
▲
by
_vvhw
4y ago
Thanks! I don't think we could have done TigerBeetle the way we did, without Zig. It's been two years now, and looking back the choice has worked out well for our design decisions. For example: - single-threaded control plane (thr
40.
▲
by
_vvhw
4y ago
Thanks! What we realized for TigerBeetle, is that double-entry is often lifted and brought directly into the networked world of distributed systems as double-entry, as a ledger database. However, most distributed financial systems of record
41.
▲
by
_vvhw
4y ago
What I mean is, if you're implementing Paxos/RAFT—what do you expect of the disk, that it's perfect?
42.
▲
by
_vvhw
4y ago
What then would you specify as the clearly defined storage fault model for non-Byzantine protocols such as Paxos/RAFT that rely on stable storage for correctness?
43.
▲
by
_vvhw
4y ago
“the performance of the underlying hardware has increased so much in the last decade that the simplicity of SQLite has become a more important tradeoff” Thanks for articulating this so clearly! It's going to be interesting also to see
44.
▲
by
_vvhw
4y ago
Indeed! I was so glad to see you cite not only the Rebello paper but also Protocol-Aware Recovery for Consensus-Based Storage. When I read your first comment, I was about to reply to mention PAR, and then saw you had saved me the trouble! U
45.
▲
by
_vvhw
4y ago
And yet many non-Byzantine consensus protocols are equipped to handle the network fault model, which could be seen as equally Byzantine under this definition. The problem is really that many formal proofs of consensus have focused only on t
46.
▲
by
_vvhw
4y ago
We are using Zig for TigerBeetle—churn has not been bad and `zig fmt` is pretty good.
47.
▲
by
_vvhw
4y ago
Balance tracking seems to be the Achilles' heel of SQL databases. For example, my experience has been that in the world of payments, the nature of money transactions is to debit perhaps many different accounts on the one side, but cred
48.
▲
by
_vvhw
4y ago
”I fight for the users!”
49.
▲
by
_vvhw
4y ago
Hey Reini! I've always loved your smhasher benchmarks. Appreciate also that you have Mitzenmacher's tabulation hashing in there, which is my goto. We don't use SQLite—I don't know how you got that impression? You can fin
50.
▲
Blockchain Is Stuck in the '80s
(contenthub.coil.com)
2 points
by
_vvhw
4y ago
|
0 comments
51.
▲
by
_vvhw
4y ago
> It sounds like payments might be part of the larger concept of declarative programming (DP) Yes, exactly! The idea with TigerBeetle's state machine [1] is to expose double-entry accounting as a higher level financial primitive, so
52.
▲
by
_vvhw
4y ago
> I sense a bit of Fear of God motivating your story, something that motivated your management to care -- who is that authority, so that I might get them on my case? Haha! :) The authority is none other than Remzi Arpaci-Dusseau at UW-Ma
53.
▲
by
_vvhw
4y ago
Thanks! Great to see that you're working on projects in Nim!
54.
▲
by
_vvhw
4y ago
Thanks for a great question! When we made the decision: 1. We were thinking long term. For example, a distributed database is a significant investment. I love the spirit and orthogonality of C, but we didn't want to pay the safety tax
55.
▲
by
_vvhw
4y ago
> By shifting business logic to stored procedures you avoid this. Thanks, we considered stored procedures to bring the number of database queries down from 18 queries per payment to 1 query per payment. However, that would have provided
56.
▲
by
_vvhw
4y ago
I had the experience of being part of a team in 2020 doing performance and safety analysis on Mojaloop [1], the open-source payments switch. The emphasis was mostly on identifying performance bottlenecks. For example, graphing waterfalls of
57.
▲
by
_vvhw
4y ago
Zig takes a different approach to safety. For example, Zig has checked arithmetic enabled by default in safe builds, can guarantee static allocation, and can recover from memory allocation failure. It depends on the definition of “safer sof
58.
▲
by
_vvhw
4y ago
It's a pleasure. Let me know if you have any more questions about TigerBeetle. Our design doc is also here: https://github.com/coilhq/tigerbeetle/blob/main/docs/DESIGN....
59.
▲
by
_vvhw
4y ago
You can run it as a CLI directly on any ZIP file that you pass by path. I do want to port it to Zig though, to get rid of the NPM install bootstrapping, have a single binary, and also gain Zig's checked arithmetic and spatial safety.
60.
▲
by
_vvhw
4y ago
What a surprise to open up HN today and see Pure staring back at me! Here's the HN thread from 2019 where rattray encouraged me just to go for it and open-source the original JavaScript version: https://news.ycombinator.com&
More ›