↓ Skip to main content

“When your SQLite database is kept in S3, each write suddenly becomes a total overwrite of the entire database.”

Cal Patersoncalpaterson.com ↗

S3 has two core calls against the five of the unix file API. The missing piece is partial overwrite, and every database from Postgres to SQLite writes in 4 or 8 kilobyte pages. S3 also has no rename, so a move is a copy plus a delete in linear time, and listing is slower than a slow local disk. Calling it a filesystem sells a lot of S3 and breaks a lot of software.