generated from amazon-archives/__template_MIT-0
-
Notifications
You must be signed in to change notification settings - Fork 38
Open
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
This project currently uses Amazon Aurora PostgreSQL Serverless v2 + Prisma ORM. I propose migrating to Amazon Aurora DSQL.
Benefits of Migration
Pain Points of Aurora Serverless v2
- Cold start: When Scale to Zero is enabled, resuming takes 15–30 seconds. This is unacceptable for user-facing applications
- Scale to Zero is hard to benefit from: Although Scale to Zero exists, configurations where cron jobs access the DB every 10 minutes keep the cluster warm at all times, completely negating cost savings
- VPC required: Requires NAT Gateway/Instance, which adds architectural complexity and cost
- Connection management: RDS Proxy is needed for handling many concurrent connections from Lambda, but it doesn't fully solve the problem
Advantages of Aurora DSQL
- Truly serverless: No infrastructure management, automatic scaling, no cold starts when idle
- No VPC required: Connects via public endpoint. Eliminates the need for NAT Gateway/Instance, greatly simplifying the architecture
- IAM authentication: No database password management needed
Migration Blockers
1. ORM Compatibility Issues
This project uses Prisma ORM, which has known issues when used with DSQL.
- Prisma:
db pushfails under certain conditions → prisma/prisma#26643- AWS has released official DSQL support for Prisma (announcement), including the
aurora-dsql-prismaCLI tool that can automatically handle DDL transaction constraints, FK constraint removal, etc. - For
db migration, generating migrations against a local PostgreSQL and applying them to DSQL via the CLI tool can work around thedb pushissues
- AWS has released official DSQL support for Prisma (announcement), including the
- Drizzle ORM: DSQL support feature request is in progress → drizzle-team/drizzle-orm#5248
- A member of the DSQL service team is actively working on a patch, but it is still in early stages
2. Unsupported PostgreSQL Features
DSQL is PostgreSQL-compatible, but some features are not supported. If the current codebase uses any of these features, application-side changes will be required.
→ Unsupported PostgreSQL features in Aurora DSQL
3. Different Transaction Model
- DSQL uses Optimistic Concurrency Control (OCC)
- Transactions may be aborted on write conflicts, so retry logic needs to be implemented
- Isolation level is fixed at
Repeatable Read
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request