Also available in: 日本語
About a year and a half has passed since Aurora DSQL was unveiled at re:Invent 2024. It's become a pretty convenient database service: you get a RDBMS that speaks SQL with the ease of use of DynamoDB, without the design difficulty that usually comes with purpose-built databases like DynamoDB. Yet, even after all this time, real-world case studies are still scarce.
That's not surprising. While DSQL speaks SQL, its runtime behaves more like a DynamoDB-style database than vanilla PostgreSQL, and that's the trade-off you pay for that ease of use. Put differently, compatibility with PostgreSQL stops at the protocol level; the behavior isn't compatible. That seems to be the sticking point that makes migrating an existing PostgreSQL application difficult to do as-is. On that front, other PostgreSQL-compatible serverless databases like Neon arguably have the edge, even though their pricing model differs.
In this post, I'll walk through where we've hit friction and how we've worked around it, based on our experience actually adopting Aurora DSQL as the database for a Rails application we've been building from scratch since late last year.