创建表时需要合理的设计表分布类型,GBase8a数据库中包含3类表:随机分布(random)表,哈希(hash)分布表,复制表。
数据分布均匀是保证 GBase 8a MPP Cluster高效并行处理能力的基础。因此定义表时,保证数据分布均匀是达到高性能的关键所在,hash分布健选择的依据遵从四大原则:
第一,就是首先保证所有节点数据存放是均匀的,避免出现节点出现数据分布过多或过少情况;
第二,如果经常进行大表连接,尽量把连接字段定义成 hash 分布字段,这样尽量减少无效的节点间拉表操作。
第三,尽量保证 where 条件产生的结果集的存储也尽量是均匀的,避免在做查询的时候,出现某些节点过于繁忙或清闲的情况。
第四,选择使用频率高的 group by字段作为 hash 字段。创建语法为:create table (……) distributed by ('哈希分布列') ;
开发限制建议:
1.不支持update哈希分布健操作
2.建表时注意考虑字段长度及类型(GBase8a分析数据库列类型除了varchar可以从小改成大,其他列类型都不能改变)
3.不支持主键唯一序列,需要业务层来确认确保数据唯一性
4.不建议使用单条dml操作(建议采用SQL数据加载的方行处理)
5.不支持事务,开发过程中避免使用非自动提交方式
6.避免使用游标
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




