【问题标题】:Columnar database queries in Amazon RedshiftAmazon Redshift 中的列式数据库查询
【发布时间】:2017-12-23 21:44:36
【问题描述】:

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

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

【问题讨论】:

    标签: amazon-web-services amazon-redshift


    【解决方案1】:

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

    其他好处是 Redshift 中的数据经过压缩(这与列式概念配合得很好,因为每列都根据存储的数据使用自己的压缩方法)并且它是一个 strong>集群数据库,因此可以通过添加额外的节点来扩展计算和存储。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 2020-10-03
      • 2018-03-15
      • 2013-10-24
      相关资源
      最近更新 更多