Encoding 行间具有相似性的VARCHAR的良好编码
对于VARCHAR列,如果每行包含一个简短(通常为50-100个字符)的值,该值包含很少的重复,但行之间有高度的相似性,那么什么是好的Amazon红移列编码?(尤其是相同的前缀。) 令人发狂的简洁让它听起来像是LZO被单独应用于每个值。在这种情况下,各行之间将没有共享字典,并且几乎没有可利用的公共性。OTOH,如果LZO应用于写入磁盘的整个1MB值块,它的性能会很好Encoding 行间具有相似性的VARCHAR的良好编码,encoding,amazon-redshift,Encoding,Amazon Redshift,对于VARCHAR列,如果每行包含一个简短(通常为50-100个字符)的值,该值包含很少的重复,但行之间有高度的相似性,那么什么是好的Amazon红移列编码?(尤其是相同的前缀。) 令人发狂的简洁让它听起来像是LZO被单独应用于每个值。在这种情况下,各行之间将没有共享字典,并且几乎没有可利用的公共性。OTOH,如果LZO应用于写入磁盘的整个1MB值块,它的性能会很好 听起来只有当值相同而不是相似时,它才产生节省,所以这不是一个好的选择。每个块应用压缩,这意味着LZO几乎总是VARCHAR的正确选
听起来只有当值相同而不是相似时,它才产生节省,所以这不是一个好的选择。每个块应用压缩,这意味着
LZO
几乎总是VARCHAR
的正确选择。大多数其他备选方案要求值与其他值完全相同(例如,BYTEDICT
,RUNLENGTH
),或者是数字值(例如,DELTA
,MOSTLY8
)
VARCHARS
的另一个选择是,它可能适用于您的用例。他们构建前N个单词的词典(245表示TEXT255
,变量表示TEXT32K
),并用一个字节索引替换这些单词的出现。如果您的值共享很多单词,那么TEXT255
可能比LZO
每个块都应用压缩,这意味着LZO
几乎总是VARCHAR
的正确选择。大多数其他备选方案要求值与其他值完全相同(例如,BYTEDICT
,RUNLENGTH
),或者是数字值(例如,DELTA
,MOSTLY8
)
VARCHARS
的另一个选择是,它可能适用于您的用例。他们构建前N个单词的词典(245表示TEXT255
,变量表示TEXT32K
),并用一个字节索引替换这些单词的出现。如果您的值共享很多单词,那么TEXT255
可能比LZO
更好。Amazon RedshiftANALYZE COMPRESSION
命令会根据前100000行自动为每列推荐压缩设置。它对这些特定数据有何建议?Amazon RedshiftANALYZE COMPRESSION
命令会根据前100000行自动为每列推荐一个压缩设置。它对这些特定数据有什么建议?