高可用数据库该如何选型?这几项能力缺一不可

2024-01-23 11:32

本文主要是介绍高可用数据库该如何选型?这几项能力缺一不可,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

众所周知,随着信息化建设的不断深入,信息系统的广泛应用大幅提升了业务效率,其地位日益凸显。正因如此,信息系统运行一旦中断,将会对相关组织及机构的业务运营造成严重影响,甚至威胁国家安全。其中,数据库作为信息系统中数据存储与计算的核心,保障其连续运行对整个系统的连续运行至关重要。

计划内事件
应用开发与上线部署过程中,不可避免地会遇到设计变更(如表结构变更、索引修改等)、部署更改(如修改存储位置等)、软件升级等事件。由于这些事件可以预先规划,因此属于计划内事件。

计划外事件
信息系统或数据库运行过程中,不可避免地可能遇到运行环境故障(断电、断网、软件错误、硬件故障等)、人工操作失误甚至系统恶意破坏等情况。由于这些情况无法预先规划,因此属于计划外事件。

如果发生上述事件,数据库乃至系统运行会受到以下影响:

直接影响
A、服务降级或中断
维护类操作往往耗费较长时间、占用大量系统资源,有可能导致系统响应变慢,造成服务降级;部分维护类操作无法联机运行,计划外的断电等故障也会破坏数据库运行的基础环境,导致系统停机、服务中断。
B、数据损坏或丢失
存储损坏等故障会破坏信息系统、数据库的运行环境或数据库本身,可能导致部分甚至全部数据损坏或丢失,进而导致数据库运行降级或停机。
间接影响
如果系统基于损坏的数据继续运行,可能导致用户访问到错误的数据,进而导致错误蔓延,破坏整个系统的数据一致性。
针对上述影响信息系统或数据库连续运行的因素,高可用数据库产品需具备以下能力:
● 为应对计划内事件,数据库必须提供如下技术保障:

在线修改库表结构;
在线修改数据存储部署;
3. 在线版本升级能力;
● 为应对计划外事件,《GB20988-2007-T 信息安全技术信息系统灾难恢复规范》将系统容灾等级分为六级:

容灾等级RTORPO第1级>2天1-7天第2级>24h1-7天第3级>12h数小时-1天第4级数小时-2天数小时-1天第5级数分钟-2天0-30min第6级数分钟0

《GB20988-2007-T 信息安全技术信息系统灾难恢复规范》中同时规定了不同容灾等级需要采用的技术和管理保障手段,具体如下表所示:
在这里插入图片描述

从上表可以看出,要满足最高级别(第6级)容灾需要,系统需具备以下能力:

本地数据备份能力
远程数据库实时备份能力
实时自动故障检测与切换能力
支持管理和使用多个网络通道
综上所述,用户在进行高可用数据库产品选型时,应重点关注数据库产品的以下能力及其效率和可靠性:

在线修改库表结构;
在线修改数据存储部署;
在线修改数据库实例结构;
在线版本升级能力;
本地数据备份能力;
远程数据库实时备份能力;
实时自动故障检测与切换能力;
支持管理和使用多个网络通道。
作为面向企业级管理系统、业务系统的大型通用数据库产品,万里开源GreatDB构建了全方位的业务连续运行保障能力,成功支撑了国家电网全业务数据中心、某商业银行云缴费系统、中国移动流量经分系统等在内的企业级核心业务应用稳定运行,实现99.999%的高可用性。具体如下表所示:
在这里插入图片描述

综上,数据库产品选型本身是一个技术含量很高的工作,而数据库的高可用除了依赖数据库产品的能力外,还依赖于根据业务设计的有效高可用方案及对系统的有效运维管理。

作为国产数据库领军企业,万里开源的产品拥有完备、成熟、并经大量应用验证的高可用能力,以及专业的技术咨询与运行维护服务保障能力。

这篇关于高可用数据库该如何选型?这几项能力缺一不可的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/636260

相关文章

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

SQL Server数据库死锁处理超详细攻略

《SQLServer数据库死锁处理超详细攻略》SQLServer作为主流数据库管理系统,在高并发场景下可能面临死锁问题,影响系统性能和稳定性,这篇文章主要给大家介绍了关于SQLServer数据库死... 目录一、引言二、查询 Sqlserver 中造成死锁的 SPID三、用内置函数查询执行信息1. sp_w

Druid连接池实现自定义数据库密码加解密功能

《Druid连接池实现自定义数据库密码加解密功能》在现代应用开发中,数据安全是至关重要的,本文将介绍如何在​​Druid​​连接池中实现自定义的数据库密码加解密功能,有需要的小伙伴可以参考一下... 目录1. 环境准备2. 密码加密算法的选择3. 自定义 ​​DruidDataSource​​ 的密码解密3

Maven项目中集成数据库文档生成工具的操作步骤

《Maven项目中集成数据库文档生成工具的操作步骤》在Maven项目中,可以通过集成数据库文档生成工具来自动生成数据库文档,本文为大家整理了使用screw-maven-plugin(推荐)的完... 目录1. 添加插件配置到 pom.XML2. 配置数据库信息3. 执行生成命令4. 高级配置选项5. 注意事

在Java中基于Geotools对PostGIS数据库的空间查询实践教程

《在Java中基于Geotools对PostGIS数据库的空间查询实践教程》本文将深入探讨这一实践,从连接配置到复杂空间查询操作,包括点查询、区域范围查询以及空间关系判断等,全方位展示如何在Java环... 目录前言一、相关技术背景介绍1、评价对象AOI2、数据处理流程二、对AOI空间范围查询实践1、空间查

Python+PyQt5实现MySQL数据库备份神器

《Python+PyQt5实现MySQL数据库备份神器》在数据库管理工作中,定期备份是确保数据安全的重要措施,本文将介绍如何使用Python+PyQt5开发一个高颜值,多功能的MySQL数据库备份工具... 目录概述功能特性核心功能矩阵特色功能界面展示主界面设计动态效果演示使用教程环境准备操作流程代码深度解

MySQL数据库实现批量表分区完整示例

《MySQL数据库实现批量表分区完整示例》通俗地讲表分区是将一大表,根据条件分割成若干个小表,:本文主要介绍MySQL数据库实现批量表分区的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考... 目录一、表分区条件二、常规表和分区表的区别三、表分区的创建四、将既有表转换分区表脚本五、批量转换表为分区

MySQL Workbench工具导出导入数据库方式

《MySQLWorkbench工具导出导入数据库方式》:本文主要介绍MySQLWorkbench工具导出导入数据库方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝... 目录mysql Workbench工具导出导入数据库第一步 www.chinasem.cn数据库导出第二步

Mysql数据库中数据的操作CRUD详解

《Mysql数据库中数据的操作CRUD详解》:本文主要介绍Mysql数据库中数据的操作(CRUD),详细描述对Mysql数据库中数据的操作(CRUD),包括插入、修改、删除数据,还有查询数据,包括... 目录一、插入数据(insert)1.插入数据的语法2.注意事项二、修改数据(update)1.语法2.有

Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例

《Nginx使用Keepalived部署web集群(高可用高性能负载均衡)实战案例》本文介绍Nginx+Keepalived实现Web集群高可用负载均衡的部署与测试,涵盖架构设计、环境配置、健康检查、... 目录前言一、架构设计二、环境准备三、案例部署配置 前端 Keepalived配置 前端 Nginx