面向列的DBMS中的无符号整数数据类型

时间:2010-07-27 00:28:18

标签: database types column-oriented unsigned-integer

我检查了不同的面向列的数据库系统,如InfiniDB,InfobrightDB和MonetDB。它们都不支持无符号整数作为数据存储类型。为什么?一种解决方案是将所有4字节无符号整数存储到8字节有符号整数(Link)中,但我认为这会浪费太多空间。是否有任何支持无符号整数的面向开源列的数据库系统?我已经检查了这个(Link)没有运气。 非常感谢你的时间。

伊玛

2 个答案:

答案 0 :(得分:2)

我在Infobright.org的“如何从SQL Server迁移”(page4)找到了一个答案:

  

UNSIGNED INTEGERS - 无符号整数   历来被选中   DBA和数据库设计者提供   能够获得更大的最大值   给定的整数字段可能   带有符号整数。哪里消极   值不存在于数据中,或   是不允许的,接近的   选择允许的无符号整数   适应更大价值的同时   选择较小的数据类型   传统的行向技术。   在Infobright的案例中,当不需要时   字节存在于特定整数   价值,它们被“挤压”了   固有的压缩算法。对于   这个原因,Infobright建议   选择下一个更大的整数数据   type - 例如,BIGINT over   SMALLINT上的INTEGER或MEDIUMINT -   这样最大列值就可以了   仍然被选中   数据类型。 Infobright不会受苦   浪费的空间后果   “过度打字”一栏。

答案 1 :(得分:0)

MySQL支持无符号整数作为列类型