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

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

相关文章

数据库面试必备之MySQL中的乐观锁与悲观锁

《数据库面试必备之MySQL中的乐观锁与悲观锁》:本文主要介绍数据库面试必备之MySQL中乐观锁与悲观锁的相关资料,乐观锁适用于读多写少的场景,通过版本号检查避免冲突,而悲观锁适用于写多读少且对数... 目录一、引言二、乐观锁(一)原理(二)应用场景(三)示例代码三、悲观锁(一)原理(二)应用场景(三)示例

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

Spring Security基于数据库的ABAC属性权限模型实战开发教程

《SpringSecurity基于数据库的ABAC属性权限模型实战开发教程》:本文主要介绍SpringSecurity基于数据库的ABAC属性权限模型实战开发教程,本文给大家介绍的非常详细,对大... 目录1. 前言2. 权限决策依据RBACABAC综合对比3. 数据库表结构说明4. 实战开始5. MyBA

Ubuntu中远程连接Mysql数据库的详细图文教程

《Ubuntu中远程连接Mysql数据库的详细图文教程》Ubuntu是一个以桌面应用为主的Linux发行版操作系统,这篇文章主要为大家详细介绍了Ubuntu中远程连接Mysql数据库的详细图文教程,有... 目录1、版本2、检查有没有mysql2.1 查询是否安装了Mysql包2.2 查看Mysql版本2.

Oracle数据库常见字段类型大全以及超详细解析

《Oracle数据库常见字段类型大全以及超详细解析》在Oracle数据库中查询特定表的字段个数通常需要使用SQL语句来完成,:本文主要介绍Oracle数据库常见字段类型大全以及超详细解析,文中通过... 目录前言一、字符类型(Character)1、CHAR:定长字符数据类型2、VARCHAR2:变长字符数

Win11安装PostgreSQL数据库的两种方式详细步骤

《Win11安装PostgreSQL数据库的两种方式详细步骤》PostgreSQL是备受业界青睐的关系型数据库,尤其是在地理空间和移动领域,:本文主要介绍Win11安装PostgreSQL数据库的... 目录一、exe文件安装 (推荐)下载安装包1. 选择操作系统2. 跳转到EDB(PostgreSQL 的

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

C# WinForms存储过程操作数据库的实例讲解

《C#WinForms存储过程操作数据库的实例讲解》:本文主要介绍C#WinForms存储过程操作数据库的实例,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、存储过程基础二、C# 调用流程1. 数据库连接配置2. 执行存储过程(增删改)3. 查询数据三、事务处

mysql数据库重置表主键id的实现

《mysql数据库重置表主键id的实现》在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,本文主要介绍了mysql数据库重置表主键id的实现,具有一定的参考价值,感兴趣的可以了... 目录关键语法演示案例在我们的开发过程中,难免在做测试的时候会生成一些杂乱无章的SQL主键数据,当我们