暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

数据库要不要漂移

四海内皆兄弟 2022-08-22
529

   上周事情有点多好几天没写了。   

    现在虚拟化很普及了,大家常说遇到问题将虚拟机漂移一下。我觉得tomcat这类的漂移就漂移吧。那数据库呢?我觉得就是能漂移也不要漂移,何况我认为根本不需要。我从业快20年仅有一次我要将一个块上线的数据库的阵列格式化导致数据库起不来了。除此之外没遇到过正式环境起不来的情况。(练习环境故意破坏练习除外),也许我经历有限,没有遇到过。我上周看到一位银行的老师说到,他们的Oracle遇到宕机就宕机,重启数据库或者操作系统就好,主机宕机情况下Oracle重启从来没让他们失望过。

     我们一般要提供一个较好的环境给数据库(RAID卡,阵列双控制器,以及UPS和柴油发电机),但是我也见过就插着接线板,给服务器就配了一个电风扇的情况,这种居然都活着,你说你还怕什么?总有意外是吧,就比如说我那种格式化硬盘。这种漂移也没什么用。都格式化了。

     我们可以总结一下,为什么应用程序等可以漂移而数据库不行。因为应用程度是无状态的,就是个临时载体,不变更的话,怎么启动都能起来。数据库不一样,有一致性和持久性。总不能带着阵列漂移吧?应用这种无状态的别说虚拟机了,放在容器也没有问题。很轻量化的。而数据库少的几十个GB,多的有几百个TB,虚拟机无法快速挪动几百TB数据过去。如果说数据文件不在虚拟机上,那么日志文件,数据文件出现问题。就算能漂移,也一样无法解决问题。我上一篇公众号中写了大家都在说1T的内存。其实这样的配置vmware支持的不好。

   再比如说RAC任意坏了一个节点,这不还有一个节点嘛,连切换都不用。MGR,每个节点都是同步的。router会自动切换过去的。Oracle或者PostgreSQL等都有主从架构的方案。比如ADG有Switchover,PostgreSQL也有主从切换,而且PostgreSQL的主从切换,以及再次切换,我就没失手过。这么多原生自带的功能不香吗?都能在数据库层面保证最大限度的不丢数据,切换甚至无需切换就能保证业务连续性,我实在想不到为什么要漂移。

   我们应该多花时间在各种数据库的高可用和业务连续性上,用非数据库手段的去解决数据库稳定性,不是最优解。有的时候一个数据快问题,就能让数据库出现难以预期的连锁反应。当今的硬件已经不容易坏了,如果还是担心就买好的硬件。如果天生就是不信任硬件,那么请相信懂数据库的人。



文章转载自四海内皆兄弟,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论