v
@iavins
breaking databases @tursodatabase. W1 '21 @recursecenter excited about databases, storage engines and message queues
For the past few months, I have been learning about internals of databases. I found many excellent articles on writing compilers, but I could not find many practical resources for databases. So I wrote one. CaskDB is the project I wish I had started with. github.com/avinassh/py-ca…
When writing unsafe code, all bets are off. Okay, but the nice thing about Rust is that you end up writing a lot of safe code by default. So you spend a lot less time debugging unsafe code than with languages that are unsafe by default
CedarDB on why they picked C++ over Rust
Rust refs are noalias and dereferenceable; Creating a mut-ref when shared ones are alive, even if u dont use it, is UB as compiler can insert reads/writes to it at any time even if you dont. Its also transient, so mut-ref obj is mut-ref fields recursively too: hard 2 share fields
I had missed @ssougou's blog post series on consensus when it was originally posted. I really like the perspective of breaking down Raft/Paxos/etc. into the individual actions that comprise consensus. planetscale.com/blog/consensus…
This is not true. Focus is on Rust only when you're starting out, then focus moves back to solving the problem as soon as you figure it out. In fact, when modern C++ 11 came out, we fundamentally had the same problem until we figured out how to use it well.
Rust may have properties that make it a good fit for writing a database. But human psychology comes into play. The focus of the project moves to Rust, away from whatever problem its trying to solve. C++ doesn't have this problem.
We’ve always stuck to stable language features in Zig. And the grammar is pretty small. Andrew spoke at #systemsdistributed on the upcoming advances in stdio reader/writer. We’re happy (would be more concerned about languages that will never fix this). m.youtube.com/watch?v=f30Pce…
"Go read it" 👀 go hate rust, go won't read it !
I remember when I was young - my first year at Red Hat, I sat down with one of our most senior engineers, avid to learn, and asked him if it was more important to read code, or write code, if I wanted to become a great programmer. This was especially important for Linux, which…
Some recent database projects which did NOT use Rust: CedarDB - C++ DragonFly - C++ TigerBeetle - Zig
AWS published a blog post: An Aurora DSQL Story. It's less about database development and more like a love letter to Rust. DSQL's initial development was in Kotlin, but they weren't happy with its performance. So two engineers, who had never written Rust before, rewrote a…