# PlanetScale: Vitess

> PlanetScale is a relational database platform for Vitess, Neki, and Postgres that gives you scale, performance, and reliability without sacrificing developer experience.

## Vitess

###  

- [PlanetScale for Vitess](https://planetscale.com/docs/vitess.md)

### Pricing

- [Pricing](https://planetscale.com/docs/vitess/pricing.md): A single Vitess database cluster includes the resources equivalent to 5 always-on instances within the base monthly plan cost.

### Platform

#### Getting Started

- [PlanetScale Vitess architecture](https://planetscale.com/docs/vitess/architecture.md): PlanetScale's Vitess product is designed for reliability, scalability, and developer productivity.
- [PlanetScale workflow for Vitess](https://planetscale.com/docs/vitess/best-practices.md)
- [PlanetScale Vitess quickstart guide](https://planetscale.com/docs/vitess/tutorials/planetscale-quick-start-guide.md)
- [Cluster sizing](https://planetscale.com/docs/plans/cluster-sizing.md)
- [Cluster configuration](https://planetscale.com/docs/vitess/cluster-configuration.md): The Clusters page in your PlanetScale dashboard allows you to configure your PlanetScale cluster.
- [Cluster configuration parameters](https://planetscale.com/docs/vitess/cluster-configuration/parameters.md): Tune VTGate, VTTablet, and MySQL settings for your PlanetScale for Vitess cluster.
- [Database replicas](https://planetscale.com/docs/vitess/replicas.md): A replica is a continuously updated copy of your Vitess database.
- [Foreign key constraints](https://planetscale.com/docs/vitess/foreign-key-constraints.md)
- [Web console](https://planetscale.com/docs/vitess/web-console.md): The PlanetScale web console is an interactive interface for running MySQL queries and DDL (Create, Alter, and Delete) against your PlanetScale database branches.
- [PlanetScale terminology](https://planetscale.com/docs/vitess/terminology.md): Here we provide definitions for technologies and concepts you will see throughout our documentation and product. Some of these are common terms in the databases space, while others are Vitess or PlanetScale specific.
- [MySQL compatibility](https://planetscale.com/docs/vitess/mysql-compatibility.md): PlanetScale Vitess is built on open-source Vitess, a database clustering system for horizontal scaling of MySQL.

#### Imports

- [Discovery Tool](https://planetscale.com/docs/vitess/imports/discovery-tool.md): Assess your MySQL, MariaDB, or Vitess database and cloud infrastructure before migrating to PlanetScale Vitess.
- [What are workflows?](https://planetscale.com/docs/vitess/scaling/workflows.md): PlanetScale workflows provide pre-defined recipes that make it simple to run operations on your databases, including moving tables between keyspaces and importing external databases.

##### Database import tool

- [Database Import Workflow](https://planetscale.com/docs/vitess/imports/database-imports.md)
- [Import public IP addresses](https://planetscale.com/docs/vitess/imports/import-tool-migration-addresses.md): When importing a database using our [Import tool](/docs/vitess/imports/database-imports), you need to grant a set of IP addresses access to your external MySQL database so that PlanetScale can make the connection.
- [Import user permissions](https://planetscale.com/docs/vitess/imports/import-tool-user-requirements.md): When importing a database using our [Import tool](/docs/vitess/imports/database-imports), you will need to connect to your existing database with a user that has the proper permissions to set up the necessary configurations to start importing data.
- [Import troubleshooting](https://planetscale.com/docs/vitess/imports/import-troubleshooting.md)

##### MySQL to PlanetScale Vitess migration

- [Amazon Aurora migration guide](https://planetscale.com/docs/vitess/imports/amazon-aurora-migration-guide.md)
- [AWS RDS migration guide](https://planetscale.com/docs/vitess/imports/aws-rds-migration-guide.md)
- [Azure Database for MySQL migration guide](https://planetscale.com/docs/vitess/imports/azure-database-for-mysql-migration-guide.md)
- [DigitalOcean database migration guide](https://planetscale.com/docs/vitess/imports/digitalocean-database-migration-guide.md)
- [GCP Cloud SQL Migration Guide](https://planetscale.com/docs/vitess/imports/gcp-cloudsql-migration-guide.md)
- [MariaDB migration guide](https://planetscale.com/docs/vitess/imports/mariadb-migration-guide.md)

##### Postgres to PlanetScale Vitess migration

- [Postgres to Vitess imports](https://planetscale.com/docs/vitess/imports/postgres.md)
- [Postgres to PlanetScale for Vitess migration guide](https://planetscale.com/docs/vitess/imports/postgres-planetscale-migration-guide.md)
- [Postgres to MySQL to PlanetScale migration guide](https://planetscale.com/docs/vitess/imports/postgres-mysql-planetscale-migration-guide.md)

#### Connecting

- [Connect any application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-any-application.md)
- [Connect a MySQL GUI to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-mysql-gui.md)
- [Connection strings](https://planetscale.com/docs/vitess/connecting/connection-strings.md)
- [Network latency](https://planetscale.com/docs/vitess/connecting/network-latency.md): When connecting to PlanetScale, it's important to understand how network latency can impact query speed.
- [Self-improving database](https://planetscale.com/docs/self-improving-database.md): Use the PlanetScale MCP server with AI coding agents to continuously optimize database performance based on production Insights data and Schema Recommendations
- [PlanetScale Terraform provider](https://planetscale.com/docs/terraform.md): A resource model for Vitess, Neki, and Postgres databases, designed for Terraform and OpenTofu.

##### MCP

- [PlanetScale Model Context Protocol (MCP)](https://planetscale.com/docs/mcp-server.md): Connect Claude, Cursor, Notion, and other MCP-compatible tools to your PlanetScale databases and Insights
- [Authenticate the MCP server with a service token](https://planetscale.com/docs/mcp/service-token.md): Use a PlanetScale service token to authenticate the hosted MCP server in CI, headless agents, and clients that send a custom HTTP header

##### Private connections

- [Connecting to PlanetScale privately on AWS](https://planetscale.com/docs/vitess/connecting/private-connections.md)
- [Connecting to PlanetScale privately on GCP](https://planetscale.com/docs/vitess/connecting/private-connections-gcp.md)

#### Schema changes

- [Non-blocking schema changes](https://planetscale.com/docs/vitess/schema-changes.md): **Non-blocking schema changes** in PlanetScale provide a schema change workflow that allows users to update database tables without locking or causing downtime for production databases.
- [Safe migrations](https://planetscale.com/docs/vitess/schema-changes/safe-migrations.md): Safe migrations is an optional but highly recommended feature for branches in PlanetScale. With safe migrations enabled on a branch, you’ll gain zero-downtime schema migrations, schema reverts, and protection against accidental schema changes. The safe migrations setting is recommended for all produ…

##### Branching

- [Branching](https://planetscale.com/docs/vitess/schema-changes/branching.md): PlanetScale allows you to branch database schemas the same way you branch your code.
- [Data Branching®](https://planetscale.com/docs/vitess/schema-changes/data-branching.md)

##### Deploy requests

- [Deploy requests](https://planetscale.com/docs/vitess/schema-changes/deploy-requests.md): Deploy requests are an integral part of the [PlanetScale workflow](/docs/vitess/best-practices).
- [Throttling deploy requests](https://planetscale.com/docs/vitess/schema-changes/throttling-deploy-requests.md)
- [Aggressive deploy request cutover](https://planetscale.com/docs/vitess/schema-changes/aggressive-cutover.md)
- [Long-running transactions](https://planetscale.com/docs/vitess/schema-changes/long-running-transactions.md)

##### Schema lint errors

- [Schema lint errors](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors.md): Schema lint errors explain why a PlanetScale Vitess schema change, deploy request, or import cannot be safely applied.
- [UNSPECIFIED schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/unspecified.md): How to troubleshoot an unclassified PlanetScale schema lint error.
- [NO_UNIQUE_KEY schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/no-unique-key.md): Fix tables that do not have a unique, not-null key for PlanetScale online schema changes.
- [FOREIGN_KEYS_DISALLOWED schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/foreign-keys-disallowed.md): Fix schemas that define foreign key constraints when foreign key support is disabled.
- [INVALID_CHARSET schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/invalid-charset.md): Fix unsupported table or column character sets in a PlanetScale Vitess schema.
- [UNSUPPORTED_FEATURE schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/unsupported-feature.md): Resolve PlanetScale schema lint errors for unsupported MySQL or Vitess features.
- [UNSUPPORTED_SHARDED_FEATURE schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/unsupported-sharded-feature.md): Fix features that are not supported in sharded PlanetScale Vitess keyspaces.
- [INVALID_VSCHEMA schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/invalid-vschema.md): Fix VSchema JSON and semantic validation errors in PlanetScale Vitess.
- [DUPLICATE_ENUM_VALUE schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/duplicate-enum-value.md): Fix MySQL enum definitions that repeat the same enum value.
- [UNSUPPORTED_PARTITIONING_FEATURE schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/unsupported-partitioning-feature.md): Fix unsupported MySQL table partitioning features in PlanetScale Vitess.
- [INVALID_TABLE_REFERENCED_IN_VIEW schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/invalid-table-referenced-in-view.md): Fix views that reference missing tables or unresolved view dependencies.
- [INVALID_COLUMN_REFERENCED_IN_VIEW schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/invalid-column-referenced-in-view.md): Fix views that reference missing, ambiguous, or unsafe columns.
- [BLOB_IN_UNIQUE_KEY schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/blob-in-unique-key.md): Fix primary keys that include BLOB or TEXT columns.
- [PARTIAL_KEY_IN_UNIQUE_KEY schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/partial-key-in-unique-key.md): Fix primary keys that use prefix indexes.
- [FOREIGN_KEYS_CIRCULAR_DEPENDENCY schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/foreign-keys-circular-dependency.md): Fix circular foreign key dependencies in PlanetScale Vitess schemas.
- [FOREIGN_KEYS_NONEXISTENT_TABLE schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/foreign-keys-nonexistent-table.md): Fix foreign keys that reference tables missing from the schema.
- [FOREIGN_KEYS_REFERENCED_VIEW schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/foreign-keys-referenced-view.md): Fix foreign keys that reference views instead of base tables.
- [FOREIGN_KEYS_UNRESOLVED schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/foreign-keys-unresolved.md): Fix foreign key dependencies that Vitess cannot resolve.
- [INVALID_ROUTING_RULES schema lint error](https://planetscale.com/docs/vitess/schema-changes/schema-lint-errors/invalid-routing-rules.md): Fix invalid Vitess routing rules in PlanetScale.

##### Schema changes

- [How to make different types of schema changes](https://planetscale.com/docs/vitess/schema-changes/how-to-make-different-types-of-schema-changes.md): Your database has to grow and change with your application and product.
- [PlanetScale GitHub Actions](https://planetscale.com/docs/vitess/integrations/github-actions.md)
- [Handling table and column renames](https://planetscale.com/docs/vitess/schema-changes/handling-table-and-column-renames.md)
- [Online DDL change unique keys](https://planetscale.com/docs/vitess/schema-changes/onlineddl-change-unique-keys.md): It is possible to modify or replace a table's `PRIMARY KEY`, or any other `UNIQUE KEY`s according to the limitation described below, followed by examples.

#### Monitoring

##### PlanetScale Insights

- [Query Insights](https://planetscale.com/docs/vitess/monitoring/query-insights.md): PlanetScale Insights gives you a detailed look into **all active queries** running against your database.
- [Inspect live Vitess connections](https://planetscale.com/docs/vitess/monitoring/connections.md): Watch the live MySQL process list on a Vitess primary tablet, and cancel a query or terminate a connection from the PlanetScale CLI.
- [Tags](https://planetscale.com/docs/vitess/monitoring/query-tags.md): Attach key-value metadata to SQL statements to filter performance data in Insights.
- [Anomalies](https://planetscale.com/docs/vitess/monitoring/anomalies.md): Anomalies are defined as periods with a substantially elevated percentage of slow-running queries.
- [Errors](https://planetscale.com/docs/vitess/monitoring/errors.md): The Errors page surfaces any errors that have been captured on your database in a 24 hour period.
- [Schema recommendations](https://planetscale.com/docs/vitess/monitoring/schema-recommendations.md): With schema recommendations inside of PlanetScale Insights, you will automatically receive recommendations to improve database performance, reduce memory and storage, and improve your schema based on production database traffic.

##### Prometheus

- [Prometheus](https://planetscale.com/docs/vitess/integrations/prometheus.md): PlanetScale exposes Prometheus-compatible metrics endpoints for scraping metrics about your database branches. This, along with our API-driven service discovery, allow you to automatically get in-depth information about all of the databases in your organization.
- [Grafana Dashboard for PlanetScale Branches](https://planetscale.com/docs/vitess/tutorials/prometheus-metrics-grafana.md): In this tutorial, you'll learn how to set up Grafana and connect it to a Prometheus instance to see metrics about your PlanetScale database.
- [Sending Prometheus Metrics to Datadog](https://planetscale.com/docs/vitess/tutorials/prometheus-metrics-datadog.md): If you're looking for more metrics than PlanetScale's native Datadog integration provides, this tutorial will show how to configure your [Datadog agent](https://docs.datadoghq.com/agent/) to scrape PlanetScale's [Prometheus infrastructure](/docs/vitess/integrations/prometheus) automatically, allowin…
- [Sending Prometheus Metrics to New Relic](https://planetscale.com/docs/vitess/tutorials/prometheus-metrics-newrelic.md): If you're looking for your PlanetScale database metrics in your New Relic account, this tutorial will show how to configure a [Prometheus](https://prometheus.io/) instance to scrape PlanetScale's [Prometheus infrastructure](/docs/vitess/integrations/prometheus) automatically, allowing you to collect…
- [Prometheus metrics](https://planetscale.com/docs/vitess/integrations/prometheus-metrics.md): PlanetScale exposes a Prometheus-compatible endpoint per-branch that allows you to scrape metrics for your database.

##### Integrations

- [Datadog integration](https://planetscale.com/docs/vitess/integrations/datadog.md): PlanetScale can push metrics to Datadog to assist your team with understanding your database usage and performance.

##### Database auditing

- [Audit log](https://planetscale.com/docs/vitess/audit-log.md): The organization audit log grants [Organization Administrators](/docs/security/access-control#organization-administrator) access to review **actions** performed by individual members of the organization.

#### Backups

- [Back up and restore](https://planetscale.com/docs/vitess/backups.md)

#### Scaling

- [Cluster sizing](https://planetscale.com/docs/vitess/scaling/cluster-sizing.md)
- [Cluster configuration](https://planetscale.com/docs/vitess/scaling/cluster-configuration.md): The Clusters page in your PlanetScale dashboard allows you to configure your PlanetScale cluster.
- [Database replicas](https://planetscale.com/docs/vitess/scaling/replicas.md)
- [Read-only regions](https://planetscale.com/docs/vitess/scaling/read-only-regions.md)
- [Vitess system limits](https://planetscale.com/docs/vitess/scaling/planetscale-system-limits.md)
- [VTGates](https://planetscale.com/docs/vitess/scaling/vtgates.md)
- [Deleting a database](https://planetscale.com/docs/vitess/delete-a-database.md): How to remove a database from PlanetScale.

#### Sharding

##### Overview

- [Sharding with PlanetScale](https://planetscale.com/docs/vitess/sharding.md)
- [What are workflows?](https://planetscale.com/docs/vitess/scaling/workflows.md): PlanetScale workflows provide pre-defined recipes that make it simple to run operations on your databases, including moving tables between keyspaces and importing external databases.

##### Guides

- [Workflow: Unsharded to sharded keyspace](https://planetscale.com/docs/vitess/sharding/sharding-quickstart.md): This tutorial covers how to shard **existing tables** in your PlanetScale database. This is done using the unsharded to sharded keyspace [workflow](/docs/vitess/scaling/workflows).
- [Workflow: Sharded to sharded keyspace](https://planetscale.com/docs/vitess/sharding/sharding-a-sharded-keyspace.md): This tutorial covers how to adjust the number of shards in a sharded keyspace. This may become necessary if your sharded keyspace grows significantly and requires additional shards.
- [Sharding new tables](https://planetscale.com/docs/vitess/sharding/sharding-new-tables.md): This tutorial shows you how to create new tables in a sharded keyspace. If you have an existing table that you want to shard, follow the [Sharding quickstart](/docs/vitess/sharding/sharding-quickstart) instead.
- [Avoiding cross-shard queries](https://planetscale.com/docs/vitess/sharding/avoiding-cross-shard-queries.md)
- [Targeting the correct keyspace](https://planetscale.com/docs/vitess/sharding/targeting-correct-keyspace.md): Once you have more than one keyspace, with tables distributed across both keyspaces, your application may not know how to properly route queries to the correct keyspace.
- [Sequence Tables](https://planetscale.com/docs/vitess/sharding/sequence-tables.md): In MySQL, it is common to have an integer primary key that uses the `AUTO_INCREMENT` feature for assigning IDs.
- [Pre-sharding checklist](https://planetscale.com/docs/vitess/sharding/pre-sharding-checklist.md): When you begin a new [unsharded to sharded workflow](/docs/vitess/sharding/sharding-quickstart), there are a number of steps that happen behind the scenes. This document covers some of the pre-sharding work that PlanetScale handles for you.

##### Concepts

- [VSchema](https://planetscale.com/docs/vitess/sharding/vschema.md): PlanetScale databases are powered by Vitess.
- [ALTER VSCHEMA syntax reference](https://planetscale.com/docs/vitess/sharding/alter-vschema.md): A complete reference for the ALTER VSCHEMA statements you can use to modify the VSchema of a keyspace.
- [Vindexes](https://planetscale.com/docs/vitess/sharding/vindexes.md): When configuring a horizontally [sharded](/docs/vitess/sharding) keyspace, one of the most important decisions to make is _how_ to distribute the data across shards.
- [What is a keyspace](https://planetscale.com/docs/vitess/sharding/keyspaces.md): In Vitess, a keyspace is a logical database that maps to one or many MySQL instances.
- [Sharding workflow state reference](https://planetscale.com/docs/vitess/sharding/sharding-workflow-state-reference.md): This document can be used as reference when going through the [Sharding quickstart](/docs/vitess/sharding/sharding-quickstart). It covers the various states you may enter during the workflow.

#### Vectors

- [Vector search and storage](https://planetscale.com/docs/vitess/vectors.md): Vectors are a data structure that captures opaque semantic meaning about something and allows a database to search for resources by similarity based on this opaque meaning.
- [Vector database terminology and concepts](https://planetscale.com/docs/vitess/vectors/terminology-and-concepts.md)
- [Common use cases for Vector search](https://planetscale.com/docs/vitess/vectors/use-cases.md)
- [Vectors with an ORM](https://planetscale.com/docs/vitess/vectors/using-with-an-orm.md)
- [Vector type and index reference](https://planetscale.com/docs/vitess/vectors/reference.md)

#### Security

- [Security and compliance](https://planetscale.com/docs/security.md): PlanetScale is committed to delivering a powerful and easy-to-use database platform while keeping your data secure.
- [Vulnerability disclosure](https://planetscale.com/docs/security/vulnerability-disclosure.md)

##### Database security

- [Connection strings](https://planetscale.com/docs/vitess/security/connection-strings.md)
- [Connecting to PlanetScale securely](https://planetscale.com/docs/vitess/connecting/secure-connections.md)
- [Password roles](https://planetscale.com/docs/vitess/security/password-roles.md): PlanetScale allows you to [create and manage passwords](/docs/vitess/connecting/connection-strings) for each branch of your database.

##### Account access

- [Authentication methods](https://planetscale.com/docs/security/authentication-methods.md): There are three ways to authenticate with PlanetScale: _email address and password_, _single sign-on_, and _OAuth via GitHub_.
- [Multi-factor authentication](https://planetscale.com/docs/security/multi-factor-authentication.md): Multi-factor authentication (MFA) provides better safety for your databases and prevents unauthorized access to your user account.
- [Account password security](https://planetscale.com/docs/security/account-password-security.md): In addition to best practices like [multi-factor authentication](/docs/security/multi-factor-authentication), PlanetScale securely stores your account passwords and validates passwords against known security breaches.
- [Security log](https://planetscale.com/docs/security/security-log.md): The Security log gives you insight into recent authentication and other security-related `actions` for your account. Your security log also details when you performed each `action`.

##### Organization access

- [Access control](https://planetscale.com/docs/security/access-control.md)
- [Audit log](https://planetscale.com/docs/security/audit-log.md): The organization audit log grants [Organization Administrators](/docs/security/access-control#organization-administrator) access to review **actions** performed by individual members of the organization.
- [Teams](https://planetscale.com/docs/security/teams.md): PlanetScale allows you to create teams within organizations.
- [Single sign-on](https://planetscale.com/docs/security/sso.md): Single sign-on (SSO) provides additional account security by allowing company administrators to require the use of an identity provider when logging into PlanetScale.

#### Troubleshooting

- [MySQL compatibility](https://planetscale.com/docs/vitess/troubleshooting/mysql-compatibility.md): PlanetScale Vitess is built on open-source Vitess, a database clustering system for horizontal scaling of MySQL.
- [Vitess system limits](https://planetscale.com/docs/vitess/troubleshooting/planetscale-system-limits.md)
- [PlanetScale database error reference](https://planetscale.com/docs/vitess/troubleshooting/errors.md)
- [Out of memory (OOM)](https://planetscale.com/docs/vitess/troubleshooting/out-of-memory.md): Understanding and resolving out of memory events on PlanetScale (Vitess) clusters.

### Integrations

#### Development

- [Cloudflare Workers database integration](https://planetscale.com/docs/vitess/integrations/cloudflare-workers.md): Create a new Vitess database and integrate it with Cloudflare Workers and Hyperdrive.
- [Netlify](https://planetscale.com/docs/vitess/integrations/netlify.md)
- [Deploy to Vercel](https://planetscale.com/docs/vitess/tutorials/deploy-to-vercel.md): This guide will walk you through setting up and deploying your PlanetScale database on Vercel.
- [AWS Lambda connection strings](https://planetscale.com/docs/vitess/tutorials/aws-lambda-connection-strings.md): In this guide, you'll learn how to properly store and use PlanetScale MySQL connection strings for use in AWS Lambda Functions.
- [PlanetScale GitHub Actions](https://planetscale.com/docs/vitess/tutorials/github-actions.md)

#### ETL

- [PlanetScale Connect](https://planetscale.com/docs/vitess/etl.md): PlanetScale Connect is one of the underlying mechanisms we use to transfer data between parties.
- [Airbyte integration](https://planetscale.com/docs/vitess/integrations/airbyte.md): With PlanetScale Connect, you can extract data from your PlanetScale database and safely load it into other destinations for analysis, transformation, and more.
- [Fivetran integration](https://planetscale.com/docs/vitess/integrations/fivetran.md): With PlanetScale Connect, you can extract data from your PlanetScale database and safely load it into other destinations for analysis, transformation, and more.
- [Hightouch integration](https://planetscale.com/docs/vitess/integrations/hightouch.md): Hightouch is a platform that allows you to sync data between systems using a simple and intuitive UI.
- [Stitch integration](https://planetscale.com/docs/vitess/integrations/stitch.md): With PlanetScale Connect, you can extract data from your PlanetScale database and safely load it into other destinations for analysis, transformation, and more.
- [Debezium connector for PlanetScale](https://planetscale.com/docs/vitess/integrations/debezium.md): The Debezium connector for PlanetScale is a connector for Debezium, an open-source distributed platform for change data capture.

#### Monitoring

- [Prometheus](https://planetscale.com/docs/vitess/tutorials/prometheus.md): PlanetScale exposes Prometheus-compatible metrics endpoints for scraping metrics about your database branches. This, along with our API-driven service discovery, allow you to automatically get in-depth information about all of the databases in your organization.
- [Grafana Dashboard for PlanetScale Branches](https://planetscale.com/docs/vitess/monitoring/prometheus-metrics-grafana.md): In this tutorial, you'll learn how to set up Grafana and connect it to a Prometheus instance to see metrics about your PlanetScale database.
- [Sending Prometheus Metrics to Datadog](https://planetscale.com/docs/vitess/monitoring/prometheus-metrics-datadog.md): If you're looking for more metrics than PlanetScale's native Datadog integration provides, this tutorial will show how to configure your [Datadog agent](https://docs.datadoghq.com/agent/) to scrape PlanetScale's [Prometheus infrastructure](/docs/vitess/integrations/prometheus) automatically, allowin…
- [Sending Prometheus Metrics to New Relic](https://planetscale.com/docs/vitess/monitoring/prometheus-metrics-newrelic.md): If you're looking for your PlanetScale database metrics in your New Relic account, this tutorial will show how to configure a [Prometheus](https://prometheus.io/) instance to scrape PlanetScale's [Prometheus infrastructure](/docs/vitess/integrations/prometheus) automatically, allowing you to collect…
- [Datadog integration](https://planetscale.com/docs/vitess/monitoring/datadog.md): PlanetScale can push metrics to Datadog to assist your team with understanding your database usage and performance.

#### Billing

- [Vantage integration](https://planetscale.com/docs/vitess/integrations/vantage.md): With [Vantage](https://www.vantage.sh/), you can set up [PlanetScale cost management](https://vantage.sh/integrations/planetscale) to report on PlanetScale costs alongside other infrastructure providers, such as AWS or GCP.

### Guides

#### Frameworks and ORMs

- [Connect a Django application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-django-app.md)
- [Connect a Node.js application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-nodejs-app.md): In this tutorial, you'll create a simple Node.js and Express.js application and connect it to a PlanetScale database.

##### Golang

- [Connect a Go application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-go-app.md)
- [Connect a Go application using GORM to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-go-gorm-app.md)

##### Next.js

- [Connect a Next.js application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-nextjs-app.md)
- [Next.js and PlanetScale Netlify template tutorial](https://planetscale.com/docs/vitess/tutorials/nextjs-planetscale-netlify-template.md)
- [Deploy to Vercel](https://planetscale.com/docs/vitess/tutorials/nextjs-deploy-to-vercel.md): This guide will walk you through setting up and deploying your PlanetScale database on Vercel.
- [Deploy to Netlify](https://planetscale.com/docs/vitess/tutorials/deploy-to-netlify.md): This guide will walk you through setting up and deploying your PlanetScale database on Netlify.

##### PHP

- [Connect a PHP application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-php-app.md): In this tutorial, you'll learn how to connect a PHP application to a PlanetScale MySQL database with a sample PHP starter app using [MySQLi](https://www.php.net/manual/en/book.mysqli.php).
- [Connect a Laravel application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-laravel-app.md): In this tutorial, you'll learn how to connect a Laravel 12 application to a PlanetScale MySQL database using a sample Laravel starter app.
- [Connect a Symfony application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-symfony-app.md): In this tutorial, you'll learn how to connect a Symfony application to a PlanetScale MySQL database using a sample Symfony starter app.

##### Prisma

- [Using PlanetScale with Prisma](https://planetscale.com/docs/vitess/tutorials/using-planetscale-with-prisma.md): [Prisma](https://www.prisma.io/) ORM provides type-safe database access through an intuitive API, eliminating the need to write SQL queries manually.
- [Automatic Prisma migrations](https://planetscale.com/docs/vitess/tutorials/automatic-prisma-migrations.md)
- [Using the PlanetScale serverless driver with Prisma](https://planetscale.com/docs/vitess/tutorials/planetscale-serverless-driver-prisma-example.md): This document outlines how you can use the [PlanetScale serverless driver](/docs/vitess/tutorials/planetscale-serverless-driver) along with Prisma in your application.
- [Prisma best practices](https://planetscale.com/docs/vitess/tutorials/prisma-best-practices.md): This document provides various best practices for getting the most out of Prisma, a next-generation ORM for Node.js and TypeScript, and PlanetScale. It also includes relevant links to Prisma's documentation.

##### Ruby on Rails

- [Connect a Rails application to PlanetScale](https://planetscale.com/docs/vitess/tutorials/connect-rails-app.md)
- [Automatic Rails migrations](https://planetscale.com/docs/vitess/tutorials/automatic-rails-migrations.md)

#### Deployments

- [Deploy to Netlify](https://planetscale.com/docs/vitess/tutorials/deployments/deploy-to-netlify.md): This guide will walk you through setting up and deploying your PlanetScale database on Netlify.
- [Deploy to Vercel](https://planetscale.com/docs/vitess/tutorials/deployments/deploy-to-vercel.md): This guide will walk you through setting up and deploying your PlanetScale database on Vercel.
- [Next.js and PlanetScale Netlify template tutorial](https://planetscale.com/docs/vitess/tutorials/deployments/nextjs-planetscale-netlify-template.md)
- [Deploy a Django app to Heroku](https://planetscale.com/docs/vitess/tutorials/deploy-a-django-app-to-heroku.md)

#### Monitoring

- [Grafana Dashboard for PlanetScale Branches](https://planetscale.com/docs/vitess/guides/prometheus-metrics-grafana.md): In this tutorial, you'll learn how to set up Grafana and connect it to a Prometheus instance to see metrics about your PlanetScale database.
- [Sending Prometheus Metrics to Datadog](https://planetscale.com/docs/vitess/guides/prometheus-metrics-datadog.md): If you're looking for more metrics than PlanetScale's native Datadog integration provides, this tutorial will show how to configure your [Datadog agent](https://docs.datadoghq.com/agent/) to scrape PlanetScale's [Prometheus infrastructure](/docs/vitess/integrations/prometheus) automatically, allowin…
- [Sending Prometheus Metrics to New Relic](https://planetscale.com/docs/vitess/guides/prometheus-metrics-newrelic.md): If you're looking for your PlanetScale database metrics in your New Relic account, this tutorial will show how to configure a [Prometheus](https://prometheus.io/) instance to scrape PlanetScale's [Prometheus infrastructure](/docs/vitess/integrations/prometheus) automatically, allowing you to collect…

#### Serverless JavaScript driver

- [PlanetScale serverless driver for JavaScript](https://planetscale.com/docs/vitess/tutorials/planetscale-serverless-driver.md)
- [Node.js example using the PlanetScale serverless driver](https://planetscale.com/docs/vitess/tutorials/planetscale-serverless-driver-node-example.md): This guide will cover how to use the provided Node.js sample application using the PlanetScale serverless driver for JavaScript.
- [Using the PlanetScale serverless driver with Prisma](https://planetscale.com/docs/vitess/tutorials/prisma-example.md): This document outlines how you can use the [PlanetScale serverless driver](/docs/vitess/tutorials/planetscale-serverless-driver) along with Prisma in your application.

#### MySQL

- [Operating without foreign key constraints](https://planetscale.com/docs/vitess/operating-without-foreign-key-constraints.md): A **foreign key** is a logical association of rows between two tables, in a parent-child relationship.
- [How to make different types of schema changes](https://planetscale.com/docs/vitess/how-to-make-different-types-of-schema-changes.md): Your database has to grow and change with your application and product.
- [How Online Schema Change tools work](https://planetscale.com/docs/vitess/schema-changes/how-online-schema-change-tools-work.md)
- [Online DDL change unique keys](https://planetscale.com/docs/vitess/onlineddl-change-unique-keys.md): It is possible to modify or replace a table's `PRIMARY KEY`, or any other `UNIQUE KEY`s according to the limitation described below, followed by examples.
- [Strategies for maintaining referential integrity](https://planetscale.com/docs/vitess/strategies-for-maintaining-referential-integrity.md)
- [Handling table and column renames](https://planetscale.com/docs/vitess/handling-table-and-column-renames.md)
- [Comparison of Online Schema Change tools](https://planetscale.com/docs/vitess/schema-changes/online-schema-change-tools-comparison.md): Online Schema Change tools for MySQL [share a similar basic design](/docs/vitess/schema-changes/how-online-schema-change-tools-work), but differ in implementation.
