最初的集群分片功能由硬负载来完成,硬负载完成访问的分片处理,包括应用的查询,以及同步工具的写入分片支持。同时具备数据节点的上下线,以及负载的比例分配。
GBase XDM集群,可完成应用查询访问的分片处理,集群同步工具的分片写入。
- GBase XDM集群Server
读取API端发送过来的库名和片值;
由库名找到相应库的所有分片uri;
由片值得到片号,得到相应uri,得到片号与ip和端口的映射关系(单片1-3个映射)
- Java_API端(数据操作中内置分片信息发送接口,对外提供片号计算接口)
提供对外查询接口:
1)设置集群分片操作标记,设置操作的库名;
2)查询操作前,设置每个查询操作的片值。
查询操作,将库名和片值由API底层发给GBase XDM集群Server;
提供计算片号接口:
该接口用于需要开发对各节点进行访问的工具,比如8t2xdm同步工具;
需要注意,计算出来的片号,可能对应1到3个完全相同的副本。
- 集群查询说明
集群分片查询需要使用连接对象做如下事情:
- 设置集群分片标记;
- 设置查询的库名和分片值(可分别设置,或者一块设置);
- 进行查询。
注意:按分片值查询,可能会查到多条数据,其DN的sn属性值不同。
- 集群同步工具分片写入介绍
配置所有库名和该库下所有分片的uri;
调用Java_API的计算片号的方法,算出当前数据更新操作对应的片号;
由当前数据更新操作的库名,找到uri配置;
由uri配置和片号得到该片的uri,对应1-3个副本,每个副本都有ip和端口;
针对每个副本做数据的更新操作(增删改)。