作者:胖头鱼的鱼缸(尹海文) Oracle ACE Pro: Database PostgreSQL ACE Partner 10年数据库行业经验 拥有OCM 11g/12c/19c、MySQL 8.0 OCP、Exadata、CDP等认证 墨天轮MVP,ITPUB认证专家,数盟会长老会成员,OCM讲师 PolarDB开源社区、青学会MOP社区技术顾问 HaloDB外聘技术顾问 OceanBase观察团成员 IF社区联合发起人 圈内拥有“总监”称号,非著 名社恐(社交恐怖分子) 公众号:胖头鱼的鱼缸 CSDN:胖头鱼的鱼缸(尹海文) 墨天轮:胖头鱼的鱼缸 ITPUB:yhw1809。 除授权转载并标明出处外,均为“非法”抄袭
最近又接触到了一些和数据库相关的一些事情,感触良多,忍不住吐槽,默认都和本人实际工作没有关系,请身边人仔细鉴别。
一个朋友跟我说,他的客户是如是说的(经过加工和总结):
数据库都一样的嘛,买来安装上数据弄过去就可以换了,很简单嘛
今天恰巧我的一个客户跟我聊天时候说到“当年从HP小机11g迁移升级到Exadata X8的19c上我们都搞了大半年才弄顺畅,相同产品的不同版本尚且如此,换数据库的难度可想而知”(如果大家有兴趣可以去翻翻我古早的文章)。当初我这里算是最早吃螃蟹的(上19c),众所周知,Oracle 19c初期版本BUG多的出奇,而我又踩了很多BUG,其实如果我缓缓上19c可能真还没那么多问题。
其实我还想补充一点,那次迁移并没有遇到换数据库最大的问题:应用改造,这里我重新总结(科普)一下,为什么即便是兼容性高的发指的数据库,都需要耗费较多的成本进行应用改造:
这也是一个朋友跟我说的(经过加工和总结):
多整点服务器,扩充集群节点数量性能就一定好
还是总结(科普)一下:
当然还有一个和节点相关的论调:
集群就该奇数节点,偶数节点都是有问题的
集群偶数节点最容易出现的问题就是脑裂,比如四个节点1、2节点和3、4节点相互中断但1、2节点间和3、4节点间又能通信,全局投票就会出现2:2的现象,谁也不服谁,都觉得自己该存活,因此会造成全局不一致。这也是一些数据库的建议中使用奇数节点的原因之一。
当然数据库集群架构已经发展了这么多年了,可在偶数节点上解决这一问题当方案简直多了去了:
当然上面几种方案组合使用效果更加,但是对于集群自身管理而言也是一种挑战。
还是朋友跟我说的(经过加工和总结):
SQL运行时间长的就一定有问题
等等,这是不考虑数据量、SQL复杂度、业务场景要求等一系列因素啦。数据量越大需要的数据IO越多,耗时自然会更多;SQL越复杂需要关联处理的数据越多,时间越长也是情理之中;如果是OLAP的业务,那么大多数时效性要求也没那么高…
但是不得不说,如果本着精益求精的态度去优化这些语句,节省的可不只是时间,还有相应的各类资源损耗。
2024年最后一次集中吐槽了,希望大家喜欢。
老规矩,不知道写了些啥。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31466763/viewspace-3060518/ ,如需转载,请注明出处,否则将追究法律责任。