One of the common challenges of large-scale systems is maintaining the correct ordering and state of resources which are getting manipulated by client requests. Something…
Paper Notes: Amazon DynamoDB – A Scalable, Predictably Performant, and Fully Managed NoSQL Database Service
Sometime back, I wrote a post on Dynamo which is Amazon’s key-value store. This paper is not about that. This paper was presented at a…
Paper Notes: WiscKey – Separating Keys from Values in SSD-conscious Storage
During the last post about LSM trees, we discussed how awesome they are for write-heavy storage engines. But we also got a glimpse into why…
LSM Tree: Data structure powering write heavy storage engines
A database system is built by gluing together multiple pieces of technology. One such piece is a storage engine which is responsible for providing an…
Paper Notes: Zookeeper – Wait-free coordination for Internet-scale systems
In a distributed computing environment, servers often need to work with certain shared set of attributes such as locks, system configurations etc. In order to…
Paper Notes: Dynamo – Amazon’s Highly Available Key-value Store
Dynamo is one of the most influential papers in the domain of distributed storage technologies. It has inspired multiple open source databases such as Cassandra,…
Sloppy Quorum and Hinted handoff: Quorum in the times of failure
As part of a blog post in the past, we discussed how Quorums play a huge part in multi-node system. In order to revisit the…
Vector Clocks: Keeping time in check
“Lost time is never found again.” – Benjamin Franklin. The above quote is true to its core in context of distributed systems. If you miss…
Implementing Raft consensus algorithm in Go
As part of my next post, I was looking to review the paper for Raft consensus algorithm. But this is one paper which I found…
Paper Notes: Cassandra- A Decentralized Structured Storage System
Cassandra is a distributed storage system that focusses on providing a highly scalable & available service for storing very large amount of data. As part…