Quick verdict
Choose PlanetScale if you run MySQL and want horizontal sharding through Vitess and a review-and-deploy workflow for schema changes (deploy requests, with a 30-minute revert window), or want an HA PostgreSQL cluster or local NVMe storage (Metal) from a specialist vendor, and your application fits Vitess's documented MySQL limits. Choose Amazon RDS if you need SQL Server, Oracle, Db2 or MariaDB, rely on MySQL stored procedures or triggers, want every database inside your AWS account with IAM, VPC and AWS billing, or need Reserved Instance and Savings Plan pricing. RDS has no equivalent to deploy requests: its Blue/Green Deployments are aimed at engine upgrades and parameter changes, and schema changes remain your migration tool's job.
PlanetScale sells three database products. Vitess is managed MySQL 8 on Vitess, the open source MySQL sharding system. Postgres is managed PostgreSQL 17 and 18, as HA clusters (a primary and two replicas across availability zones) or single-node databases. Neki is sharded Postgres in Platform Preview (beta). Databases run on AWS or Google Cloud, on network-attached storage or on Metal (locally attached NVMe). There is no free plan: the self-serve plan is Base (formerly Scaler Pro), and Enterprise adds single-tenant deployments and PlanetScale Managed, which runs inside the customer's own AWS or GCP account.
Amazon RDS is AWS's managed relational database service for PostgreSQL, MySQL, MariaDB, SQL Server, Oracle and Db2; Amazon Aurora is a separate family under the RDS umbrella (see Amazon RDS vs Amazon Aurora). RDS runs a database on instances you size, in Single-AZ, Multi-AZ DB instance (a standby) or, for MySQL and PostgreSQL, Multi-AZ DB cluster deployments (a writer plus two readable standbys in three Availability Zones). RDS for MySQL offers 8.4 under standard support, while 8.0 and 5.7 are now available only under paid Extended Support; MySQL 9.7 and 26.7 are in the RDS Database Preview environment only. RDS for PostgreSQL supports versions up to 18.
Side by side
| Aspect | PlanetScale | Amazon RDS |
|---|---|---|
| Engines | MySQL 8 on Vitess; PostgreSQL 17 and 18; Neki sharded Postgres (preview) | PostgreSQL, MySQL, MariaDB, SQL Server, Oracle, Db2 (plus Aurora as a separate family) |
| Free option | No free plan | AWS Free Tier credits for new accounts |
| Billing basis | Cluster size per month, plus storage, backups and egress | Instance hours (per second), storage, provisioned IOPS, backups, data transfer; Reserved Instances and Database Savings Plans |
| High availability | Primary plus two replicas across AZs on HA clusters; single-node Postgres optional | Multi-AZ DB instance (standby) or Multi-AZ DB cluster (two readable standbys) |
| Horizontal sharding | Vitess (MySQL); Neki (Postgres, preview) | Not offered in RDS; scale up or add read replicas |
| Schema changes | Vitess: branches and deploy requests with online schema changes and a 30-minute revert. Postgres: manual DDL per branch | Your own migrations; native online DDL of the engine |
| Upgrades and big changes | Postgres 17 to 18: new database and online migration | Blue/Green Deployments for MySQL, MariaDB and PostgreSQL: switchover typically under a minute |
| MySQL compatibility | Vitess: no stored routines, triggers or events; foreign keys only when unsharded | Community MySQL behaviour, including stored routines and triggers |
| Where it runs | AWS and Google Cloud regions; Enterprise can run in your own AWS or GCP account | Your AWS account and VPC, in AWS Regions |
| Main trade-off | Sharding and schema workflow, but no free plan and Vitess compatibility limits | Broad engine choice and AWS integration, but no sharding or schema-review workflow |
Key differences
Deploy requests versus Blue/Green Deployments
These are often compared, but they solve different problems. On PlanetScale Vitess, you change the schema on a development branch and open a deploy request into production, which teammates can review and administrators can be required to approve. PlanetScale checks the change and warns about potential data loss, then applies it as a non-blocking online schema change: it copies the affected tables, applies the change to the copy, keeps it in sync and cuts over. The target branch must have safe migrations enabled. After a deploy you have 30 minutes to revert the schema change; gated deployments let you choose when the cutover happens; instant deployments use MySQL's ALGORITHM=INSTANT and cannot be reverted.
# PlanetScale CLI (Vitess)
pscale branch create shop add-orders-index
# ... run ALTER TABLE on the add-orders-index branch ...
pscale deploy-request create shop add-orders-index
pscale deploy-request deploy shop 1On PlanetScale Postgres there are no deploy requests: branches are isolated databases that start empty or from a backup, and the documentation says you apply DDL to each branch yourself, with no automated way to merge schema changes.
RDS Blue/Green Deployments copy the whole production topology (including read replicas and Multi-AZ configuration) into a green environment kept in sync by replication. You use it to upgrade the engine version, change parameters or instance class, or change storage configuration, test, then switch over; AWS says switchover typically takes under a minute with no data loss and no application changes, because endpoints are renamed. It supports RDS for MySQL, MariaDB and PostgreSQL. Documented limits include no support for Multi-AZ DB clusters, cross-Region read replicas or CloudFormation; point-in-time recovery history does not carry over; and for PostgreSQL with physical replication the green environment is read-only, so schema changes cannot be made there, while with logical replication DDL on the blue side breaks replication.
# AWS CLI: stage a MySQL 8.4 upgrade
aws rds create-blue-green-deployment \
--blue-green-deployment-name shop-to-84 \
--source arn:aws:rds:us-east-1:123456789012:db:shop \
--target-engine-version 8.4 \
--target-db-parameter-group-name shop-mysql84In our view, PlanetScale's workflow is the stronger fit for teams that change MySQL schemas often; RDS Blue/Green is the stronger fit for safe engine and configuration upgrades, which on PlanetScale are handled by the vendor (Vitess) or by a migration to a new database (Postgres major versions).
Engines and compatibility
RDS runs the vendors' engines, so behaviour matches community MySQL, PostgreSQL or MariaDB, or the commercial SQL Server, Oracle and Db2 editions it supports, within the restrictions RDS documents for each engine. PlanetScale's Postgres product is described as fully PostgreSQL compatible. Its Vitess product is not plain MySQL: its compatibility page states that it does not support stored routines (procedures, functions, triggers or events), LOAD DATA INFILE or storage engines other than InnoDB, that every table needs a unique, non-null key, and that foreign keys work only in unsharded databases. An application moving from RDS for MySQL to PlanetScale Vitess needs to be checked against that list first.
Scaling and high availability
RDS scales a database vertically (larger instance classes) and adds read replicas; a Multi-AZ DB cluster gives a writer and two readable standbys using semisynchronous replication, where a commit needs acknowledgement from at least one reader. There is no write sharding inside RDS; sharding would have to be done in the application or with another product. PlanetScale's HA clusters always include a primary and two replicas across availability zones, and Vitess shards MySQL horizontally, with Neki extending this to Postgres in preview. If one primary is enough for your write load, which in our view is the common case, the HA models are broadly comparable and the decision rests on engine, workflow and pricing.
Account boundary, integration and support
RDS lives in your AWS account: IAM database authentication, VPC networking, KMS encryption, CloudWatch Database Insights (which replaced Performance Insights, retired on 31 July 2026), AWS Backup, RDS Proxy and consolidated AWS billing. PlanetScale is a separate vendor, with its own console, CLI, query insights and support plans; on Enterprise, PlanetScale Managed runs the database inside your own AWS or GCP account. PlanetScale also runs on Google Cloud, which RDS does not. For teams already standardised on AWS, in our view RDS's integration is a real advantage; for multi-cloud or GCP teams, PlanetScale avoids tying the database to one provider's managed service.
Pricing and licensing
PlanetScale. Listed on the PlanetScale pricing page in October 2026, in USD per month for AWS us-east-1 (prices vary by cloud and region). There is no free plan. Postgres: single-node from 5 USD (PS-5, 512 MiB RAM), HA three-node from 15 USD (PS-5), Metal HA from 50 USD (M-10). Vitess: HA from 39 USD (PS-10), Metal from 609 USD (M-160). Neki: from 30 USD (PS-10 Arm, per three-node shard minimum) during Platform Preview. Cluster prices cover compute (Metal includes local NVMe storage); extra storage, backups beyond the baseline, egress above the included amount, dedicated PgBouncer and additional replicas are billed separately. The Base plan includes one production branch and about 1,440 development branch hours per month; Postgres development branches start at 5 USD per month and are billed only while they exist. Enterprise is priced by contact.
Amazon RDS. AWS prices RDS by engine, instance class, deployment option and Region: instance hours billed per second On-Demand, or discounted through 1- or 3-year Reserved Instances or Database Savings Plans; storage per GB-month (General Purpose or Provisioned IOPS SSD), with provisioned IOPS charged whether used or not; backup storage; and data transfer (replication traffic between Availability Zones for Multi-AZ is free). Major versions past standard support, such as MySQL 8.0 since 1 August 2026, incur Extended Support charges per vCPU-hour. SQL Server, Oracle and Db2 prices depend on the licence model. New AWS accounts receive Free Tier credits. The RDS pricing pages load prices interactively, so we have not quoted an instance price; use the AWS Pricing Calculator.
The models differ in kind: PlanetScale publishes a monthly price per cluster size; RDS prices are the sum of several metered components, and the cheapest PlanetScale entry point (a single-node Postgres database) has no HA, so compare like with like.
Pricing checked on the vendors' official pages on 7 October 2026. Prices change; confirm before buying.
Where each one leads
PlanetScale strengths
- Horizontal sharding for MySQL with Vitess, and sharded Postgres (Neki) in preview
- Deploy requests: reviewed, non-blocking schema changes with a 30-minute revert window
- HA clusters with a primary and two replicas across availability zones as standard
- Runs on AWS and Google Cloud, with Metal (local NVMe) and bring-your-own-cloud options
- Simple published monthly price per cluster size
Amazon RDS strengths
- Six engines, including SQL Server, Oracle, Db2 and MariaDB
- Community MySQL and PostgreSQL behaviour, including stored routines and triggers
- Blue/Green Deployments for engine upgrades and parameter changes with short switchover
- Inside your AWS account: IAM, VPC, KMS, CloudWatch and AWS Backup integration
- Reserved Instances, Database Savings Plans and Free Tier credits
Limitations
PlanetScale limitations
- No free plan; every database needs a paid subscription
- Vitess does not support stored routines, triggers, events or LOAD DATA INFILE
- Foreign keys on Vitess work only in unsharded databases
- Postgres branches have no deploy requests or schema merging, and major upgrades need a new database
- Neki is in Platform Preview (beta)
Amazon RDS limitations
- No write sharding or schema review workflow built in
- Blue/Green does not support Multi-AZ DB clusters, cross-Region replicas or CloudFormation, and resets PITR history
- Pricing has many metered components and needs a calculator to estimate
- Older major versions (MySQL 8.0 and 5.7) now incur Extended Support charges
- Tied to AWS; no Google Cloud or Azure deployment
When to choose each
Choose PlanetScale if
- Your MySQL workload needs horizontal sharding now or soon
- Your team ships frequent schema changes and wants reviewed, revertible deploys
- You want to run on Google Cloud, or across AWS and GCP, with one database vendor
- Your MySQL application does not use stored procedures, triggers or events
Choose Amazon RDS if
- You need SQL Server, Oracle, Db2 or MariaDB, or several engines from one provider
- Your MySQL application relies on stored routines or triggers
- Your stack is on AWS and you want IAM, VPC and AWS billing for the database
- You want discounted committed pricing through Reserved Instances or Savings Plans
- You need managed, low-downtime engine upgrades with Blue/Green Deployments
When neither is right
- You want serverless PostgreSQL that scales to zero, with branches that include data: see Neon vs AWS RDS and Neon vs PlanetScale.
- You want a Postgres backend with auth, storage and APIs: see Supabase vs AWS RDS and Supabase alternatives.
- You are on AWS and want more read replicas and faster failover than RDS: see Amazon RDS vs Amazon Aurora.
- You need multi-region writes built into the database: see CockroachDB vs MySQL.
Final recommendation
Amazon RDS is the default for teams on AWS: broad engine choice, standard engine behaviour, integration with the rest of the account and well-documented upgrade tooling in Blue/Green Deployments. PlanetScale is worth its premium in a narrower set of cases: MySQL that needs sharding, teams that want schema changes reviewed and deployed without blocking, and organisations that want the same database vendor on AWS and Google Cloud. Check the Vitess compatibility list before moving a MySQL application, and budget for a paid plan from day one.
Frequently asked questions
Does PlanetScale run on AWS?
Yes. PlanetScale databases run in AWS and Google Cloud regions, but in PlanetScale's accounts by default. On the Enterprise plan, PlanetScale Managed runs the database inside your own AWS or GCP account.
Is a PlanetScale deploy request the same as an RDS blue/green deployment?
No. A deploy request (PlanetScale Vitess) applies a reviewed schema change online, with a 30-minute revert window. An RDS blue/green deployment copies the production environment to a synchronised green environment for engine upgrades, parameter or instance changes, then switches over, typically in under a minute.
Can I use stored procedures on PlanetScale?
Not on PlanetScale Vitess: its MySQL compatibility page states that it does not support any form of stored routines, including triggers and events. PlanetScale Postgres and RDS support the engines' stored routines.
Does PlanetScale have a free tier?
No. PlanetScale's plans documentation states that it does not offer a free plan and that all databases require a paid subscription, starting with the Base plan. AWS offers Free Tier credits that can be used on RDS by new accounts.
Which MySQL versions do they offer?
PlanetScale Vitess creates new databases on MySQL 8. RDS for MySQL offers 8.4 under standard support; 8.0 and 5.7 are available only under paid Extended Support, and MySQL 9.7 and 26.7 are in the RDS Database Preview environment, which is not for production.
Sources
- PlanetScale pricing
- PlanetScale docs: Plans
- PlanetScale docs: Deploy requests (Vitess)
- PlanetScale docs: Postgres branching
- PlanetScale docs: MySQL compatibility (Vitess)
- PlanetScale CLI: deploy-request
- Amazon RDS
- Amazon RDS pricing
- Amazon RDS: Blue/Green Deployments overview
- Amazon RDS: Blue/Green Deployments limitations
- Amazon RDS: Multi-AZ DB clusters
- Amazon RDS: MySQL versions
- Amazon RDS for PostgreSQL release calendar
- AWS CLI: create-blue-green-deployment
Checked October 2026.
How we research comparisons: our editorial method.