We are thrilled to welcome Jason Brown to the ReadySet Engineering team! His passions lie within the intersection of distributed systems and databases, and he has spent the past two decades developing and supporting massive scale OLTP databases at Apple, Netflix, and Stripe.
We asked him to share more details about his past work and why he’s excited to be at ReadySet.
Can you give us a brief overview of the data-related problems you’ve worked on previously?
Like many developers, the first part of my career began with building applications, many of which happened to use a database. Nothing fancy, nothing “massive scale”, just everyday “storing data somewhere” kind of usage.
I joined Netflix in 2008, and my first task was migrating a bunch of PL/SQL out of a huge Oracle database. In the pre-streaming era of Netflix, back when we were just shipping DVDs and managing queues, every other week on Tuesday night, at 11:30 pm PT, we would actually take down netflix.com so we could deploy and recompile all the PL/SQL packages as well as push out an updated version of the web app. The process generally took about 30-40 minutes. Needless to say, this was not “high availability” by the standards we have today.
By 2009, though, Netflix was speeding head-long into the cloud, and we couldn’t take Oracle with us (nor did we want to). Thus, we needed a new database, and as it was the heyday of NoSQL, we decided to bet big on Apache Cassandra (version 0.6 at the time!). I happened to be the guinea pig user of Cassandra in prod, and this really sparked my interest in databases. There were a lot of problems to work through: stability, scalability, performance, not to mention correctness … but it was super exciting to be at the forefront of massive database scale in the cloud. Due to my code contributions and public speaking about the database, I became a committer, and eventually a PMC, of the Apache Cassandra project.
A few years later, I moved to Apple, and worked on an even higher level of scale, developing and supporting Cassandra to meet the demands of iCloud. After several more years, I felt the need to branch out and explore other database systems, and I ended up working on distributed, transactional databases, back at Netflix. Netflix was seeking a complimentary offering to their existing Cassandra, and we needed a system with better HA than what a traditional RDBMS could offer. Thus, I researched the systems at the time, and introduced CockroachDB to the supported systems. With this database, we were able to better support transactional, multi-region use cases, as well as offering a more traditional, SQL API.
I then spent some time working on and with MongoDB, while at a fintech company called Stripe. They have one of the largest MongoDB fleets, and I helped debug production issues as well as help guide through a re-architecture of the deployment, in order to greatly reduce cost. I worked closely with the internal teams to understand how the database, and various APIs we put over it, impact their day to day productivity.
What brought you to ReadySet? Coming from someone who has been thinking hard about this problem for years now, what about ReadySet’s approach makes it stand out?
ReadySet is solving a very interesting, and very common, problem: “how the heck do I scale this database?!?!”. Most sane developers don’t want to become database experts; they just want to ship their product with as little friction as possible. Thus, making that possible is an extremely compelling business and technological idea.
By introducing a caching product that meets developers where they are, writing SQL queries in their applications, eases the scalability burden. Operations teams won’t be forced to stand up a Redis or memcached cache cluster (which are great systems, by the way!), and development teams won’t be required to munge their data structures and API just to solve read scalability.
ReadySet has a unique vision and a unique product to fill a real gap in the industry. I feel that my unique experience with developing, operating, and scaling NoSQL and RDBMS databases, will help build this product into something that is truly useful for all developers who just want to ship great applications, without the database getting in the way.