Versioned document store
Your task
Design a versioned document store (S3-versioning / Google-Docs-revision style) that keeps every version of an object and supports reading any prior version, restoring an old version, and soft-deletes. Constraints: most reads target the latest version, version history can be long, you bill on stored bytes so old versions must be reclaimable by policy, and listing must show only current versions by default. Cover the version model, read path, and lifecycle.
It covers
- Versioning
- Mvcc
- Tombstones