-
Notes on "Bigtable: A Distributed Storage System for Structured Data"
Bigtable is a distributed storage system for managing structured data. Bigtable resembles a database Data model A Bigtable is a sparse, distributed, persistent multi-dimensional sorted map. The map is indexed by a row key, column key, and a timestamp; each value in the map is an uninterpreted array of bytes. E.g. (row:string, column:string, ti... Read More
-
Notes on "Dynamo: Amazon’s Highly Available Key-value Store"
Requirements Highly available, scalable, eventually consistent, “always writable” Techniques Problem Technique Advantage Partitioning Consistent Hashing Incremental High Availability for writes Vector clocks with reconciliation during reads Version size is... Read More
-
Replication and Consistency
First, learn about CAP theorem. A good read is from Coda. Single-leader All writes are sent to the leader. Leaders send data changes to all of its followers as part of a replication log or change stream. Followers take the log and apply the writes in the same order as they were processed on the leader. Good for read-heavy systems. Built-in feat... Read More
-
Death Valley
Death Valley is attractive just by its name. In the old times, people who came to this area usually had a difficult time crossing it alive because of its vastness and extreme whether. Even in our trip during the last Christmas, it could be very hot when walking in the sun. Camping Our trip lasted 5 days. We used a rental car to drive around. ... Read More
-
Binary Search in Action
Binary search is a topic that is easy to explain but hard to implement bug-free. Some example of the most common problems are: How to initialize the boundary When to exit the loop How to update the boundary, i.e. where to shrink Boundary The boundary is the range of elements we will be searching from. The initial boundary should include... Read More
