GlassDB is a transactional object storage solution designed as a client-side library that leverages the strong consistency of cloud object storage (e.g., AWS S3, Google Cloud Storage). It aims to bridge the gap between portability, transactional consistency, and cost-efficiency, typically challenging in cloud-based applications. The post covers the journey of designing GlassDB, touching on database design, ACID properties, optimistic locking, transaction algorithms, and the trade-offs involved. Key highlights include the use of distributed transactions, optimistic concurrency control, and local caching to optimize performance amidst the inherent latencies of object storage.

30m read timeFrom blog.mbrt.dev
Post cover image
Table of contents
The beginning #The idea #Distributed transactions #No isolation #Interface #Choosing the algorithm #Make it work #Make it fast #Benchmarks #Is that all? #

Sort: