All posts
Published in mysql

Introduction to Serverless DB PlanetScale

Profile image of Atakan Demircioğlu
By Atakan Demircioğlu
Fullstack Developer

In this article, I will share my notes about a serverless MySQL platform named as PlanetScale.

Introduction to Serverless DB PlanetScale image 1

Table Of Contents:

· What is Serverless Database?
· What are the Key Elements of a Serverless Database?
· What provides PlanetScale Serverless Database?
 ∘ Some pros of PlanetScale
 ∘ Some cons of PlanetScale

What is Serverless Database?

A serverless database is a type of database service provided in the cloud that eliminates the need for users to manage infrastructure, scaling, and provisioning.

With serverless databases, developers can focus on building their applications or digital products without the hassle of dealing with server management, storage configuration, or backups.

The primary goal of a serverless database is to handle unpredictable and rapidly changing workloads for developers. Instead of users having to set up and maintain servers themselves, a service provider takes care of running the server and allocating the necessary resources automatically.

Serverless database platforms follow a pay-as-you-go model, allowing developers to pay only for the resources they consume.

The main purpose of a serverless database is to simplify database management through automated scaling and reduced operational requirements.

By utilizing a serverless database, you can overcome challenges typically associated with traditional environments, including cost, security, time, troubleshooting, and maintenance.

What are the Key Elements of a Serverless Database?

It offers automated elastic scaling, efficiently catering to developers’ varying demands worldwide.

It dynamically scales down to zero during periods of low demand and instantly ramps up when required, ensuring a seamless user experience across regions. Additionally, it facilitates frictionless data movement globally.

Simplicity is a key characteristic of the serverless database, making it user-friendly for both developers and beginners.

When it comes to deployment speed, the serverless database management system outperforms traditional systems.

Creating a new cluster of databases can be accomplished within minutes, eliminating the need for time-consuming tasks such as installation, capacity planning, scaling, and configuration that are typically associated with traditional systems.

The serverless database operates on a consumption-based billing model, enhancing cost-effectiveness. Users only pay for the resources they actually use, rather than for storage capacity.

To avoid exceeding budgets, it’s possible to set spending limits, providing greater financial control and flexibility.

What provides PlanetScale Serverless Database?

The enterprise-ready PlanetScaleDB is a MySQL-compatible serverless database platform powered by Vitess.

Vitess is a database solution for deploying, scaling, and managing large clusters of open-source database instances. It currently supports MySQL and Percona Server for MySQL.

For more information about Vitess, please check here.

It stands out as a developer-first database, eliminating the need for developers to plan queries, determine cluster sizes, handle scaling, or worry about other database-related details in advance.

It offers compatibility with a wide range of major frameworks and languages, ensuring seamless integration with various development environments.

Some pros of PlanetScale;

  • No connection limits for the database (Vitess provides this with connection polling)
  • Deploy, branch, and query your database directly from the GUI or CLI.
  • Easy to get started (Creating your first database tooks like 30 secs)
  • SOC 2 Type II compliant, it encrypts all the data and provides secure authentication methods and user-level accessing.
  • Built-in sharding options (Another benefit of Vitess)
  • Scale to edge (Create read-only database regions to support globally distributed applications and better serve your users worldwide.)
  • Database performance metrics at your fingertips
  • Review schema changes
  • Data migration is easy

Some cons of PlanetScale;

  • Autoscaling is not enough explanatory
  • Possible latency in large-scale projects, I don’t have experience in a large-scale project

In summary with free options, I liked to use PlanetScale in my personal side project. It was really easy to create a new database and connect it.

But in the large-scale project, I really recommend researching all pros and cons.