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

时间:2018-11-02 10:46:25

标签: database amazon-web-services amazon-redshift amazon-rds

我有一个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

表现出色

  1. 在RDS上:平均5秒
  2. 在Redshift上:平均6.5秒

我是要以错误的用例还是以错误的方式将Redshift用于较小的数据库?还是正常?

1 个答案:

答案 0 :(得分:0)

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

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

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

相关问题