Amazon RDS vs SPQR
Amazon RDS
aws.amazon.comSPQR
docs.pg-sharding.techSide by side
| Figure | Amazon RDS | SPQR |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | Yes | — |
| Open source | — | — |
| Web | Yes | — |
| Linux | — | Yes |
| API | Yes | Yes |
| Self-hosted | Yes | Yes |
| Plans published | 6 | 1 |
| Spec score · Database Proxy Software | 8.9 (#3) | 7.8 (#9) |
| What it does | Amazon RDS is a managed relational database service that sets up, operates and scales databases in AWS while handling common administration. | SPQR is a stateless PostgreSQL query router for horizontally scaling PostgreSQL through sharding. |
Plans
Amazon RDS
- AWS Free TierFree
- AWS Free Tier for RDSFree
- On-demandPrice not published
- On-Demand InstancesPrice not published
- Reserved InstancePrice not published
- Reserved InstancesPrice not published
In their own words
Amazon RDS
Amazon RDS has no write-up on Specifiction yet; its figures are above.
SPQR
SPQR is a self-hosted query router for horizontally scaling PostgreSQL through sharding. It can extract a sharding key from a query and route it to the relevant key range and shard when possible; keys can use one column or several. Queries can also specify a key or shard in a SQL comment. Applications connect using the PostgreSQL protocol, and the router and coordinator provide administrative consoles accessible through psql. SPQR supports one-phase and two-phase commit strategies; two-phase commit provides atomicity across shards and requires max_prepared_transactions greater than zero on each shard. The system can move data between shards to balance workload, and the project describes reducing transferred ranges to limit locking impact. Its documentation includes Docker and configuration-file deployment instructions. SPQR is free and distributed under the PostgreSQL Global Development Group License. The FAQ cautions that it is not suited to complex cross-shard queries, transactions modifying multiple shards or OLAP workloads, and reports a roughly 10–30% performance drop versus vanilla PostgreSQL depending on workload.