红移中DISSTYLE和压缩编码的关系



在Redshift中DISSTYLE和压缩编码之间有任何关系吗。当我们使用压缩编码时,计算节点上的操作系统会对数据进行额外的编码和解码;DISSTYLE设置为ALL,难道你不认为每个节点都必须进行解码和编码工作吗?

我们非常感谢您在概念上的帮助。

分发样式确定哪个节点/切片将存储数据。这与压缩类型没有关系或影响。它只是简单地说在哪里存储数据。

然而,压缩与排序键密切相关,排序键决定了存储数据的顺序。一些压缩方法使用以前值的"偏移量",甚至存储重复值的数量,这可以显著压缩数据(例如"重复此值1000次"而不是存储1000个值(。

亚马逊Redshift中的压缩有两个好处:

  • 存储空间更小(因此成本更低(
  • 每次磁盘访问都可以检索到更多数据

任何数据库的最慢操作是磁盘访问。因此,磁盘访问的任何减少都将加快操作速度。与额外的磁盘读取操作所需的时间相比,解压缩数据所花费的时间较小。

第二个最"昂贵"的操作是在节点之间发送数据。虽然网络流量比磁盘访问快,但最好避免这种情况。

当使用DISTSTYLE ALL时,它只是意味着数据在每个节点上都可用,从而避免了跨网络传输数据的需要。

最新更新