How about things like support for PostGIS, etc? Is that moot since Aurora is mostly at the storage layer?
How about things like support for PostGIS, etc? Is that moot since Aurora is mostly at the storage layer?
Citus and Aurora Serverless are pretty different. The only thing in common is that they are both related to scaling Postgres. Citus makes it easy to horizontally scale Postgres. It let's you take a cluster of Postgres instances and make them appear as a single Postgres instance. This let's you scale Postgres to petabyte scale datasets (and beyond) because under the hood you are storing the data across multiple servers.
On the other hand, AIUI, the benefit of Aurora Serverless is the auto-scaling. It will automatically add or remove compute on an as-needed basis. This means you no longer have to worry about provisioning a Postgres instance of the right size. You can also save money depending on your usage pattern. Even though it will scale Postgres, you are still limited to a maximum DB size of 32TB. Aurora Serverless is probably a good fit if you are under this size, but once you pass 32TB, you will need something like Citus to scale further.
As for extensions, you are limited to the extensions Amazon provides. As you point out, Aurora is mostly at the storage layer. For that reason I think they could add most extensions if they wanted to. Each extension brings on some risk to them so they audit every extension before approving them. I've heard issues with extensions are one of the biggest sources of support requests.
Citus gives you horizontal write scalability, Aurora Serverless doesn’t. (There is a preview of multi-master Aurora for MySQL but I think that’s more of an HA active/active feature and not sharding — which Citus does)
Citus is available hosted in Azure (Hyperscale), hosted on AWS, and run-it-yourself (a couple flavors). Obviously Aurora serverless is only in AWS.
Microsoft acquired Citus last January.
AWS Aurora Postgresql regular flavor does support some of the popular extensions but that may not be the case with this flavor since it has some memory, image space and execution time limits that the other managed Aurora solution would not.
That said, being able to keep a pool of warm database clients at the ready for unpredictable write loads looks like it would be a winner and AWS has reliably improved to add requested features.
The Amazon Aurora database engine is designed to be wire-compatible with PostgreSQL 9.6 and 10, and supports the same set of PostgreSQL extensions that are supported with RDS for PostgreSQL 9.6 and 10, making it easy to move applications between the two engines.
So looks like PostGIS is supported.