2010-07-27 33 views
0

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

伊玛

回答

2

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

无符号整数 - 在历史上一直由 数据库管理员选择无符号整数和数据库设计人员提供 容量较大的最大值为 给定的整数字段比可能的 带有符号整数。凡在该数据中不存在负 值,或 不准的 选择无符号整数的方法使较大的值的 住宿而 在 传统的面向行的技术选择较小的数据类型。 在Infobright的情况下,当不需要 字节存在特定整数 值时,它们被固有压缩算法“挤压”出来。对于 这个原因,Infobright的建议 选择下一个较大的整数的数据 类型 - 例如,BIGINT超过 INTEGER,或MEDIUMINT过度SMALLINT - 使得最大列值可 仍然被容纳在所选择的 数据类型。 Infobright不会因 “over-typing”某一列而导致浪费的空间后果 。

0

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

+2

MySQL是不是一个面向列的数据库,因此它并不适用于这个问题。 – 2012-02-11 14:59:33

相关问题