Mars 2.0 分布式数据库结构

4 篇文章 0 订阅
2 篇文章 0 订阅

今天将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.4 客户端在进行数据的采集的时候,首先根据变量的ID,快速定位到DataNodeGroup,然后从该DataNodeGroup内选择一个DataNode进行实时、历史数据服务。2) 备机节点提供实时、非热点历史数据查询服务 3) 主机提供实时、热点(24小时内的数据)历史数据查询。
 
2.5 数据库驱动进行数据采集的流程。1) 根据变量的ID快速定位到DataNodeGroup,2)获取该DataNodeGroup内的Primary DataNode 3)通过Driver API 设置变量的实时值 4)Primary DataNode 按照DataNode 的ID进行排序, 将收集到的数据同步到ID需要最小的那个DataNode,5)该DataNode 再次根据ID排序的结果,将数据同步到下个ID最小的DataNode 6)重复5的步骤,直到所有备机同步完成。
 
2.6 DataNodeGroup 内部多个DataNode 间决策出Pramiry 的逻辑。决策执行时机:当首次启动、或Primary DataNode 故障的时候或手动切换的时候。 根据DataNode的ID,按照从小到大取ID最小的可用的DataNode用作Primary DataNode。

3. 模块说明

3.1 DataSyncServer  用于多个ManagerNode 间的数据同步

3.2 Tag-NodeMapManager 变量所在数据节点映射服务。

3.3 RealDataTransformService  实时数据转发服务,将从驱动接收到的数据直接进行转发。
    转发过程如下:
    1) Primary DataNode 转发给ID最小的DataNode
    2) Id最小的DataNode 转发给ID次小的DataNode
    3) 依次类推

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Mars是一个由微信开发的跨平台网络组件。要在Windows上使用Mars,你需要按照以下步骤进行操作: 1. 首先,打开Visual Studio 2017,并导航到C:/temp/mars-1.3.0/mars/samples/Windows目录下找到sample.sln解决方案文件。你可以通过双击该文件来打开解决方案。 2. 在解决方案中,你可以找到Mars的示例代码和项目文件。你可以根据你的需求进行修改和编译。 3. 如果你想使用Xlog加密功能,你可以参考Tencent/mars的官方文档中的Xlog加密使用指引。你可以在GitHub上的Tencent/mars Wiki页面找到这个指引。 4. 另外,如果你在安装Python扩展模块时遇到了"Unable to find vcvarsall.bat"的问题,你可以参考云游道士的博客文章中对这个问题的解决方案。他提供了关于这个问题的描述、问题分析和总结。 总的来说,要在Windows上使用Mars,你需要使用Visual Studio 2017打开Mars的解决方案文件,根据需要进行修改和编译,并可以参考相关文档来了解特定功能的使用方法。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [腾讯mars,在windows上编译](https://blog.csdn.net/harborian/article/details/90596898)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [windows11 mars xlog解密环境配置](https://blog.csdn.net/c_m_deng/article/details/125428740)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值