数据库管理-第165期 数据库高可用漫谈(20240327)
作者:胖头鱼的鱼缸(尹海文) Oracle ACE Associate: Database(Oracle与MySQL) 国内某科技公司 DBA总监 10年数据库行业经验,现主要从事数据库服务工作 拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证 墨天轮MVP、认证技术专家、年度墨力之星,ITPUB认证专家,OCM讲师 圈内拥有“总监”、“保安”、“国产数据库最大敌人”等称号,非著 名社恐(社交恐怖分子) 公众号:胖头鱼的鱼缸;CSDN:胖头鱼的鱼缸(尹海文);墨天轮:胖头鱼的鱼缸;ITPUB:yhw1809。 除授权转载并标明出处外,均为“非法”抄袭。
前几天,在首席群里讨论,某些人已经实现了在常去的城市都有房产了,出差都有自己的房住(当然有没有其他的目的就不得而知了)。相较于外出住酒店,两种方式各有优劣:
上面的内容借用德哥今天公众号结尾的一句话“其实 这段内容(原文为: 这篇文章)的内容和标题是匹配的, 只是我还没想好到底有什么关联”。 数据库的高可用究竟是什么,我觉得还是得从实际需求场景来:

(Oracle Maximum Availability Architecture (MAA))
那么从我个人角度以尽可能高的要求来看看数据库的高可用。
1 主从架构

(MySQL Replication)
主从架构是我们用的比较多的高可用架构,除了上图MySQL Replication,Oracle有(Active) DataGuard,PostgreSQL也有类似的主从架构。主从架构的优点其实是架构简单,大多数主从架构除了可以实现异地的数据容灾以外,也可以提供读写分离的能力(即主写备读),提升数据库整体性能表现。 主从架构主要需要考虑的问题是在switchover或failover后,应用能够正确连接到正确角色的数据库上,在这一点上MySQL提供了MySQL Router,三方开源则有MHA和Orchestrator等;Oracle则有TAC和GDS等。
2 集群
这里说的集群要区分于分布式架构,主要涉及MySQL Group Replication(MGR)和Oracle RAC架构等。

(Oracle Real Application Cluster (RAC))
这里的集群主要是在实例级别提供高可用,即集群内部分实例故障,不影响数据库提供服务。但在RAC架构中仍可能有存储的单点故障,因此存储侧也应该实现高可用。当然在集群之上也可以和主从架构配合使用,提供异地容灾能力。

(Oracle RAC+DG)
3 分布式
无论是Redis、MongoDB还是大量的国产数据库,都提供了分布式数据库架构。

(OceanBase 4.x)
其实简单来看,就是每个分片内以主从或者副本的方式,分片每个节点可以在不同的地域,实现高可用。而数据库的访问接口则一般通过分布式集群本身来管理并提供服务。分布式架构中,只要不是某个分片的所有节点全挂的情况出现,理论上不会出现数据库异常。
4 误区
前两天一朋友的数据库通过主从架构上线实现了国产数据库的上线,本是一件好事,但是有些人却说,不是分布式,高可用不行啊。其实反观下整体架构,这些人为啥看不到,别人用1+1的节点解决了分布式需要10+台服务器才能解决的问题。不得不说,分布式数据库在高可用上看似非常美好,但是节点数量的提升带来的管理压力提升、元数据维护增加、网络压力增大等,而且分布式不一定适合所有应用场景产生的数据结构和业务场景(这里还不考虑业务代码变更)。
5 光是数据库?
举个栗子,数据库实现异地容灾,且前端应用可以自动连接到对应角色的实例。但是业务应用程序却只部署在了一个地方,那么如果这个地方整个IDC出现异常,那么前端业务同样不可能实现容灾切换,所以应用程序也需要多地部署。

(Oracle MAA Platinum reference architecture)
总结
本期浅谈了一下数据库的高可用,我认为一切还是从需求出发,结合可接受成本来做高可用。 老规矩,知道写了些啥。
编辑推荐:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 数据库管理-第165期 数据库高可用漫谈(20240327)
数据库管理-第165期 数据库高可用漫谈(20240327)
26-03-03 - dataguard配置SYNC导致数据库性能频繁卡顿
dataguard配置SYNC导致数据库性能频繁卡顿
26-03-03 - 数据库管理-第164期 关于RAC私网的一些探索(20240326)
数据库管理-第164期 关于RAC私网的一些探索(20240326)
26-03-03 - 从卷算力到拼性价比,智能驾驶的“风向”变了
从卷算力到拼性价比,智能驾驶的“风向”变了
26-03-03 - ora-00314 00312
ora-00314 00312
26-03-03 - Oracle监控工具,一家老小全在这里
Oracle监控工具,一家老小全在这里
26-03-03 - sql Tuning Advisor启用导致业务性能问题
sql Tuning Advisor启用导致业务性能问题
26-03-03 - Oracle 12C 及19C DG备库如何设置延迟应用
Oracle 12C 及19C DG备库如何设置延迟应用
26-03-03 - 数据库管理-第166期 来自于全球最强数据库性能优化团队的四大处方(20240329)
- library cache lock模拟和处理
library cache lock模拟和处理
26-03-03
