Announcing SQLDelight 1.0

Alec Strong

SQLDelight started as a project 4 years ago on the ContentValues and SQLiteOpenHelper APIs from Android with the goal of making writing SQL easy and safe. The library was an...

Operating Vitess

Michael Pawliszyn

It has been quite the challenge bringing Vitess online over our existing MySQL database, then sharding and operating it at greater scale over time. Individuals love using the Cash App,...

KotlinPoet 1.0 is here!

Egor Andreevich

KotlinPoet is a collection of Kotlin API that makes generating .kt files easy. It’s inspired by JavaPoet, a Java code generation library, which powers a number of widely used frameworks, such...

Shard Splits with Consistent Snapshots

Andrés Taylor

At Square, we have a lot of data being inserted into our databases. To make it possible for MySQL to handle the load, we shard the data using Vitess. Because...

Cross-Shard Queries & Lookup Tables

Aaron Young

Sharding Cash’s database with Vitess was a massive undertaking that set us up for the future, but it was just the start of the journey. The sheer rate of growth...

Abstracting Sharding with Vitess and Distributed Deadlocks

Mike Gershunovsky

One of the main reasons Vitess was such a success for Cash App is that it abstracts database sharding away from the application code. This allowed us to shard our...

Remodeling Cash App Payments

Jesse Wilson

Before we could partition our database we needed to prepare our data model. Here’s how we turned a simple normalized data model into one that could be partitioned for scale....

Sharding Cash

Jon Tirsén

As we approach the end of 2018, we’re celebrating the anniversary of the first shard split for Cash App with a series of blog posts explaining how we used Vitess...

Announcing Okio 2

Jesse Wilson

At Square, we’re excited about Kotlin. It’s a capable language to build Java libraries and applications with. We love to write code that is both compact and efficient.