摘要
数据库数据类型对比分析是学习数据库的方法之一在学习Greenplum过程中通过对比DM8数据库和GP的支持的数据类型生成的具体对比说明
数据类型对比
DM 数据具有SQL-92的绝大部分数据类型,常规数据类型主要包括如下几大类:
- 字符数据类型
- 数值数据类型
- 位串数据类型
- 日期数据类型
- 多媒体数据类型
Greenplum数据库基本的数据类型包括如下几大类:
- 字符数据类型
- 数值数据类型
- 位串数据类型
- 日期时间类型
- 多媒体数据类型
- 货币类型
货币类型存储带有固定小数精度的货币金额。numeric、int和bigint类型的值可以转换为货币类型,在处理货币类型数据是,建议直接使用货币类型,而不是用浮点数来代替处理,货币类型的取值范围如表所示:
名字 | 存储空间 | 说明 | 取值范围 |
---|---|---|---|
money | 8字节 | 货币金额 | -92233720368547758.08 到 +92233720368547758.07 |
-
布尔类型
Greenplum数据库支持标准的布尔类型,布尔类型有true和false两种状态,未知用NULL表示,实际在测试其存储数据的过程中,它能够接受的有效文本值可以是:真值的情况
TRUE、’t’、’true’、’y’、’yes’、’on’、’1’都可以被存储并认定为真值。
假值的情况
FALSE、’f’、’fales’、’n’、’no’、’off’、’0’都可以被存储并认定为假值。
名字 | 存储空间 | 说明 | 取值范围 |
---|---|---|---|
boolean | 1字节 | 布尔类型 | boolean只能有true或false两种状态中的一种,第三种状态未知使用NULL表示 |
Greenplum与DM 数据类型对比概览
对象 | Greenplum | DM8 | 备注 |
---|---|---|---|
基本类型 | √ | √ | |
多媒体类型 | √ | √ | |
序列 | √ | √ | |
自定义类型 | √ | √ | |
数据类型别名 | √ | √ | |
XML数据类型 | √ | √ | |
JSON数据类型 | √ | √ | |
几何数据类型 | √ | ||
网络地址类型 | √ | ||
文本搜索类型 | √ | ||
UUID | √ | ||
范围类型 | √ |
小结
Greenplum除了支持常规的基本数据类型如,字符类型、数值类型、时间日期等类型外,还包含了一些特殊类型,主要包括枚举类型、几何类型、网络地址类型,二进制存储类型(位串类型)等,依托这些特殊数据类型,Greenplum能够应用于GIS、图计算等扩展领域,尽管这些类型在OLAP的应用场景并不多,但也扩宽了我对数据库类型的认识。从分析结果来看,Greenplum中的基本数据类型里有95%的类型是能够在DM数据库中找到与之对应的类型,存储的数据特点包括占用空间、表现形式等也能相互兼容。
更多技术支持与交流请访问达梦在线服务平台 https://eco.dameng.com/