VastbaseG100

基于openGauss内核开发的企业级关系型数据库。

Menu

组件概述

HAS+DCS 是Vastbase的一个高可用方案。基于流复制的方式,备库不断的从主库同步相应的数据并应用WAL日志,最终持久化到持久化存储中,达到备库与主库物理数据一致的状态。当主库宕机时,HAS自动将备库升级为主库并对外提供数据库服务。

DCS介绍

DCS是一款基于Raft算法和协议开发的分布式 key-value 数据库。在本高可用方案中,作为DCS角色存在。HAS监控本地的数据库状态,并将相关信息写入DCS,每个HAS都能读写DCS上的key,从而获取数据库信息。

DCS架构如下所示:

名称 功能概要
HTTP Sever 处理用户发送的API请求,以及其他DCS节点的同步与信息请求。
Store 处理DCS的事务,包括节点状态的变更、监控、事件处理等。
Raft 强一致算法的具体实现。
WAL 预写日志,DCS用户持久化存储的日志格式。
  • Snapshot是为了防止数据过多而进行的状态快照。
  • Entry表示存储的具体日志内容。
  • 整个处理流程:

    用户发送请求,经过HTTP Sserver转发给store,进行具体的事务处理。如果涉及到节点的修改,则交给raft模块进行状态变更,日志记录,再同步给别的DCS节点。

    HAS介绍

    HAS使用Python语言开发,结合DCS实现数据库高可用方案。HAS接管数据库的启停,同时监控本地的数据库,并将本地的数据库信息写入DCS。

    HAS的主备端是通过是否能获得leader key来决定的,获取leader key的HAS为主节点,其它的为备节点。