4 ms·
What are some downsides one should keep in mind when considering moving from RDS Postgres to RDS Aurora? What's the catch? Is it a lot harder to get predictabl
by akurilin 10y ago
What are some downsides one should keep in mind when considering moving from RDS Postgres to RDS Aurora? What's the catch?
Is it a lot harder to get predictable performance out of this at scale?
Do you optimize the db the same way you would optimize a single Postgres instances, or do you need to learn a whole new set of rules for the Aurora query planner? Getting a well known single node DB to perform great at scale is already a fairly specialized skill, what does it mean to do the same for a proprietary black box multi-node cluster that only exists in the cloud?
Are there any success stories of people making the switch at scale that one can read more about?
- ozgune 10y ago(Ozgun from Citus Data. I compiled the following from Aurora talks and tutorials I've attended. Happy to edit it with more info.) I don't think you need to worry about tuning things for the planner. Aurora Postgres and Postgres use the same planner, executor, and storage engine. The two differ in how write-ahead logs and consequently replication works. http://www.slideshare.net/AmazonWebServices/amazon-aurora-amazons-new-relational-database-engine http://www.slideshare.net/AmazonWebServices/amazon-aurora-am... Slide 20 has a good technical comparison. TL;DR: RDS replicates data/logs to a standby instance and EBS. Aurora replicates logs to a highly replicated storage engine. This slide also hints why Aurora MySQL highlights performance improvements, and Aurora Postgres doesn't. RDS MySQL replicates a lot more data and logs to the standby. Postgres has a better replication engine and therefore doesn't consume nearly as much resources. (red and yellow arrows in Slide 20) On a personal note, I was curious about Aurora's architecture to understand how it compared to other solutions, such Citus. Aurora focuses on better replicating your logs/data and scaling storage. Citus scales out through sharding/distributing the underlying data and spreading the work across instances. I also love that Citus is open source. Then again, I'm biased. :)
- akurilin 10y agoNice, thank you for the links and the writeups! What would you say are the downsides then of going from RDS PG to this? Sounds like there are basically none, but I'm still skeptical. Should I not be? We've definitely heard of Citus many times as well, it will be interesting to see what competition in this space will look like soon.
- craigkerstiens 10y agoAt this point it's a lot of guess on what the downsides will be. On the pages for Aurora they mention they're working on support for extensions and various PLs, but it's unclear if they're supported in the beta at this time. It's also unclear if they had to fork off in some way, if they did it will most likely lag behind what core Postgres at each new release. Of course right now it's a lot of guesswork. It should be much more clear when it gets into GA on what the trade-offs are.
- akurilin 10y agoGot it, thanks for clarifying. Hopefully if anybody from AWS sees this they can perhaps do extra nudging on their end about making SLAs more transparent to end users.