关闭数据库,呵呵,看上去没有什么可以说的,或者说没有什么技术含量,属于只要脖子上有一双带眼睛的脑袋就可以进行操作. 事实是这样的吗? 关闭数据库看似简单的事情也能给评出个 3 6 9 等的LEVEL.
什么LEVEL 从关闭数据库中体现你对整体数据库系统操作和认知的LEVEL
到底有没有这么复杂,我们来看一看.
1 关闭数据库前第一级LEVEL ,首先你要知道你的数据库是什么架构,这里的架构指的是你的数据库的高可用以及复制的架构. 你的数据库无论是 ORACLE , SQL SERVER, PG, MYSQL, MONGODB , REDIS, 他们都有不同的架构, RAC ,DG, AWO , REPMGR, PATRONI, SQL SERVER CLUSTER, MYSQL INNODB CLUSTER, MGR ,MHA ,Sentinel, REDIS , MONGO REPLICATION ,MONGODB SHARDING ,你看我不费劲就能说出这么多架构, 那你的数据库到底是那种架构,上面还有中间件的,那话题就更多了. 所以不清楚你的数据库在使用了那种高可用架构, 中间件, 以及中间件的原理的情况下,关闭数据库和自杀没有什么区别, 连 LEVEL 1 这一级都过不了关.
2 关闭数据库前第二级LEVEL 2,数据库的简单原理,为什么关闭数据库的时候,使用了关闭命令他就是不关闭,在哪里慢慢悠悠的,就是和你作对, 你一生气,直接关机,心想行了把, 在开启后发现数据库启动不了,或者数据库失联了,所以懂得一些基本的数据库原理是你过第二关的基本选择项. 比如什么是事务, 什么是 REDO 什么是 UNDO 什么是ACID ,什么是回滚, 这些不理解的情况下,把数据库当做静态的非数据库产品, 或者数据库关闭的命令给你提供好几种,到底你要用那种,这些都不知道的情况下 LEVEL 2 FAILED
3 关闭数据库前,第三级LEVEL 3, 你对你数据库上承载的业务属性以及数据库在此业务中的地位,是否了解, 如果你简单的说一句,嗯关闭了业务就无法进行了,那就还达不到这个LEVEL 的级别, 首先你的知道你整体项目中的数据流在你数据库的体现, 例如程序在接到数据后是直接写入REDIS 然后在处理后,放入你的MYSQL 还是,数据先进入你的MYSQL ,在提取出来到 REDIS 进行数据处理,这是不同的,那个先应该被关闭,那个必须在那个数据库关闭后,在关闭,这些都是和业务逻辑在整体架构中的实现所决定的,所以关闭一个数据库这些不清楚 LEVEL 3 LOST.
4 关闭数据库的第四级 ,LEVEL 4 ,就是在业务层来看你的数据库的关闭对整体公司的业务的影响,是白天就可以做,还是必须要晚上做,是需要通知业务部门还是自己就能决定了, 还是我们要进行7*24 利用某项技术,让数据库灰度的进行看似不停机的维护和关闭STEP BY STEP,此乃关闭数据库的第四级.
说到这里,你还觉得关闭数据库是一件很容易的事情吗? 老司机最讨厌听到的就是数据库要关闭,因为他具有这很多的不可能, 和可能,具体是什么, 你踩过几次坑,受到几次教育,就知道关闭数据库并没有那么简单.
本文分享自微信公众号 - AustinDatabases(AustinDatabases)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。