CompareAWS RDS and Aurora
RDS bills every hour.Busy or not.
The instance, the disk and the public IP all bill around the clock. Aurora can pause, right up until you put RDS Proxy in front of it. BataDB bills only the hours your database works, at half Aurora's price per GB of memory.
Side by side
What's in the box.
Every plan gets branching and point-in-time restore, Free included. Your agents get the same CLI and MCP server you do.
| Feature | BataDB | AWS RDS | Aurora Serverless |
|---|---|---|---|
| Scale to zero | Yes: After 5 idle minutes | No: A stop lasts 7 days | Yes: Auto-pause |
| Branches with your data | Yes: Copy-on-write, one command | Partly: Snapshot to a new instance | Yes: Clones, copy-on-write |
| No branch fees | Yes: None | No: Full instance price | Yes: No separate fee |
| Point-in-time restore | Yes: Up to 30 days, included | Yes: Included | Yes: Included |
| Connection pooling | Yes: Built in | Partly: RDS Proxy, billed extra | Partly: RDS Proxy, which stops auto-pause |
| CLI with JSON output | Yes: --json on every API command | Yes: --output json | Yes: --output json |
| MCP server | Yes: 128 tools | Yes: awslabs server | Yes: awslabs server |
| One-command import | Yes: bata import | Partly: Dump and restore | Partly: Dump and restore |
The bill
Watch the idle hours add up.
We priced the same workload on BataDB and on AWS, then let the month run.
One small database, busy two hours a day and idle the rest.
- BataDBPay as you go$0.58 a month
- AWS RDSdb.t4g.micro$17.63 a month
- Aurora Serverless0.5 ACU$7.50 a month
Saved against Aurora Serverless, every month
$6.9292% less
The bigger workloads run on our Team plan: $69 a month with 5,000 compute-hours included.
Talk to usMove
Moving over takes one command.
bata import copies your database from AWS into a new BataDB project, then checks row counts and sequences on both sides.
npm install -g @batadata/clibata loginbata import --source "$RDS_DATABASE_URL" --name my-app- Use the instance or cluster endpoint, not an RDS Proxy.
- Turn on public access and allow your IP in the security group for the run.
- A paused Aurora cluster wakes on the first connection.