暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

瀚高 HighGo数据库五大特性之高可用性

原创 HighGo 2020-02-17
3767

2. 高可用性

HGDB V5 支持多种高可用技术架构,包括 HA 双机架构、多节点流复制(同步、异步、混合同步、级联)集群架构等,同时 HGDB V5增加了流复制集群管理组件HG_REPMGR,并对流复制同步机制进行了功能增强,为用户提供最佳高可用解决方案。

2.1. 流复制集群管理组件(HG_REPMGR)

HG_REPMGR 的总体架构如下:
image.png

HG_REPMGR 是在社区版 REPMGR 基础上进行了功能改进与增强,同时修正了发现的多处 BUG。HG_REPMGR 开源并将发布社区版。

后台守护进程 repmgrd:在每个节点上后台运行,负责实时监控与自动 Failover。

命令行工具 repmgr:负责执行一站式管理任务,如克隆节点、注册节点、主备 Switchover、主备 Failover,注销节点、重新加入节点等。在任一节点上通过 repmgr 可管理集群所有节点。

配置文件:独立存在于每个节点上,用于保存节点的属性定义

元数据:存储在集群主节点数据库中,通过流复制同步到所有
备节点数据库。元数据包括集群所有主备节点的注册信息(节点编
号、主备状态等)

2.2. 流复制增强特性(HG_Stream)

在传统流复制集群中,WAL 日志传输模式有同步(Sync)和异步(Async)两种模式。基于服务器与存储成本、容灾高可用架构以及核心业务性能的考虑,在实际生产环境中,通常有以下典型的使用场景:

典型场景一:主节点 + 备节点(同步模式)
image.png

典型场景二:本地主节点 + 本地备节点(同步模式)+ 异地备
节点(异步模式)
image.png

在实际生产过程中,常常会遇到服务器软硬件故障、网络抖动、服务器资源紧张等导致备节点无法和主节点保持 Sync 模式同 步。按照流复制集群现有的机制,在这些场景下会导致主节点出现挂起,不能继续提供服务,会严重影响到业务连续性。

HGDB V5 实现了如下增强

  • 处于 Sync 模式的备节点异常宕机不会影响主节点的正常运行;
  • 当出现异常的 Sync 模式备节点恢复正常时,数据库自动将故障节点恢复为 Sync 模式,无需人工干预。
    启用瀚高流复制增强特性后,可以规避现有同步机制异常对业务连续性带来的潜在风险。

2.3. 备份恢复管理组件(HG_RMAN)

在数据库使用的生产场景中,通常会遇到各种异常和数据失效。
软硬件与人为异常

  1. 硬件损坏:服务器宕机,需更换服务器。
  2. 数据库介质损坏:文件损坏。
  3. 人为故障:表误删除,数据文件误删除等。
  4. 数据库实例异常:数据库后台进程崩溃等导致数据异常。

数据失效

  1. 数据文件无法正常访问。
  2. 物理损坏:数据块信息物理不完整。
  3. 逻辑损坏:数据字典信息不一致,索引块与数据块信息不一致等。
  4. 不一致:pg_control 信息与数据文件信息不同步。
  5. IO 异常:网络或者 IO 异常导致数据不完整。

数据库备份工具 Pg_basebackup 虽然在备份过程中不会影响到数据库的正常使用,也不需要通过文件系统访问来传输数据文件。但是 pg_basebackup 存在一些限制,例如没有备份结果集管理机制,无法实现物理块级和增量备份等,很难满足企业级数据库的备份需
求。

HGDB V5 新引入数据库组件 HG_RMAN,用于执行备份和恢复管理。使用它可执行一致性备份或非一致性备份,执行增量备份或完全备份。HG_RMAN 总体架构如下:

image.png

Recovery Manager 可执行文件:HG_RMAN 负责解释用户命令和调用相应的服务器会话来执行任务。

数据库连接会话:HG_RMAN 连接到目标数据库后可执行备份和恢复功能。这些会话会在指定的存储位置上读写文件。

目标数据库群集: 使用 HG_RMAN 对其执行备份和恢复操作的数据库群集称为目标数据库群集。目标数据库群集的控制文件(PG_CONTROL)包含关于其物理结构的信息,如数据库系统标识符、数据库块大小、WAL日志块大小、最新检查点信息及最新重做日志信息等。

Catalog:用于保存所有备份文件信息和其他信息。HG_RMAN Catalog 存储在单独的加密二进制文件中。

配置文件:HG_RMAN 会维护关于目标数据库群集备份和恢复操作所需的配置信息。配置信息存储在单独的文本文件中。

备份集:备份集包含所有备份文件,如数据文件的全量和增量备份、归档日志的备份、控制文件的备份及其他文件的备份。

HG_RMAN 主要特点如下

  • 备份记录集管理:历史记录,保留策略,有效性校验等
  • 基于物理块级备份
  • 支持全量、增量及归档日志在线备份
  • 支持 Point-In-Time Recovery(PITR)  支持备份压缩机制
  • 独有的块变化跟踪机制
  • 独有的块介质恢复(Block Media Recovery,BMR)技术

基于块变化跟踪机制,在增量备份时可提升效率至少 5 倍以上。BMR技术可以在数据库出现少量坏块时,实现在线快速修复,无需停机和恢复整库,更好的保证了业务连续性。

2.4. 在线 DDL 增强特性(Online DDL)

在 HGDB V5 中,对大表(表记录数在千万级或者亿级以上)增加新字段时做了功能增强。当表增加 NOT NULL 并且带 DEFAULT 值的字段时,不需要实际更新表中已有记录,同时亦不需要长时间锁定大表,可明显提升前端用户体验和业务连续性。

2.5. 性能监控与诊断组件(HG_PDR)

数据库性能监控与诊断组件–HG_PDR, 实现了周期性的收集、处理、持久化和维护性能统计数据,主要用于数据库性能问题的诊断与解决。另外,HG_PDR 可以生成简单明了、信息丰富和分类清晰的 HTML 格式性能诊断报告,以方便数据库管理者阅读。

image.png
图 4-5 HG_PDR 诊断报告示例

2.6. 内核诊断增强特性(HG_DEBUG)

在生产场景中,通常会遇到各种故障。
例如:

  • 数据库挂起或者响应变慢
  • 数据库崩溃
  • 服务器宕机。

image.png

HGDB V5 数据库内核诊断特性启用后,结合 HG-PDR 组件,可以快速定位数据库异常问题和性能瓶颈。具有自动和人工转储异常信息功能,并可根据指定时间区间进行信息转储。

2.7. 闪回查询特性(HG_FBQ)

HG_FBQ 启用后,可以用于恢复、查询那些已提交删除和更新的数据。
HG_FBQ 总体架构如下:
image.png

主要特点如下

  • 支持查看事务数据在特定时间区间的状态
  • 可用于防范人为的数据误操作
  • 可对比当前版本的数据和早些版本的数据差异
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论