# Neo4j vs PlanetScale

Canonical: https://inetgeek.com/compare/neo4j-vs-planetscale/

Every value below is read from Neo4j's and PlanetScale's own documentation. See https://inetgeek.com/methodology/ for how.

## At a glance

| Criterion | Neo4j | PlanetScale |
| --- | --- | --- |
| Free tier | Yes | No |
| Entry paid plan | $65/GB/month (minimum 1GB cluster) on AuraDB Professional, or $0.09/hour ($65.70/month for 1GB) metered hourly. 14-day free trial available. | $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month |
| Pricing model | Usage-based, metered per GB-hour of memory on the Professional tier. A paused database cuts cost by roughly 80%. | Priced by node size and storage rather than usage, with high-availability clusters sold as a primary plus two replicas |
| Regions | AWS, Azure and Google Cloud, across more than 60 global cloud regions; also available through the AWS, Azure and Google Cloud marketplaces. | 19 regions — 12 on AWS (Tokyo, Mumbai, Singapore, Sydney, Montreal, Frankfurt, Dublin, London, São Paulo, N. Virginia, Ohio, Oregon) and 7 on GCP. A branch's region is fixed at creation and changing it means migrating. |
| Engine | Neo4j, a native property graph database. | PostgreSQL, and MySQL-compatible Vitess clusters with horizontal sharding |
| Point-in-time recovery | Not included on the entry-paid (Professional) tier — point-in-time restore is a Business Critical feature, with hourly granularity and 30-day retention. | Point-in-time recovery through write-ahead log archiving. WAL is kept for as long as the oldest backup, so the default schedule gives a 2-day window and a longer retention extends it. |
| Read replicas | Supported | Supported |
| Backup retention | Daily backups, 7-day retention on the entry-paid (Professional) tier. Business Critical adds 30-day retention with hourly point-in-time restore; Virtual Dedicated Cloud gets hourly backups with 60-day retention. | Automatic backups every 12 hours on production and development branches, retained 2 days by default. Custom schedules and manual backups can set a longer period, and are charged for it. |

## Where they differ

### Free tier

- Neo4j: Yes ([source](https://neo4j.com/pricing/))
- PlanetScale: No ([source](https://planetscale.com/pricing.md))

### Entry paid plan

- Neo4j: $65/GB/month (minimum 1GB cluster) on AuraDB Professional, or $0.09/hour ($65.70/month for 1GB) metered hourly. 14-day free trial available. ([source](https://neo4j.com/pricing/))
- PlanetScale: $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month ([source](https://planetscale.com/pricing))

### Pricing model

- Neo4j: Usage-based, metered per GB-hour of memory on the Professional tier. A paused database cuts cost by roughly 80%. ([source](https://neo4j.com/pricing/))
- PlanetScale: Priced by node size and storage rather than usage, with high-availability clusters sold as a primary plus two replicas ([source](https://planetscale.com/pricing))

### Regions

- Neo4j: AWS, Azure and Google Cloud, across more than 60 global cloud regions; also available through the AWS, Azure and Google Cloud marketplaces. ([source](https://neo4j.com/pricing/))
- PlanetScale: 19 regions — 12 on AWS (Tokyo, Mumbai, Singapore, Sydney, Montreal, Frankfurt, Dublin, London, São Paulo, N. Virginia, Ohio, Oregon) and 7 on GCP. A branch's region is fixed at creation and changing it means migrating. ([source](https://planetscale.com/docs/plans/regions))

### Engine

- Neo4j: Neo4j, a native property graph database. ([source](https://neo4j.com/docs/aura/auradb/platform/backup-restore/))
- PlanetScale: PostgreSQL, and MySQL-compatible Vitess clusters with horizontal sharding ([source](https://planetscale.com/pricing))

### Point-in-time recovery

- Neo4j: Not included on the entry-paid (Professional) tier — point-in-time restore is a Business Critical feature, with hourly granularity and 30-day retention. ([source](https://neo4j.com/pricing/))
- PlanetScale: Point-in-time recovery through write-ahead log archiving. WAL is kept for as long as the oldest backup, so the default schedule gives a 2-day window and a longer retention extends it. ([source](https://planetscale.com/docs/postgres/backups))

### Backup retention

- Neo4j: Daily backups, 7-day retention on the entry-paid (Professional) tier. Business Critical adds 30-day retention with hourly point-in-time restore; Virtual Dedicated Cloud gets hourly backups with 60-day retention. ([source](https://neo4j.com/pricing/))
- PlanetScale: Automatic backups every 12 hours on production and development branches, retained 2 days by default. Custom schedules and manual backups can set a longer period, and are charged for it. ([source](https://planetscale.com/docs/postgres/backups))

## Which should you choose?

Pick Neo4j if Teams whose data is naturally relationships-first — recommendation engines, fraud detection, knowledge graphs — where the query itself is a graph traversal Cypher expresses directly and a relational join chain would not.

Pick PlanetScale if Production workloads that want replicas across availability zones as the default shape rather than an upgrade, and teams who need MySQL-compatible sharding that the Postgres-only services do not offer.

Consider something else: Neo4j — The data model is tabular and the graph shape is incidental — most CRUD apps fit a relational or document database better, and Neo4j's per-GB memory pricing is a worse fit for large flat datasets than a row-store.

Consider something else: PlanetScale — You are prototyping. Pricing starts at a node rather than at zero, and there is no free tier documented on the pricing page.

## Documented by only one

- Egress over allowance: PlanetScale: 100 GB of egress included, then $0.06/GB
- Startup credit program: Neo4j: Neo4j for Startups: up to $16K in Aura credits. Requires Series B or earlier funding, a single product sold to many customers (not custom per-customer work), a functioning website, and a company LinkedIn profile.
- Storage (entry plan): PlanetScale: First 10 GB free on network-attached storage, then per-GB pricing; storage is included for Metal databases
- Managed connection pooling: PlanetScale: Supported
- Database branching: PlanetScale: Supported
- SOC 2: PlanetScale: SOC 1 Type 2 and SOC 2 Type 2 + HIPAA reports, available on all plans on request via PlanetScale's Trust Center.
- HIPAA: PlanetScale: HIPAA-eligible via a Business Associate Agreement for qualifying customers; PlanetScale notes HHS does not recognize a formal HIPAA certification, so compliance is a shared responsibility rather than a badge.
- GDPR / data residency: PlanetScale: Complies with GDPR; data locality follows the AWS/GCP region a database is created in, and EU-region databases keep data in-region unless a read-only replica is added elsewhere.
- PCI DSS: PlanetScale: PlanetScale Managed — the single-tenant product deployed into the customer's own AWS/GCP account — holds a PCI DSS 4.0 Attestation of Compliance as a Level 1 Service Provider. Not documented for the shared multi-tenant product.
- Encryption at rest: PlanetScale: AES encryption at rest on the storage media serving database branches and backups.
- Private networking / VPC: PlanetScale: AWS PrivateLink or GCP Private Service Connect on all plans; PlanetScale Managed on AWS additionally offers fully private network isolation.
- Dedicated infrastructure: PlanetScale: Two single-tenant options: Enterprise single-tenant, deployed into an AWS/GCP account owned by PlanetScale, or PlanetScale Managed, deployed inside the customer's own AWS or GCP account.

## Questions this comparison answers

**Entry paid plan: Neo4j or PlanetScale?**

Neo4j: $65/GB/month (minimum 1GB cluster) on AuraDB Professional, or $0.09/hour ($65.70/month for 1GB) metered hourly. 14-day free trial available.
PlanetScale: $5/month for a single-node Postgres database on network-attached storage; PlanetScale Metal with local NVMe starts at $50/month

**Free tier: Neo4j or PlanetScale?**

Neo4j: Yes
PlanetScale: No

**Should I choose Neo4j or PlanetScale?**

Pick Neo4j if Teams whose data is naturally relationships-first — recommendation engines, fraud detection, knowledge graphs — where the query itself is a graph traversal Cypher expresses directly and a relational join chain would not.
Pick PlanetScale if Production workloads that want replicas across availability zones as the default shape rather than an upgrade, and teams who need MySQL-compatible sharding that the Postgres-only services do not offer.
