AWS Redshift 到 PostgreSQL 与 AWS Aurora 到 MySQL 一样吗?

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

我很难理解从 PostgreSQL 切换到 Redshift 是否是一个好主意,就像从 MySQL 切换到 Aurora 一样轻松。

与 AWS 宣传的 Aurora 类似,people reported ~5 倍的性能和随着数据集增长的线性可扩展性。

我可以将我的主要的、对延迟敏感的 PostgreSQL 迁移到 Redshift 并自己测试它,但我想我会问,因为我不敢相信我是唯一一个想到这个的人。

那么,问题是什么?

Redshift 不是 PostgreSQL。它是一个列式存储引擎,它使用 大量 非常旧的 PostgreSQL 版本的修改部分作为其 front-end。在引擎盖下,它由 ParAccel 提供支持,这是一个经过大量修改的 PostgreSQL 8.0.2.

分支

想象一下有人使用了 MySQL 4.1 或那个时代的东西,删除了 InnoDB 和 MyISAM,添加了他们自己的硬连线存储引擎,删除了一大堆功能并添加了一堆不同的功能 - 改变支持的 SQL方言在过程中。这给了你一些想法。

这是一款针对不同需求的截然不同的产品。它针对 OLAP 工作负载进行了大量优化,并为 OLTP 工作负载付出了沉重的代价。

一般来说,您应该使用 PostgreSQL(在 AWS RDS 或其他地方)进行日常事务处理。如果您想要数据仓库和分析并且已经超出了 PostgreSQL 的范围,那么您 可能 将 Redshift 视为您的选择之一......尽管您可能还没有真正超出范围PostgreSQL,仅 AWS RDS。

也许您正在寻找更像 Postgres-XL 的东西?

关于 Redshift 不是 Aurora 的 PostgreSQL 等价物,另一个答案是准确的。通常,当您需要 运行 对大型数据集进行一些非常繁重的查询时,您会使用 Redshift(这些查询可能需要数小时或更长时间才能完成 运行ning)。 Redshift 是一个列式数据存储,它基本上自动规范化每条进入的数据,并且可以执行查询,否则需要几天才能几秒钟。完成后,将其删除,然后在需要时重复该过程。

就获得 PostgreSQL 的 Aurora 等价物而言,我不知道这还有多远,但我很确定有进取心的人可以使用 AWS EFS 构建自己的 (https://aws.amazon.com/efs/)。我相当确定这是 Aurora 公式的重要组成部分。