GBase 8a 支持以下5种表类型
1 复制表
2 随机分布表
3 哈希分布表
4 临时表
5 nocopies表
复制表:
复制表建表使用 REPLICATED 关键字,复制表在每个节点上都会保存完整的数据。
常用于集群系统表、经常与大数据量表JOIN的小表。
在向复制表种插入数据时,集群使用DTS功能完成各个节点之间的数据同步。
随机分布表 :
默认建表的类型,若不指定任何关键字,即为随机分布表。
随机分布表在每个数据节点上都有一个分片,使用load 向表插入数据时,数据会均匀的分布在每个点上。
常用于独立查询的表,每个节点都能有均匀的工作量,性能较单节点查询更好。
哈希分布表
使用 DISTRIBUTED BY column_name 的关键字指定建表时以 column_name 为hash列,数据按照指定的hash字段进行分布。
hash分布表不一定均匀,由于列种数据hash不同,被分配在不同的节点,但是相同的hash值数据会被分配在同一节点
适用于使用hash列做等值连接的表,省去了集群种多步的拉表,拉数据操作,节省了时间。
临时表
临时表要使用TEMPORARY 作为关键字,临时表只存在当前session session退出后不再存在。
临时表主要用来保存临时结果,且其它session不可见,适用于简化复杂sql,保存中间结果。
nocopies表
使用关键字NOCOPIES指定建表为NOCOPIES表,为没有备份分片的表,这样更加节省物理存储,但是也会带来数据丢失的风险。适用于存储严重不足的场景下,满足业务功能。
以上就是GBase 8a支持的表类型,大家可以根据自己的业务需求来建立不同的表,大部分场景下,分布表更能体现分布式数据库的优良性能。