存储许多小整数的有效解决方案

时间:2018-12-18 14:54:50

标签: database storage

我将生成一个包含约7 * 10 ^ 11整数的数据集。每个整数将在0-1000之间。未经压缩,这将需要存储约14 TB(短整数)。

是否有一种有效的数据库解决方案,带有针对此类信息的内置压缩功能?最好以二进制形式存储它?

编辑:记录必须按顺序存储。

2 个答案:

答案 0 :(得分:2)

您只存储整数还是其他?

为什么不创建一个包含两列的表:

  • 数字:0到1000
  • 计数:该数字在集合中出现的次数

您是否有未说明的要求,例如必须使其保持秩序?

答案 1 :(得分:1)

10位存储将覆盖最大为1024的整数,该整数大于预期的最大值1000。因此,您可以使用宽度仅为10的多位列。这将减少存储空间开销仅为875 GB,而不是14 TB。

在Postgres中,有一种BIT类型应该可以在这里工作。我希望大多数数据库都具有与此类似的内容。