F1 - The Fault-Tolerant Distributed RDBMS Supporting Google's Ad Business

Beyond Hadoop Great America Ballroom J
Average rating: *****
(5.00, 5 ratings)

Many of the services that are critical to Google’s ad business have historically been backed by MySQL. We have recently migrated several of these services to F1, a new RDBMS developed at Google. F1 implements rich relational database features, including a strictly enforced schema, a powerful parallel SQL query engine, general transactions, change tracking and notification, and indexing. F1 is built on top of Spanner, a new globally-distributed synchronously-replicated storage system that scales on standard hardware in Google data centers. Spanner supports efficient externally-consistent distributed transactions and includes useful features like non-blocking read-only transactions and multi-versioned snapshot reads.

The strong consistency properties of F1 and Spanner come at the cost of higher write latencies compared to MySQL. Having successfully migrated a rich customer-facing application suite at the heart of Google’s ad business to F1, we will describe how we restructured schema and applications to largely hide this increased latency from external users. The distributed nature of F1 also allows it to scale easily and to support significantly higher throughput for batch workloads than a traditional RDBMS.

With F1, we have built a novel hybrid system that combines the scalability, fault tolerance, transparent sharding, and cost benefits so far available only in “NoSQL” systems with the usability, familiarity, and transactional guarantees expected from an RDBMS.

Photo of Stephan Ellner

Stephan Ellner

Google

Stephan Ellner has been a software engineer in Google’s ads infrastructure team since 2004, focusing on stream processing and low-latency distributed query execution. Stephan currently manages the teams developing the F1 database and related extraction and reporting systems. He holds Master’s degrees in computer science and classical music from Rice University.

Photo of Jeff Shute

Jeff Shute

Google

Jeff Shute is the lead engineer on F1. Jeff has been focused on distributed storage systems for the ads team since joining Google in 2005. Jeff studied computer science and math at University of Waterloo and previously worked at a company building a high-performance column-store database engine.

Sponsors

Sponsorship Opportunities

For information on exhibition and sponsorship opportunities at the conference, contact Susan Stewart at sstewart@oreilly.com

Media Partner Opportunities

For information on trade opportunities with O'Reilly conferences contact Kathy Yu at mediapartners
@oreilly.com

Press and Media

For media-related inquiries, contact Maureen Jennings at maureen@oreilly.com

Contact Us

View a complete list of Strata contacts