With necessity as a mother of invention, planet Scale Co-founder Jitan Vaidya needed a way to scale the MySQL databases that ran many of YouTube’s operating systems. They developed a piece of middleware to sit between the database client and logically shield the database in the underlying storage engine. This open source project became Vitess, and that was the technology on which PlanetScale, a $ 25 million venture backing company, was founded.
Founded in 2018, the company began offering commercial support to Vitess, and over the past six months has introduced its cloud transaction database-as-a-service, PlanetScale DB.
The core technology, Vitess, is designed to enable SQL databases to scale out in a manner similar to NoSQL platforms such as MongoDB, and rely heavily on foreclosure. It acts as classic blackbox middleware, and it logically cuts the database on the assumption that most queries will be about data associated with specific records. So it groups all data with common record IDs on the same cut. It also provides connection pooling to overcome the high memory cost common with MySQL deployments, enabling the platform to handle high concurrency. And to further protect the database from being overloaded, it has query boundaries that infect so-called “requests from hell.”
Vitess was originally designed to support MySQL and related platforms such as MariaDBthat provides middleware level that allows you to implement the regular version of the database where the middleware handles all scales. According to Vaidya, the technology could also theoretically support PostgreSQL also, but as a start-up, they focus on their existing sweet spot.
If all this sounds like a familiar story, this is it. Vitess is in many ways similar to a late-day reinvention of the classic transaction processing (TP) screens of the 1990s. At that time, distributed transaction databases were not feasible, so the only alternative was to run transactions on a single node that would scale up. And, given that most database platforms were licensed based on processing power at that time, TP screens helped reduce server requirements by downloading transaction processing and handling all interconnection. It was a very contentious issue for database providers at the time – many would invalidate the license if they caught their customers in action. But as the Internet began to provide scales of transactions that overwhelmed even the most properly licensed servers, TP screens were reinvented as app servers, with many of the same database companies now biting the bullet.
Fast forward to the present, and there is a growing demand for global applications managed as single logical cases. One answer has been the multi-master database that exists in the NoSQL world DynamoDB and Cassandra, and in the relational world with Google Cloud Spanner and CockroachDB. Microsoft has adapted the technology that came with it The Citus Data acquisition for Hyperscale editions of Azure SQL and Azure PostgreSQL Databases. Oracle has also offered it RAC grouped database edition to run its eponymous database in swaths. The closest competitor in similarity is probably Yugabyte.
In contrast, PlanetScale’s technology allows you to take a vanilla version of MySQL or MariaDB and scale it out in its mid-range black box. Having started business that supports Vitess middleware, it now packs it with its own implementation of MySQL as a managed cloud service, now supported on all three major public clouds. The company positions it as one multi-cloud and multi-region database, where you may be driving most of your swaths on one cloud and reserving the other for disaster relief.
On the horizon, PlanetScale intends to take these customers to create their own Kubernetes clusters that want to mount their own private clouds.