在我的情况下,为啥 rds 的执行速度比 redshift 快?

Posted

技术标签:

【中文标题】在我的情况下,为啥 rds 的执行速度比 redshift 快?【英文标题】:Why is rds performing faster than redshift in my case?在我的情况下,为什么 rds 的执行速度比 redshift 快? 【发布时间】:2018-11-02 10:46:25 【问题描述】:

我有一个 RDS 实例:db.t2.xlarge(4 个 vCPU,16 GiB 内存)(max_parallel_workers_per_gather=2)

还有另一个 Redshift 实例:dc2.large(2 个 vCPU,15 GiB 内存)(2 个节点)

我都加载了相同的数据。我尝试了不同类型的查询,但我的 RDS 总是在更短的时间内运行查询。

例子:

我有一个名为“az_product_questions”的表 它有两列product_id (int) 和question_id (int) 我插入了 1,258,559 行。

我正在尝试的查询如下:

SELECT
  product_id,
  COUNT(*)
FROM az_product_questions
GROUP BY product_id
ORDER BY product_id ASC;
在 RDS 中:我没有添加任何索引。 在 Redshift 中:product_id 是 distkeysortkey

开始表演:

    在 RDS 上:平均。 5 秒 红移时:平均。 6.5 秒

我是否在尝试将 Redshift 用于较小的数据库、错误的用例或错误的方式?还是正常?

【问题讨论】:

【参考方案1】:

当一个表中有 百万行 时,一个普通的数据库开始变慢。 Amazon Redshift 可以处理具有数十亿行的表。

对于这个特定的用例,普通的数据库可以正常工作。但是,当您添加更多行和更多列时,像 Amazon Redshift 这样的列式数据库会显示出更好的性能。

所以,坚持使用性能良好的数据库,如果您有更高的分析需求,请考虑使用 Redshift。请注意,Redshift 非常适合报告,但不应与执行大量插入和更新的应用程序一起使用。

【讨论】:

以上是关于在我的情况下,为啥 rds 的执行速度比 redshift 快?的主要内容,如果未能解决你的问题,请参考以下文章

为啥在我的情况下快速排序总是比冒泡排序慢?

AWS RDS 大型实例上的 MySQL 全文搜索速度极慢

为啥我的collectionView中的单元格的形成速度比接收数据的方法快,因为它们的形成?

为啥我的 Spark 运行速度比纯 Python 慢?性能比较

VBA宏运行速度为啥比Excel自带函数慢

为啥 AWS RDS Aurora 在默认情况下已经跨不同区域进行复制时具有“多可用区部署”选项?