KADB 是北京人大金仓信息技术股份有限公司基于开源的greenplum数据库研发的一款分布式关系型数据库,全称是KingbaseAnalyticsDataBase。
学习kadb的表的管理
1、字段类型
在kadb中character类型的char、varchar、text之间在不考虑使用空格填充空白的情况下没有区别,建议使用varchar和text替代char。而数字类型要考虑下类型大小占用的空间问题了,BIGINT类型如果都是填充些INT或者SMALLINT类型3的数据的话将会浪费空间。
2、 约束
字段上,和oracle类似拥有primary、unique、check、not null、foreign约束,只是primary约束有个特殊的就是必须使用hash策略来分布表数据存储,不能在同一个表同时使用主键和唯一约束,并且指定了primary和unique的列必须全部或者部分包含在distributed key中;foreign约束虽然可以定义,但是并不会生效,至少在目前为止没有支持。
3、分布策略
kadb采用的是分布存放数据的架构,有三种分布方式:distributed by (key),采用的是hash算法,distributed randomly,采用的是随机算法;如果不指定分布策略默认使用hash,distributed replicated 复制分布,即每个节点上数据相同。
为了尽可能的并行处理数据,需要选择能够最大化地将数据均匀分布到所有seg的策略,比如选择primary key;分布式处理中将会存在本地和分布式协作的操作,当不同的表使用相同的分部键的时候,大部分的排序、连接关联操作工作将会在本地完成,本地操作往往比分布式操作快上5倍,