假如数据库只有一次生命

2023-05-25 00:00:00 数据库 专区 备份 抢救 为有

    上周去医院经过抢救室看到一幕幕惨烈的场景,有没有抢救过来嚎啕大哭的,哭的我是路过的都心碎了。也有幸运的,在打了几针肾上腺以及电击以后抢救过来的。然后前天还看到墨天轮另外一篇文章《一场数据库的葬礼》。这么巧都说到一起去了。这个话题非常悲痛和沉重。

    工作这么多年有除了自己练习时候恶意破坏的数据库实在起不来了,正式环境中几乎没有遇到过数据库起不来的现象。对于实在抢救不回来的数据库只能说我自己技不如人了。我见过不少ACED的前辈们,数据库起不来了也能抢救数据的,这个我不行。所以我还要继续修行。

    数据库能重启是正常的,但是如果数据库实在起不来,说明这个数据库的生命到头了。一般来说会有高可用、备份等。这些也是应该的。不过我这里说一个我个人极端的观点,那就是正因为有了这些可能大家就不那么在意数据库,也没有那么敬畏了。想想是不是这样?

     出了问题,切换。时至今日,我身边不少朋友和同事,在遇到数据库出现性能问题时候,他们想到的件事不是干预,甚至重启都跳过了,而是想切换。对于不要求一致性的场景是可以这样,但是对于有一致性要求的场景通常不能这样做。在这个话题上,你很难对于一个非数据库技术栈出身的其他人讲明白。

    还有切换要是不行了,有备份。的确备份是让你的系统损失降到低,这里低不是理解的1%,10%也是有可能的。取决于上次可以恢复的备份是什么时候的。这期间的丢失如何处理。(不要提归档,因为以上那种情况除了,不一定还能找得到归档了,找到了也不一定连续。屋漏偏逢连夜雨也是常见的),所以我还是挺喜欢备份一体机的,当然喜欢归喜欢,还是要说明因为有这些很多人还是不慌的。

    如果以上都没有会怎么样?我在公安系统工作了将近12年,就这么说吧。以上都没有。这并不全是我艺高人胆大。要是有这个本事,我可能比现在早10年成为ACE。

    之所以12年中没有高可用,没有备份是有原因的。早年Oracle8 9的时候他没有高可用啊。直到11G的时候才好用。那么有人问备份呢?我的系统小的也是单表几十TB,大的将近100TB。怎么做备份啊?一次全量要多久?即使有备份,真的指望这个100TB的去恢复吗?

     所以这十几年还走过来主要是几个方面:

    1。数据库给力。Oracle即使断电也没让人失望。

    2。我会给与数据库合理的硬件配置,独享阵列、RAID、一个系统至高无上的地位。

    3。重要的是以前我们的设计和开发都围绕着数据库展开,大部分代码合格,基本不出现性能问题。说到底重视,敬畏。认为只有一次生命。

    正因为有了以上,所以数据库稳定。公安厅、局、分居也去过200多个,北葫芦岛、南海口、西乌鲁木齐、东舟山。 没什么大问题。

    今天说了这么多,意思是:有时候当做什么都没有吧。这时候才重视,就像生命无法复活一样。魂斗罗30条命和3条命玩起来不是一个感觉,如果无限命,那的确会瞎玩。

相关文章