Building Applications That Scale: Google's Bigtable and App Engine


Dominic Mazzoni
Thursday, February 11, 2010
4:15 PM – 5:15 PM
More information

Building a web application that can handle sudden popularity and growth is an important challenge - techniques that work well when you have thousands of users suddenly start causing problems when you reach millions of users, or when your site shows up on the front page of Reddit and you suddenly have thousands of new signups every minute. The power and flexibility of relational databases (e.g., SQL databases) becomes a burden as the costs of scaling a database starts to grow superlinearly, leading to the recent popularity of so-called non-relational databases / distributed key-value stores. I’ll talk about Google’s approach, including its internal database called Bigtable, and the public App Engine interface that anyone can use to build highly scalable web apps. I’ll also talk about opportunities for summer internships at Google.

The speaker, Dominic Mazzoni, got his B.S. in Mathematics from Harvey Mudd in 1999 and his M.S. in Computer Science from Carnegie Mellon in 2001. He is the original author of Audacity, the open-source cross-platform audio editor, which has been downloaded over 100 million times and is still under active development. From 2001 until 2006 he worked in the Machine Learning group at the NASA Jet Propulsion Lab in Pasadena, using advanced computer science methods to automate mundane science data analysis tasks. Since 2006 he has been working at Google in the Santa Monica office, working on text processing software for Google’s AdSense for three years, and more recently on an Accessibility engineering team that improves access for people with disabilities. His current side project, Ringdroid, a mobile phone ringtone editor, is at the top of the Android marketplace and has been downloaded onto over a million Android phones. He has co-authored 19 peer-reviewed publications and an e-book.