Readit News logoReadit News
torvald · 4 years ago
Google recently also their variant of this product, called AlloyDB.

https://cloud.google.com/blog/products/databases/introducing...

nikita · 4 years ago
Also there is an open source alternative: https://github.com/neondatabase

(I’m ceo of neon)

garblegarble · 4 years ago
Somewhat OT and forgive me if I'm missing something on your github, I don't see how to set up a cluster locally - am I thinking about Neon wrong and it only runs on one node at a time with shared storage if you want to migrate which node runs a given database at a given moment?

Deleted Comment

brightball · 4 years ago
I'm really interested to try this one because I'm fairly sure it's a better option for analytic queries than Aurora.
syspec · 4 years ago
N00b question: is Amazon aurora a reimplementation of Postgres, or just something that allows you to use Postgres?
gurjeet · 4 years ago
Aurora Postgres is a fork of Postgres code, with modifications that allow it to leverage AWS' Aurora storage, and a few other things (replicas, etc.).

The goal is to remain 100% Postgres compatible. So the network protocol, SQL queries, and tools, all can be used without any change. There are (were?) some (read: very few) caveats/restrictions, though, because of the heritage of, and need to be compatible with, Amazon RDS Postgres.

Disclosure: Member of the founding-team of Aurora Postgres; left the team quite a while back, so my knowledge is quite outdated.

Edit: There's a lot of literature, and public information (articles, conference talks, etc.) published by the Aurora team over the years, which all allude to these facts, and you can use that material to build your confidence that it is in fact Postgres compatible.

metadat · 4 years ago
Interesting, thanks for sharing this tidbit.

For no particularly good reason, I was under the impression Postgres Aurora was just a Postgres compatibility interface layer on top of a common substrate shared with the MySQL Aurora implementation.

gedy · 4 years ago
Is this the same situation that came up with Elasticsearch?
js4ever · 4 years ago
It's not open source so we don't really know. But from what I read online it's a fork of postgres with a custom storage layer
melony · 4 years ago
Dynamo underneath amirite?
whirlwin · 4 years ago
Aurora is a managed Postgres offering, similar to Amazon RDS, but with clustering capabilities.

We use Aurora for all apps. It costs more, but needs little to no maintenance from our side

wahnfrieden · 4 years ago
it's way better than vanilla RDS even without any clustering. it is far more stable under load / near capacity. the storage layer is amazing. people here who are underselling it relative to vanilla RDS simply lack operational experience under load and have a checklist-level understanding
everfrustrated · 4 years ago
There's some deep dives on the aws YouTube channel that talk about their storage layer if you want some detail. AWS happily share quite a lot more under NDA as well, if that's an option for you. The short answer is the proprietary changes are very well done in a way that provides no meaningful vendor lock-in.
johnthuss · 4 years ago
I’m really glad to see this. Historically Aurora has been VERY slow to support new versions of Postgres (despite promising this would not be the case). But lately they have really stepped up their pace to the point where I would consider migrating some databases to Aurora. I’ma big fan of the feature that allows you to clone a large database quickly (in 30 minutes maybe). It’s extremely useful for troubleshooting issues where you need production data.
everfrustrated · 4 years ago
My understanding is the earlier versions of postgres required more expensive patching to support their proprietary storage layer. Some of the common hooks have since been upstreamed (whether aws gets any credit or if it was part of other work I couldn't say), but in theory aws doesn't have to do as much work to support new versions as they used to.
ianschmitz · 4 years ago
We have a database with a few TB of data. We can create an aurora clone in around 10 mins give or take, but what we’ve found is that this the clone loads data in lazily as needed. Meaning the first time you hit a given table in a query it can be very slow. Afterwards it works well though
gcbirzan · 4 years ago
Back when we were on non aurora PostgreSQL, cloning from a snapshot was similarly fast. Maybe you're talking about getting a read replica?
schranz · 4 years ago
Ignoring the need for a Synchronous Replica, you may see Aurora Postgres extremely costly and not too great in performance compared to PostgreSQL. This has been neatly documented in this Article

https://www.migops.com/blog/is-aurora-postgresql-really-fast...

why-el · 4 years ago
What about RDS Proxy? I believe it's still only supports 13 which means if you use both the Proxy and Aurora you will have to wait? RDS Proxy does still mention only support for v13[1].

[1] https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide...

topher200 · 4 years ago
RDS Proxy is very specific with which versions it supports. If it says it doesn't support it, it doesn't support it.

Postgres 14 is supposed to have built-in connection pooling. If you're on it, do you still feel the need for RDS Proxy? We're using pgbouncer and can't decide if we should switch to RDS Proxy or upgrade to Postgres 14 and drop the external connection pooler.

sudhirj · 4 years ago
> Postgres 14 is supposed to have built-in connection pooling.

Any references on this? I see a note somewhere about better connection handling, but nothing that would remove the need for connection pooling.

mattashii · 4 years ago
> Postgres 14 is supposed to have built-in connection pooling.

This is false. No PostgreSQL version has had a built-in connection pooler. There was a patch some years ago[0], but it didn't make it into PostgreSQL.

[0] https://www.postgresql.org/message-id/flat/ac873432-31cf-d5e...

godelmachine · 4 years ago
I work in an enterprise software ecosystem and on current version (something we call the converged platform), we are getting our SaaS customers upgraded to Aurora from previous SQL DB. It’s just what our DevOps calls a “life and shift upgrade” (whatever the heck that means coz the issues that entails it gives us a hard time)
Spivak · 4 years ago
Lift and Shift — move an application from one environment to another with minimal architecture changes. The difficulty comes when you have built-in assumptions that can’t be replicated to the new environment. Some good examples would be clusters that rely on floating ips, ARP, interface bonding, SCSI, or multicast.

Over the years cloud providers have added these features but they weren’t always available and definitely not something you would reach for in a cloud native setup.

FBISurveillance · 4 years ago
Lift and shift probably - means to move as is.

Deleted Comment