#storage

ls ./tags/storage
2025-03-27~2 min
Key design tip: reverse number scanning in ordered key-value stores

A key design trick for ordered key-value stores like HBase, FoundationDB, and RocksDB: reverse a number by subtracting it from its max value so a forward scan finds the highest one first.

2025-03-07~3 min
Debugging FoundationDB's Data Distributor

A deep dive into the internals of FoundationDB's Data Distributor and how it manages shard placement and team priorities.

2024-04-22~3 min
Redwood’s memory tuning in FoundationDB

Learn how to tune FoundationDB for Redwood storage Engine

2024-03-12~4 min
True idempotent transactions with FoundationDB 7.3

Learn how to avoid FDB's biggest caveats by using a new feature called automatic idempotency in FoundationDB

2021-02-21~5 min
Crafting row keys in FoundationDB

An overview of all the helpers to generate row keys with FoundationDB

2021-01-11~9 min
Notes about ETCD

List of ressources gleaned about ETCD

2020-09-23~3 min
Announcing Record-Store, a new (experimental) place for your data

Opensourcing Record-Store

2020-09-18~4 min
Diving into ETCD's linearizable reads

A code-level dive into how etcd achieves linearizable reads with the ReadIndex protocol on top of Raft, including how it enables safe follower reads.

2020-01-30~14 min
Notes about FoundationDB

List of ressources gleaned about FoundationDB

2019-11-17~4 min
Diving into Hbase's MemStore

A code-level dive into HBase's MemStore, from the ConcurrentSkipListMap backing HBase 1.x to the in-memory compactions Accordion introduced in HBase 2.0.

2019-08-04~8 min
What can be gleaned about GFS successor codenamed Colossus?

Piecing together, from scattered public talks and papers, how Google evolved GFS into Colossus, and why a Kubernetes-native distributed file system is still missing.

2019-05-27~3 min
Playing with TTL in HBase

A hands-on walkthrough of HBase's TTL feature, how cell timestamps and compaction interact to expire data, and how to control it by setting your own version timestamp.

2019-02-03~4 min
What are ACID transactions?

A walkthrough of the ACID properties of database transactions, from the 1983 Haerder and Reuter paper that coined them to isolation levels and PostgreSQL's MVCC implementation.

2019-01-27~4 min
Hbase Data Model

An overview of HBase's data model, row keys, column families and qualifiers, and why key design determines whether you get good performance or a hotspotted region.