[1] You “update” by overwriting the entire file. This is remarkably fast and means that there’s no overhead/tracking for empty space, but it does mean you probably want this to be a fairly rare operation.
I rolled my own cdb reader library for a project a few years ago, and wrote up my notes on the format and its internals here: https://search.feep.dev/blog/post/2022-12-03-cdb-file-format
Bolwin•1h ago
dsr_•1h ago
And it is especially good on copy-on-write filesystems, because it is CoW itself.
bloppe•1h ago
tptacek•1h ago
renewiltord•45m ago
tptacek•1h ago
Most people would use Redis or SQLite today for what CDB was intended for; CDB will be faster, but for a lot of applications that speed improvement will be sub-threshold for users.
paws•1h ago