【数据分片】允许在表一级对数据存储进行控制。【表分片】是GBASE8S数据库的一个特征,允许用户对表中的记录或索引进行分组,将数据存储到多个磁盘上,从而可减少磁盘I/O的竞争。对表中的数据和索引进行分区主要目的是提高应用程序访问数据库的效率,提高了事务的吞吐能力。
一、分片的策略和意义
分片是数据库中以表(Table)为对象的数据分散储存方法。
表与索引可分散储存于不同 dbspaces或partitions 中
分片的存在或变更是不会影响使用者或应用程序本身。
分片的存在或变更会影响应用程序的执行方法与效率。
逻辑上分片是指把一个表的数据分散到多个dbspaces中存储
对外提供一个单表的接口
数据库内部,物理上把大表拆分为多个小表管理
二、分片方式
1、轮询法分片—Round-Robin
把数据均匀地分配到所有分片中
只能用于表,不能用于索引
CREATE TABLE tab1
(col1 integer, col2 date)
PARTITION BY round robin in
tabdbspc1, tabdbspc2;
2、表达式分片—Expression-Based
需要对数据分布有所了解
为分片忽略和性能提升提供可能
既可以用于表也可以用于索引
可以基于一列或者多列构建表达式
基