当前位置:首页 > 文档 > 系统架构
系统架构
独游(Indievow)分布式数据库文档:系统架构
INDIEVOW DISTRIBUTED DATABASE DOCUMENTATION

系统架构

MG / TG / CG / DG 四类服务进程与集群架构

Indievow是运行于PC服务器集群上的分布式数据库系统,通过对传统关系数据库系统功能的拆分,实现了数据的分布式存储和查询的分布式处理,能够支持海量结构化数据的管理。如图1所示

<div class="img-descr">图 1 Indievow与传统RDBMS架构对比</div>

Indievow集群中存在4种角色的服务进程,其中CG进程实现了传统数据库的查询解析、编译和执行的功能;DG进程实现了数据文件的分布式存储与访问功能;TG进程基于内存引擎实现了高吞吐量的事务处理功能;MG实现了集群管理功能。集群中通常部署多个DG和CG节点,通过添加节点数量可以扩展系统的存储和查询处理能力。集群中可以部署多个TG节点,采用基于Quorum的提交协议,能够保证在多数派节点正常的情况下不丢失数据。集群中同样可以部署多个MG节点,通过Paxos协议来实现自动选主,保证了集群的高可用。

ManEng:简称MG,系统的控制节点,负责集群管理和数据分布。
  • 集群中可以设置多个MG节点(一主多备),通过Paxos协议实现自动选主,能够保证集群的高可用;
  • 通过租约机制(Lease)来管理集群中的TG节点,保证同一时刻只有一个TG提供事务处理服务;
  • 通过心跳机制(Heartbeat)来管理集群中的CG和DG节点,感知节点的上下线;
  • Indievow中的数据表按主键范围被划分为多个子表(称为Tablet),每个子表可以有多个副本,分别存储在不同的DG节点上。MG通过RootTable结构来记录Tablet在DG上的分布位置信息,并管理Tablet的副本数量、复制、迁移和合并;
TransEng:简称TG,系统中的内存事务处理引擎。l  与传统数据库系统一样采用WAL(Write-Ahead Logging)技术来保证事务的原子性和持久性;
  • 集群中可以部署多个TG节点(一主多备),由主MG通过租约来确定主TG,主TG的日志采用基于Quorum协议的方式同步到备TG,能够保证在超过半数TG正常的情况不丢失任何数据;
  • 事务处理产生的增量数据被保存在TG的内存中,通过合并操作与DG中保存的静态数据合并,产生新版本的静态数据;
  • 支持跨表跨行的事务,不存在分布式事务,不需要两阶段提交协议;
  • 采用多版本并发控制协议(MVCC)实现Read Committed事务隔离级别;
CalEng:简称CG,实现了查询处理功能。
  • 支持MySQL通讯协议,对SQL语句进行解析生成执行计划,并管理语句执行计划的运行;
  • 缓存Tablet的分布位置信息,将SQL语句涉及的数据请求同时发送给对应的DG,并将所有DG返回的结果合并;
  • CG本身无状态,宕机不会对应用系统产生影响,应用可以通过其它CG获得服务;
DatEng:简称DG,实现了数据的分布式存储和访问。
  • 存储和管理Tablet副本,提供本地数据查询服务,支持数据缓存;
  • 响应CG的数据请求时,会从TG拉取对应的增量数据,融合后得到数据的最新状态,返还给CG;
  • 在启动数据合并操作后,DG将会从TG拉取所有本地数据对应的增量数据,与本地数据合并后产生新版本的Tablet;
  • 数据合并操作期间,DG正常提供数据查询服务;
© 2026 上海独游网络有限公司 版权所有|地址:上海市普陀区云岭西路600弄5号3层(集中登记地)|沪ICP备2026048507号-1