Bigtable is a distributed key/value storage system built at Google in 2005. It is designed to scale to store billions of rows and handle millions of reads/writes per second.

This post will explore Bigtable’s data model, consistency primitives and common usages. …

This post dives into what VReplication is and how it gets used in Vitess.

This is the final post in my Vitess series. We have covered a lot of ground so far. We started by taking about what motivated Vitess. Then we covered an overview of the Vitess feature set and an overview of the Vitess architecture. …

Why Vitess sharding is better than NoSQL sharding

One of the most magical pieces of Vitess is the clean abstractions it provides around sharding. Vitess enables the application to largely ignore the fact that data is sharded while still providing the flexibility to control how data get distributed between shards. In order to understand how Vitess managed this…

A deep dive into Vitess architecture, query handling and cross regional deployments.

This is the third post in my Vitess series. This post is going to go over the architecture of Vitess, the major components and walk through how queries are handled. In case you missed the first two posts in the series you can check them out here:

Why Sharding Gets…

In my last post on Vitess we talked about why sharding gets hard as data volume grows. We showed that as traffic and total data size increases, the complexity of managing the backing database cluster also increases. Vitess was introduced as a solution to deal with these complexities. …

Once upon a time, there was a company called TubeYou. TubeYou was a video sharing platform which was expanding very rapidly. When they first started out they stored all their data on a single MySQL instance. All reads and writes went to this single instance, and they operated at a…

Recently I published a post on Why Google Built Spanner. If you have not already read that post, I recommend you check it out before reading this one. Understanding the motivation behind Spanner and the abstractions it provides to its users, is critical context to understanding Spanner’s inner workings.

The…

This is the first of two posts on Spanner. This post will focus on what motivated Spanner, how users interact with it and the novel consistency guarantees Spanner provides. The following post will dive into Spanner internals. Hope you enjoy…

In 2012 Google published a paper on a new database…

What problem does it solve?

Let’s imagine you want to build Uber Eats. There are fundamentally two separate concerns you are going to have to address

  1. How do you write the actual business logic? (e.g. …

Introduction

I am a senior software engineer with an interested for large scale distributed systems in the platform/infrastructure space. My current interests really center around databases, streaming platforms, workflow engines, and other systems which at their core are responsible for data management.

I am starting this blog as a place to…

Andrew Dawson

Senior software engineer with an interest in building large scale infrastructure systems.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store