Back to problems

Design In-Memory Key-Value Database

Object-Oriented Programming · Lyft · Medium

Snapshot‑Based Transaction Stack The core challenge is supporting nested undo operations: any block of changes must be reversible in one shot, while still reflecting partial results during the life of that block. A straightforward mental model is to treat every begin call as taking a photograph of the entire database. When rollback arrives, we simply restore from the most recent photograph. Because the stack holds multiple photos, nesting is handled naturally — rolling back…

Checking your access…