excited about databases, storage engines and message queues
So where do you store them? We could store them separately, but it's much better & neater to store them in the page itself (1/5)
So where do you store them? We could store them separately, but it's much better & neater to store them in the page itself (1/5)
The page looks like this... (1/9)
The page looks like this... (1/9)
It forces you to use a key or a LIMIT, instead of wiping whole database by mistake at 2:19am.
It forces you to use a key or a LIMIT, instead of wiping whole database by mistake at 2:19am.
Shards are typically in the few hundreds or even thousands (for extremely large databases).
Shards are typically in the few hundreds or even thousands (for extremely large databases).
www.sqlite.org/whyc....
www.sqlite.org/whyc....
@samarchdb.bsky.social and I are hosting speakers from leading systems in the datalake / lakehouse space.
Mondays @ 4:30pm ET via Zoom. Open to the public. Videos posted to YouTube: db.cs.cmu.edu/seminars/fal...
@samarchdb.bsky.social and I are hosting speakers from leading systems in the datalake / lakehouse space.
Mondays @ 4:30pm ET via Zoom. Open to the public. Videos posted to YouTube: db.cs.cmu.edu/seminars/fal...
SI does not provide real time guarantees. If you need that, you need Strict Serializability, which guarantees that transactions are ordered in real time.
SI does not provide real time guarantees. If you need that, you need Strict Serializability, which guarantees that transactions are ordered in real time.
Assume the database is in snapshot isolation mode. If transaction A updates, and writes x, commits, *then* transaction B starts and reads x's value, then B will see (assume single node for simplcity):
1 - Value before A's write
2 - Value written by A
3 - Either
4 - 🍿
Assume the database is in snapshot isolation mode. If transaction A updates, and writes x, commits, *then* transaction B starts and reads x's value, then B will see (assume single node for simplcity):
1 - Value before A's write
2 - Value written by A
3 - Either
4 - 🍿
post - avi.im/blag/2025/setsum
code - github.com/avinassh/...
post - avi.im/blag/2025/setsum
code - github.com/avinassh/...
1. It's a database!
1. It's a database!
Someone also mentioned to me that old/traditional services aren't suited for these, so they also build databases internally. (e.g., OpenAI acquired Rockset)
Someone also mentioned to me that old/traditional services aren't suited for these, so they also build databases internally. (e.g., OpenAI acquired Rockset)
dev.to/franckpachot...
dev.to/franckpachot...
Just kidding, just kidding…
Just kidding, just kidding…
"Six thousand years ago, the Sumerians invented writing for transaction processing."
"Six thousand years ago, the Sumerians invented writing for transaction processing."
This totally could have been just a tweet (skeet?), but I wanted to publish something today.
avi.im/blag/2025/old...
This totally could have been just a tweet (skeet?), but I wanted to publish something today.
avi.im/blag/2025/old...
I have large codebases like the Linux kernel, Postgres, etc. I want to ask questions like "find methods that do XYZ" and also post large code snippets and ask for explanations.
I have large codebases like the Linux kernel, Postgres, etc. I want to ask questions like "find methods that do XYZ" and also post large code snippets and ask for explanations.
www.youtube.com/watch?v=QXQN...
www.youtube.com/watch?v=QXQN...
Considering this thing survived 5000 years (holy shit!) with zero downtime and has stronger durability guarantees than most databases today.
I call it rock solid durability.
Considering this thing survived 5000 years (holy shit!) with zero downtime and has stronger durability guarantees than most databases today.
I call it rock solid durability.