Whenever we talk about caching in an application, the first thought that come to our mind is building an end to end caching mechanism. This…
Testing for concurrency on JVM
Writing thread-safe code is in itself a major challenge and add to that the challenge of verifying if the code we have written is actually…
Paper Notes: Bigtable – A Distributed Storage System for Structured Data
Bigtable is a distributed storage solution developed at Google for storing structured data in a scalable manner. Multiple products(At the time the paper was written)…
Paper Notes: Real-time Data Infrastructure at Uber
An application like Uber might seem simple in the first look but does a great job of hiding complexity in order to provide a great…
Event Sourcing: Removing UD from CRUD
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,…