Orcle 12c Sharding新特性---Sharded和Duplicated表介绍
作者:
Expect-乐
1 说明
在SDB中有两种类型的表:sharded tables 和duplicated tables.
Sharded tables are equi-partitioned on a sharding key. --以sharding键将数据分开存到各个shards上。
S=S1 U S2 U … U Sn
Duplicated tables are identical on all shards.--每个shards上的数据库都是一份完整的数据。
R = R1 = … = Rn
搭建Sharding数据库:http://www.cndba.cn/Expect-le/article/2160
2 实验
2.1 创建SHARDED 表,插入数据
SQL> CREATE SHARDED TABLE LEI
(USERID NUMBER NOT NULL
,NAME VARCHAR2(30)
)
PARTITION BY CONSISTENT HASH (USERID)
PARTITIONS AUTO
TABLESPACE SET TPS_1;
Table created.
insert into LEI values(1,'sihong');
insert into LEI values(2,'suyi');
insert into LEI values(3,'ruyan');
insert into LEI values(4,'dongsheng');
insert into LEI values(5,'wenqing');
commit;
SQL> select * from lei;
USERID NAME
---------- ------------------------------
5 wenqing
2 suyi
1 sihong
3 ruyan
4 dongsheng
--shard节点1查询
SQL> select * from lei;
USERID NAME
---------- ------------------------------
5 wenqing
2 suyi
--shard节点2查询
SQL> select * from lei;
USERID NAME
---------- ------------------------------
1 sihong
3 ruyan
4 dongsheng
2.2 创建duplicated 表
为了实验,改一下表类型即可
SQL> CREATE DUPLICATED TABLE CNDBA
(USERID NUMBER NOT NULL
,NAME VARCHAR2(30)
);
Table created.
insert into CNDBA values(1,'sihong');
insert into CNDBA values(2,'suyi');
insert into CNDBA values(3,'ruyan');
insert into CNDBA values(4,'dongsheng');
insert into CNDBA values(5,'wenqing');
commit;
--shard节点1查询
SQL> select * from cndba;
USERID NAME
---------- ------------------------------
1 sihong
2 suyi
4 dongsheng
5 wenqing
3 ruyan
--shard节点2查询
SQL> select * from cndba;
USERID NAME
---------- ------------------------------
1 sihong
2 suyi
4 dongsheng
5 wenqing
3 ruyan
可以看到每个shard节点上的数据都是一样,都是一份完整的数据。
版权声明:本文为博主原创文章,未经博主允许不得转载。
sharded tables duplicated tables