简体   繁体   中英

Is AWS Redshift to PostgreSQL the same as AWS Aurora to MySQL?

I struggle to understand if it would be a good idea to switch from PostgreSQL to Redshift with the same light heartedness one would shift from MySQL to Aurora.

Similarly to what AWS advertises about Aurora, people reported ~5x performance and more linear scalability as the datasets grow.

I could go and migrate my primary, latency sensitive PostgreSQL to Redshift and test it myself, but I thought I'd ask because I can't believe I'm the only one having thought of this.

So, what's the gotcha?

Redshift is not PostgreSQL. It is a column store engine that uses a very heavily modified part of a very old PostgreSQL version as its front-end. Under the hood it's powered by ParAccel , a very heavily modified fork of PostgreSQL 8.0.2.

Imagine someone took MySQL 4.1 or something from that era, deleted InnoDB and MyISAM, added their own hardwired storage engine, removed a whole bunch of features and added a bunch of different ones - changing the supported SQL dialect in the process. That gives you some idea.

It's a dramatically different product for different needs. It's heavily optimised for OLAP workloads and pays a heavy price for OLTP workloads.

In general you should use PostgreSQL (on AWS RDS, or elsewhere) for your day to day transaction processing. If you want data warehousing and analytics and have outgrown PostgreSQL for that then you might consider Redshift as one of your options... though it's likely you haven't really outgrown PostgreSQL, just AWS RDS.

Maybe you're looking for something more like Postgres-XL ?

The other answer is accurate regarding Redshift not being the PostgreSQL equivalent of Aurora. Generally you'd use Redshift when you needed to run some very heavy queries on a large dataset (the stuff that might take hours or more to finish running). Redshift is a columnar datastore that essentially auto-normalizes every piece of data that comes in and can execute queries that would otherwise take days in seconds. When you're done, you delete it and then repeat the process when you need it again.

In terms of getting an Aurora equivalent for PostgreSQL, I don't know how far off that is but I'm pretty sure an enterprising person could build their own with AWS EFS ( https://aws.amazon.com/efs/ ). I'm fairly certain that's a big part of the Aurora formula.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM