Amazon Redshift中的列式数据库查询

时间:2017-07-18 20:42:18

标签: amazon-web-services amazon-redshift

我正在学习Amazon Redshift。听说它是云上非常强大的存储,并且在需要聚合操作的数据上运行速度非常快,因为它按列存储数据。

无法找到任何示例查询?有人可以与我分享在Amazon Redshift上运行的聚合查询的一些示例吗?它与普通关系数据库查询不同吗?

1 个答案:

答案 0 :(得分:4)

您是对的 - Amazon Redshift是柱状数据库。这意味着数据存储在磁盘每列上,从而使列上的操作非常快。例如,在Country列中添加特定值的Sales列只需要访问两列而不是表中的所有列。

其他好处是Redshift中的数据是压缩(这与柱状概念很好地配合,因为每列使用自己基于存储数据的压缩方法)以及它是< strong>集群数据库,因此可以通过添加其他节点来扩展计算和存储。

Amazon Redshift将自己表现为 PostgreSQL数据库,因此您只使用行业标准SQL 来查询数据。无需更改查询。

但是,您可以通过明智地为确定如何在节点之间分配数据的每个表选择分发键来优化Redshift,并仔细选择排序键,这决定了数据如何存储在每个节点上。简而言之,数据应该按照JOIN表的方式进行分配,并且应该根据您在WHERE语句中使用的内容进行排序。

至于示例查询 ...这完全取决于您的数据!查询看起来与普通SQL 完全相同。