For PlanetScaleDB, PlanetScale uses MySQL Community Edition 5.7 with the InnoDB Engine as underlying storage for each shard.
If you are licensing the PlanetScale Cluster Manager Software, you can run it on top of MySQL (Community/Enterprise/Percona), MariaDB, RDS on AWS, or CloudSQL on GCP.
If you are writing a new application, you can start using PlanetScaleDB right away, as though you are writing to a MySQL database. If you want to migrate from an existing database, we can help through our professional services offering.
PlanetScale uses MySQL as the storage engine and provides MySQL protocol compatibility, so migration can happen quickly and easily without changes to your application.
While each NewSQL vendor has their own API, which makes migration difficult, migration into the PlanetScale platform from MySQL is easy. Your application code remains simple, unaware of sharding complexities, and you can still operate at scale.
If you are migrating from a key-value store or another relational database, you will need to make application changes to support MySQL protocol.
Sharding is a type of database partitioning that splits very large databases into smaller, faster, more manageable parts called shards. Vitess gives you an unprecedented level of control over how each table is sharded, thus allowing you to co-locate relevant data in a single shard. Because of this architectural flexibility, in the majority of cases, a query can be served by a single shard allowing you to keep the benefits of an unsharded system while reaping the scaling and performance benefits of a sharded database.
There are numerous advantages to this approach:
- Sharded tables are smaller, so indexes also remain smaller leading to faster search.
- Your write load is distributed across multiple shards thus increasing your write throughput.
- Because the size of each shard is smaller, replication lag is reduced and replication across multiple servers is much easier.
PlanetScaleDB uses horizontal sharding for scaling MySQL databases. Applications connect to the Vitess databases using a stateless proxy that supports MySQL binary protocol and a full SQL parser (vtgate), which allows the application to perceive the horizontally sharded database cluster as if it were a single monolithic database. So while your application continues to run as if you were using just one database, the data can be spread across numerous database clusters (also called shards).
Key-value stores allow you to scale your data horizontally by adding more nodes to your database. But, they lack in a number of other features, such as SQL protocol compatibility, secondary indexes, joins, and transactions.
PlanetScaleDB allows you to scale your relational data like a NoSQL database; it scales horizontally like a key-value store, but without sacrificing relational features. The PlanetScaleDB supports out-of-the-box globally scalable, multi-cloud deployments.
PlanetScaleDB is the perfect solution for companies that:
- Want to store transactional data without having to worry about scaling.
- Want to move to Kubernetes on premise or on public cloud.
- No longer want the pain of managing database clusters.
Let the co-creators and maintainers of Vitess help you get the most out of Vitess.
PlanetScale is committed to Vitess as an Open Source Project. PlanetScale CTO and Co-Founder, Sugu Sougoumarane, is the chief developer and community leader for Vitess. Many PlanetScale engineers contribute to the Vitess Project regularly.
We are committed to keeping the query serving path (based on Vitess and MySQL) open-source so that our customers will never have to fear vendor lock-in.
At PlanetScale, we are building a multi-cloud, Kubernetes powered database-as-a-service for Vitess. We offer our customers the tools and support they need to migrate into Vitess and move to the cloud.
Vitess is an open source project born at Youtube and hosted by CNCF that runs very large OLTP workloads at companies such as GitHub, Slack and Square. YouTube used Vitess to run MySQL databases in Borg, the blueprint for Kubernetes, which makes it ideal for running MySQL databases at scale under Kubernetes. Companies like Hubspot and JD.com trust their production traffic to MySQL databases running under Vitess on Kubernetes. Vitess is a highly scalable cloud native database.
At PlanetScale, we are building the operational scaffolding that makes it easy to deploy and operate Vitess clusters at scale. We offer the following paid products and services:
- PlanetScaleDB: a multi-cloud database based on Vitess
- Cluster Manager Software Licenses: (we use PlanetScale Cluster Manager to run our DBaaS)
- Open Source Vitess Support
- Professional Services & Training
Take a closer look here at what we do.
PlanetScale was founded in 2018 by the creators of Vitess - an open source project born at Youtube and hosted by CNCF that runs very large OLTP workloads at companies such as GitHub, Slack and Square. PlanetScale provides enterprise support for Vitess and offers a massively scalable multi-cloud transactional database-as-a-service using Vitess and Kubernetes. PlanetScale is backed by a16z and SignalFire and is based in Mountain View, CA.