TLDR Tech / Data
Protocols for transactional usage of object storage
Object storage can support serializable OLTP if you build on three write primitives (atomic PUTs, conditional PUT If-Match/If-None-Match, and strongly consistent LISTs) and three read primitives (atomic GETs, conditional GET If-None-Match, and consistent listing). The core tradeoff is safety versus contention cost, and you need safe garbage collection to prevent the storage from growing indefinitely.
Read the full story