Greenplum数据库中quicklz和zlib的区别

Posted

技术标签:

【中文标题】Greenplum数据库中quicklz和zlib的区别【英文标题】:Difference between quicklz and zlib in Greenplum Database 【发布时间】:2014-06-04 09:57:00 【问题描述】:

您好,我正在尝试使用 quicklz 或 zlib 压缩创建一个表。根据您的说法,哪种压缩模式更好?两者有什么区别?

【问题讨论】:

PostgreSQL 不支持表压缩(除了通过 TOAST,您无法选择算法)。那你用什么?好像不是 PostgreSQL。 您好,我们使用以下代码在 PostgreSQL 中创建了一个表。 CREATE TABLE foo (a int, b text) WITH (appendonly=true, compresstype=zlib, compresslevel=5);我们已经能够将大约 1075mb 的虚拟文件压缩到大约 190mb。但是实际文件太大了,我们正在考虑应该使用什么压缩类型。 那不是 PostgreSQL。请运行:SELECT version() 并粘贴输出。我会说您正在运行 Greenplum 数据库,或者可能使用 Amazon Redshift (ParAccel)。 在Greenplum数据库中是。 当你的意思是“Greenplum”时,请不要说“PostgreSQL”。这对每个人来说都是一种令人困惑的浪费时间,尤其是当您询问仅存在于 Greenplum 中的功能或尝试使用添加到更高版本 PostgreSQL 中的东西时。使用“postgresql”标签很好,只是总是说你是否真的在使用Greenplum。 (Greenplum 的人似乎不在这里闲逛,试试他们的论坛) 【参考方案1】:

在许多情况下,在数据库中 zlib 会更好。 zlib 和 gzip 都可以很好地压缩,当然每个压缩的程度取决于您的数据。一个不同之处在于,虽然 gzip 的压缩时间与解压缩时间大致相同,但 zlib 的解压缩速度要比它压缩的快得多。这非常适合您一次编写并多次阅读的情况。仅仅为了节省空间(或者可能是为了提高有效数据 I/O 速率)而压缩的数据库表通常适合这种模式。 gzip 的属性使它看起来非常适合归档您不希望多次访问的内容。

【讨论】:

以上是关于Greenplum数据库中quicklz和zlib的区别的主要内容,如果未能解决你的问题,请参考以下文章

Greenplum数据库中的索引和集群

Greenplum数据库中的索引和集群

Greenplum 数据库中的时间点恢复

GreenPlum小结

mysql迁移mpp数据库Greenplum

如何获取 Greenplum 中用户最后登录时间和登录频率