今天将Mars 数据库下一个阶段的,分布式版本的整体结构考虑了一下,具体先见下图:

1. ManagerNode 负责集群的多台机器间管理。
1.1 提供 API 服务:消费数据服务,驱动接口API服务
1.2 负责 DataNodeGroup 的管理
提供变量和DataNodeGroup间的映射关系服务
1.2.1 提供DataNodeGroup 内Primary DataNode获取服务
1.2.2 DataNodeGroup 内 API 访问接口服务。
1.3 提供备份磁盘阵列信息服务
1.4 可以多台ManagerNode,多台ManagerNode间自助进行数据同步
1.4.1 多个ManagerNode间,不存在主备,均对外提供服务。
2. DataNodeGroup 一组数据库数据节点构成的逻辑集合。
2.1 DataNodeGroup是一个逻辑概念,标识一组DataNode
2.2 DataNodeGroup 内的节点,处理相同的变量,数据节点是冗余关系,相互备份。
2.3 DataNodeGroup 有一个ID,变量按照DataNodeGroup的ID的顺序,以及每个DataNodeGroup支持的变量的个数,分配到相应的DataNodeGroup内进行处理。由于变量的历史存储是按照变量的ID进行存储,所有与该变量哪个DataNodeGroup中进行处理没有关系。故可以对已经运行后的系统,进行后期调整变量的分布情况。
2

本文介绍了Mars 2.0分布式数据库的架构设计,包括ManagerNode的角色,DataNodeGroup的逻辑概念及数据分配策略,以及DataNode内部的主备决策逻辑。ManagerNode提供API服务、DataNodeGroup管理,并实现多节点间的同步;DataNodeGroup由冗余DataNode组成,提供实时和历史数据服务;DataSyncServer模块确保数据同步,而RealDataTransformService实现数据转发。

436

被折叠的 条评论
为什么被折叠?



