Last summer, I did an internship with Cockroach Labs, makers of CockroachDB, a SQL database built for massive distribution. I was working on the SQL language semantics in Cockroach, and I was able to work on many different facets of the project in that area.
Overall, my theme for the summer was finding ways to improve the performance of mutation statements - that's your INSERT
s, UPDATE
s, and DELETE
s. At the tail end of the internship, I was able to contribute a major performance gain by adding a fast path to a particular kind of DELETE
, involving a kind of table called an interleaved table. This post is about this particular performance fix and everything about how it works.
All the work described in this post actually comes from this pull request.