A Data Center Analyst View of Spanner: Google’s Globally-Distributed Database

GigaOm's Stacey Higginbotham posted on Spanner: Google’s Globally-Distributed Database.

Google’s Spanner: A database that knows what time it isBY 

Google, which is notoriously secretive about technology advances, has opened up the vault and spit out a research paper on its Spanner database. And like other Google innovations, this one is hot. It’s a database that scales to millions of machines and trillions of rows.

The Research Publication is published here.

Abstract

Spanner is Google's scalable, multi-version, globally-distributed, and synchronously-replicated database. It is the first system to distribute data at global scale and support externally-consistent distributed transactions. This paper describes how Spanner is structured, its feature set, the rationale underlying various design decisions, and a novel time API that exposes clock uncertainty. This API and its implementation are critical to supporting external consistency and a variety of powerful features: non-blocking reads in the past, lock-free read-only transactions, and atomic schema changes, across all of Spanner.

To appear in:
OSDI'12: Tenth Symposium on Operating System Design and Implementation, Hollywood, CA, October, 2012.

Download: PDF Version

I have got a bit more time to go through the paper and I'll highlight parts I find interesting from a data center analyst perspective.

First thing caught my eye.

Applications can use Spanner for high availability,
even in the face of wide-area natural disasters, by replicating their data within or even across continents. Our
initial customer was F1 [35], a rewrite of Google’s advertising backend. F1 uses five replicas spread across
the United States.

What is F1?

NewImage

And how does this relate to Spanner?

NewImage

Google has 3 to 5 data centers in a geographic region.

NewImage

Why 5, not just 3?

NewImage

I had just written about Google's move to Chile had three more.  So, need to get used to looking for 5 Google data centers to support a geographic reason with 100ms latency, not just three.

I could go longer into the document, but I think the post will get too long.  Let's just stop with one point that is useful in looking at these two documents.  Google has 5 data centers within 100ms in a geographic region to support ad business which is where they make most of their money.