CockroachDB: por que jogaram o RocksDB fora
Por que o CockroachDB trocou o RocksDB pelo Pebble: tombstones que os scans atravessam, range deletes ignorados pelo compaction picker e o pedágio do cgo.
RocksDB: o SQLite dos storage engines
Por que o RocksDB existe, por que as escritas sofrem stall, como calcular o write amplification de 33x, o que os knobs custam e como o Ribbon chega ao mínimo.
S3: milhões de HDs, e você não pode editar um byte
Por que o S3 não é um filesystem: leituras parciais mas sem escrita parcial, o que s3fs, Goofys e JuiceFS pagaram para esconder isso e como LSM trees usam isso.
Por que existem tantos storage engines? A RUM Conjecture explicada
Por que RocksDB, Pebble, Cassandra, ScyllaDB e TigerBeetle usam a mesma LSM tree e diferem tanto: RUM Conjecture, compaction leveled vs tiered, Bloom filters.
O que é uma LSM tree? A estrutura de dados por trás da maioria dos bancos de dados modernos
Como a LSM tree transforma escritas aleatórias em sequenciais: MemTable, WAL, sorted runs, o read path, a compaction e o triângulo de amplification.
O que realmente existe dentro do seu banco de dados?
Dos cartões perfurados à B-tree e aos engines LSM: como os bancos guardam dados em disco, por que a B-tree virou o padrão e o que a outra família faz diferente.