使用 gzip 在 KDB 中压缩
Compression in KDB using gzip
我正在尝试使用 KDB 在磁盘上存储数据时压缩数据。我通过本教程了解了将内存中的数据直接保存为磁盘上的压缩格式:
http://www.firstderivatives.com/downloads/q_for_gods_Oct_2013.pdf
(`:targetFile;logicalBlockSize;compressionAlgorithm;compressionLevel)
设置 table
logicalBlockSize 是 2 的幂,介于 12 和 20 之间(pageSize 或分配粒度为 1MB -pageSize 对于 AMD64 为 4kB,sparc 为 8kB。Windows 似乎具有默认分配粒度 64kB)。请注意,此参数会影响压缩速度和压缩率(较大
块可以更慢和更好地压缩)
compressionAlgorithm 是以下之一,0 - none,1 - kdb+ ipc,2 - gzip
compressionLevel 介于 0 和 9 之间(仅对 gzip 有效,其他算法使用 0)
请建议哪种算法最适合。
谢谢。
没有确定的"best",这取决于各种因素(已讨论here)。我通常使用设置为 (17;1;0)
的 built-in kdb 压缩
我正在尝试使用 KDB 在磁盘上存储数据时压缩数据。我通过本教程了解了将内存中的数据直接保存为磁盘上的压缩格式:
http://www.firstderivatives.com/downloads/q_for_gods_Oct_2013.pdf
(`:targetFile;logicalBlockSize;compressionAlgorithm;compressionLevel) 设置 table
logicalBlockSize 是 2 的幂,介于 12 和 20 之间(pageSize 或分配粒度为 1MB -pageSize 对于 AMD64 为 4kB,sparc 为 8kB。Windows 似乎具有默认分配粒度 64kB)。请注意,此参数会影响压缩速度和压缩率(较大 块可以更慢和更好地压缩)
compressionAlgorithm 是以下之一,0 - none,1 - kdb+ ipc,2 - gzip
compressionLevel 介于 0 和 9 之间(仅对 gzip 有效,其他算法使用 0)
请建议哪种算法最适合。
谢谢。
没有确定的"best",这取决于各种因素(已讨论here)。我通常使用设置为 (17;1;0)
的 built-in kdb 压缩