Build Systems that Drive Business
June 11–12, 2018: Training
June 12–14, 2018: Tutorials & Conference
San Jose, CA

Scaling Square's Cash app with Vitess

Jon Tirsen (Square)
4:35pm–5:15pm Wednesday, June 13, 2018
Distributed Data
Location: 230 B Level: Advanced
Secondary topics: Distributed State
Average rating: *****
(5.00, 3 ratings)

Prerequisite knowledge

  • A basic understanding of large-scale backend architecture and databases

What you'll learn

  • Learn how Square scaled out the backend for its Cash app using Vitess


Square’s Cash app has grown tremendously for the last few years and is currently one of the most popular mobile apps for peer-to-peer payments in the US. Originally built as a Hack Week project, it ran for a very long time on a single MySQL database.

Jon Tirsen explains how Square scaled out the backend for its Cash app using Vitess, a database middleware for MySQL built at YouTube. With hundreds of tables, thousands of different queries, hundreds of different transactions and hundreds of thousands of lines of code, the process proved quite a challenge.

Topics include:

  • The functionality Vitess provides
  • Strategies for scaling out backends for mobile apps
  • How to migrate from a single-shard MySQL system
  • How to keep application developers happy during a large-scale platform change
Photo of Jon Tirsen

Jon Tirsen


Jon Tirsen is a software engineer at Square, where he works on backend scalability issues for Square’s Cash app. Jon has been building software for more than two decades at companies such as Google and ThoughtWorks. He’s lived all over the world but has now returned to his home country, Sweden—at least for now.