【腾讯云的1001种玩法】十分钟轻松搞定云架构 · 数据库的主备 双活 读写分离

今天我们来学习关于数据库的知识。什么是数据库的主备、双活、读写分离

数据库的主备

首先,什么是数据库的主备?

主备是指我们在使用数据库时,同时有主数据库和备数据库,主数据库主要提供服务,备数据库以备不时之需。

为什么我们要给数据库做主备?

一方面是数据库安全十分重要,我们需要借助主备数据库,来保证我们的数据不至于丢失。

另一方面是数据库比较容易受到外部因素的影响(网络环境恶劣等因素)。

最重要的一点是数据库一但出现问题,如果没有备份,恢复起来非常麻烦,甚至无法恢复。

数据库的双活

说完了主备,我们来说一说双活。

双活简单的来说,就是将只有一个数据库对外提供服务(单活),转化为两个数据库同时对外提供服务(双活)。

在单活的情况下,主数据库被合理使用,而备数据库处于闲置状态,资源被浪费。另外,如果不经常使用、测试备库,很有可能在遇见突发情况,需要启用备库时,出现备库无法启动的问题。第三点是灾难演练可能会造成数据丢失,当你是双活的情况下,你的数据是有备份的,即使丢失也可以恢复。

数据库的读写分离

那么,什么是读写分离呢?

读写分离是指将原本由一个数据库完成的数据的读写的操作分离成为两个数据库完成,一个数据库完成数据的读取工作,另外一个数据库来完成数据库的写入工作。

当我们的数据库的读写都在一个磁盘上时,硬盘的IO暴增,效率大幅度下降。

这种模式可以有效的缓解由于数据量剧增,数据库压力较大的问题以及数据库系统负载较高,性能下降的问题。

不安全的数据库架构

在这种架构下,数据库一旦出现故障,就会丢失数据,无法对外提供服务。数据十分不安全。

当你的主备数据库在不同层级(可以理解为单活)时,仍然存在备库无法激活、或数据不同步的情况,但相比于上一种情况,已经有较好的改善。

这种模式下,主备数据库同时提供服务,两个数据库的数据高度同步,大部分都是相同的,即使一个数据库出现了故障,另外一个数据库也可以保证业务的正常运转

在这种模式下,数据库的性能较高,业务方面读写分离。数据库性能提升。写数据库的数据同步到读数据库,保证数据高度一致。

原创声明,本文系作者授权云+社区-专栏发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏养码场

干货!基于Ceph对象存储的分级混合云存储方案

Unlimited Capacity:公有云的存储服务具有易扩展的特性,用户可以非常方便的根据其存储容量需求,对其已有的存储服务的容量进行扩展,因此从用户角度来...

622
来自专栏阿杜的世界

【转】Dubbo架构设计详解总体架构核心要点参考资料

Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合)。从服务模型的角度...

845
来自专栏杂烩

分布式服务框架之Dubbo简介 原

随着互联网的发展,网站应用的规模不断扩大,常规的垂直应用架构已无法应对,分布式服务架构以及流动计算架构势在必行,亟需一个治理系统确保架构有条不紊的演进。

725
来自专栏Java架构师进阶

java架构师之用Redis轻松实现秒杀系统

曾经被问过好多次怎样实现秒杀系统的问题。昨天又在CSDN架构师微信群被问到了。因此这里把我设想的实现秒杀系统的价格设计分享出来。供大家参考。

632
来自专栏Java工程师日常干货

分布式服务治理框架Dubbo前言QuickStart 一些思考

Dubbo是一个被国内很多互联网公司广泛使用的开源分布式服务治理框架,是一个非常全面的SOA基础框架,当当网在Dubbo基础上新增了一些功能,并将其命名为Dub...

663
来自专栏Java进阶干货

用Redis轻松实现秒杀系统

用上这三招,不论秒杀时负载多大,都能轻松应对。更好的是,Redis能够满足上述三点。因此,用Redis就能轻松实现秒杀系统。

431
来自专栏美团技术团队

美团点评前端无痕埋点实践

构建一个数据平台,大体上包括数据采集、数据上报、数据存储、数据计算以及数据可视化展示等几个重要的环节。其中,数据采集与上报是整个流程中重要的一环,只有确保前端数...

5986
来自专栏Java架构师学习

深度学习Dubbo系列(入门开篇)一、背景二、架构三、需求四、用法五、快速启动

1093
来自专栏大闲人柴毛毛

服务器性能优化基础知识

性能调优整体思路 空间换时间 对热点数据缓存,减少数据查询时间。 分而治之 将大任务切片,分开执行。HDFS、MapReduce就是这个原理。 异步处...

3944
来自专栏Linyb极客之路

使用SpringCloud将单体迁移到微服务

CONFIG SERVER 这是一个很简单方式,但是也要防止程序员不小心一个delete数据库的灾难事情发生。 API网关 如果说后端微服务组成了一个服务群,...

994

扫码关注云+社区