首页 > 数据库 >如何保障数据库的稳定性

如何保障数据库的稳定性

时间:2022-12-12 15:12:23浏览次数:53  
标签:保障 数据库 稳定性 指标 测试 RTO RPO

介绍稳定性指标RTO与RPO

首先讲起稳定性都会提到两个指标RTO与RPO:

  • RTO:恢复所需的时间指标。是反映业务恢复及时性的指标。表示业务从中断到恢复正常所需的时间。RTO值越小,代表容灾系统的数据恢复能力越强。各种容灾解决方案的RTO有较大差别
  • RPO:能够恢复到的最新状态。反映恢复数据完整性的指标,在同步数据复制方式下,RPO等于数据传输时延的时间;在异步数据复制方式下,RPO基本为异步传输数据排队的时间。

更详细的内容可参考文章:https://www.yisu.com/zixun/36388.html

数据库的稳定性涉及到产品需求设计、数据库架构设计、客户人员能力、测试的测试维度等,因此数据库的稳定性不仅仅是由测试人员通过测试手段来保障,这也是测试人员无法做到的部分。我们把保障数据库的稳定性分为几个阶段,详见如下:

部署前
1、部署前:要开展对研发技术相关人员的培训,避免人为因素导致的数据库运行不稳定;
2、技术架构:高可用、容灾遇难(两地三中心);
3、充分的压力测试:挑选核心的业务功能,通过一定的业务压力,让系统能够持续的运行一段时间,检测系统是否可以稳定运行;
4、充分测试:(1)做数据库的可用性测试。(2)版本上线前可以试用行新版本一定的周期,如:2个月,观察情况。

5、会议沟通:明确版本部署的服务器配置及配置参数的要求,因不同的公司根据自己的场景会有不同的参数配置要求。可以已开会的方式沟通并同步给大家

运行中
1、完善不同纬度的数据库指标监控,包括:存储层、网络层、服务器指标、top的sql优化和监控,如果有条件的话,需要进行常态化的性能监控及优化
2、制定特殊场景下的应急预案

RPO的解决
1、及时进行数据备份,并及时验证数据备份恢复后的数据可用性。
2、同城异地、备份机制、可用性的测试等来确保

如何实现数据持续稳定的运行?
大促场景,流量上升场景中数据库在性能提升上可以做哪些事情?
1、增加硬件资源,但有时发现增加硬件资源在性能提升上有限,此时涉及到了人员能力。
2、人员能力的提升,例如:一条sql的优化。写法不一样对性能的影响也不一样。
3、要做到能找到问题的根因
4、根据历史数据及特殊场景,提前预估业务量做压力测试,找到系统的性能瓶颈。如:内存不足、CPU不足、还是存储性能不好、还是SQL写的不好、还是写的sql数据库没有用好。

 

标签:保障,数据库,稳定性,指标,测试,RTO,RPO
From: https://www.cnblogs.com/syw20170419/p/16976076.html

相关文章

  • 期末复习-数据库
    数据库基础知识一.单选题1-5DBCCD----------6-10DBBCA二.填空题1.文件系统中的数据独立性是指设备独立性2.文件系统的缺陷是:数据冗余、数据不一致和数据联系弱3.......
  • 数据库使用个人经验
    增加:INSERTINFOmylist(id)VALUES('one');//单行增加mylist//当前表名  id//要添加的字段名  one//字段名称  删除:DELETEFROMmylistWHEREid='aaa......
  • SSDB:高性能数据库服务器
    SSDB是一个开源的高性能数据库服务器,使用GoogleLevelDB作为存储引擎,支持T级别的数据,同时支持类似Redis中的zset和hash等数据结构,在同时需求高性......
  • 视图、索引和数据库表之间的关系
    1表数据库中的数据都存储在表中;表示物理存储的,真实存在的。2视图2.1视图的定义视图:视图本身就是一张虚拟表,其内容与真实表类似,包含一些列带有名称的列和行数据。......
  • ASM数据库启动报ORA-01078,ORA-01565,ORA-17503,ORA-01017
    环境:ASM管理软件:11.2.0.4ORACLE软件:11.2.0.4操作系统:redhat6该环境是借用了asm管理软件来提升IO性能,并没有安装集群软件。故障现象:启动数据库时报错,alert......
  • oracle数据库常用操作
    1,调整显示格式colusernamefora20colDEFAULT_TABLESPACEfora302,查看表空间selectusername,default_tablespacefromdba_users;3,创建用户DROP......
  • SpringBoot源码2——SpringBoot x Mybatis 原理解析(如何整合,事务如何交由spring管理,my
    阅读本文需要spring源码知识,和springboot相关源码知识对于springboot整合mybatis,以及mybatis源码关系不密切的知识,本文将简单带过系列文章目录和关于我涉及到spring......
  • 数据库设计
    采用mysql数据库数据库使用NavicatforMySQL来管理在NavicatforMySQL中新建filedb作为电子公文系统数据库在filedb中新建5个表department:存储可选的部门file:传输......
  • JSP连接数据库
    我们选择直接用jsp连接数据库。规范写法其实是放到模型控制层中的DAO(DataAccessObject)层中步骤导入数据库jar包注册驱动Class.forName("com.mysql.jdbc.Driver")......
  • 进入python的世界_day49_Django的基本配置、ORM、前后端数据库的相联
    ​ 接口就是一个网址一、静态文件​ 不需要经常改变的文件,主要针对HTML文件所用到的资源,在django中,要提前手动创建一个文件夹,static,然后里面自己再分门别类一下#比如......