临时工说:数据库技术与人性没有高低之分,只有角度不同
  f2yxIoEbcFPx 2023年12月11日 33 0


临时工说:数据库技术与人性没有高低之分,只有角度不同_解决方案


写这篇帖子的原因是最近发了一篇与polardb 和 mysql 有关的帖子,有人私信问我一些问题,同时群里也有人在问技术的问题时,我提了一嘴,有的时候一些问题并不是技术来决定,而是人性来决定,有人希望我来说说为什么产生这样的想法。

所以开贴来说说,基于工作中仅仅设计数据库的部分,所以只提数据库技术和人性之间在工作的平衡的问题。首先技术的定义是什么?技术:指对于人类产生的知识系统进行组织并加以利用,解决人类遇到的实际问题的方案方法,并且技术是带有自身原理和实现方法的一种知识和操作的组织形式,简单的说技术就是处理事务的方法和手段。

人性:是一个不确定的存在,无关善恶,收到外部的刺激后,产生的一连串人类习惯的处理事务的方式,我们简单表达为本性(人类)。

实际上人性如同一个人,而技术像一部机器,怎么使用都是依靠人性来决定,产生任何结果与技术本身无关。

我们简单的举一个例子,我们在使用数据库,如MySQL,MongoDB这类的数据库产品,我们在LINUX 操作系统的SWAP 这个部分,会有两种方法进行处理

1 关闭 SWAP

2 打开 SWAP

针对不同的选择,你会产生不同的结果
1 关闭 SWAP  , 在你不对LINUX 系统在做其他的设置的情况下,如果MySQL MongoDB 本身在使用内存超过系统能给的内存使用的限度,那么就会产生一个我们都知晓的问题 OOM ,也就是数据库系统会由于内存过度,而被操作系统判定为危险的应用,系统会将这个数据库的主进程进行kill 进程的处理。

2 不关闭SWAP ,在同样的情况下,操作系统会开始使用磁盘来模拟内存,在这样的情况下,数据库一般不会被系统KILL 但是基于用磁盘来模拟内存的行为,在部分情况下,数据库的运行会极度的缓慢,并且在大部分情况下,无法应对实际的数据库的正常使用。

技术给你的一个 YES OR NO ,也就是数据库是SWAP 是开,还是关?

此时根据人性,我们看看有没有可能有不同

1 你是数据库工作者A,你选择了 2 不关闭SWAP,而你处于的单位是一个你没有什么话语权,同时领导也不太懂技术,此时由于应用设计的问题,导致大量的连接出现,消耗内存异常,而系统开始使用SWAP 来模拟内存,导致系统运行缓慢影响了业务,而你的领导劈头盖脸就是一顿对你的输出,而开发者也顺水推舟,将责任推到你身上。最终形成一个一致性的意见,你数据库管理不行,为什么操作系统就把数据库给KILL了,你怎么评估的内存,你怎么监管的,你根本就没有好好管理,使用SWAP 应该报警呀,等等一些列的你认为的“不公平”。

2 你是数据库工作者B, 你算在了1 关闭SWAP , 而同样你所在的单位也是你没有什么话语权,同样领导也不太懂技术,此时由于应用设计的问题,同样消耗内存过多,导致操作系统将数据库KILL了,而此时由于问题的严重性过高,因为数据库被KILL了,你的领导要你写一个事故的报告,你从错误日志,从操作系统的信息,将缘由都正规的描述了一遍,里面没有一句情绪的词语,全篇都是基于当时连接突然升高,数据库无法承受此前评估时应用系统不应该遇到的情况,而导致的数据库被KILL 的正常现象。当然B 的结果也不见得好,但基于人性会有不同。

1  由于A 开启了SWAP ,所以业务虽然影响了但影响的面积没有那么的大,所以领导并未重视,后续A 还在持续的和 SWAP 开启后,开发的不负责开发的烂系统做着顽强的斗争,和任劳任怨的各种补救,可问题还是时长发生,在领导的心中,A 就是系统不稳定的根源,可能最后基于某些原因,A 被fire或者公司以A 技术不行,又找了 B 来接替他。

2  由于B 关闭了 SWAP, 业务受到重创,影响的时间很长,领导非常重视,基于DBA 和开发各说各话,最终领导请来专家来对系统进行会诊,最终B 的意见和报告得到了认可,开发被责成对系统进行BUG FIX ,并且以后再发生类似的问题,领导开始想的是,开发的系统有问题,开发有问题,而不会在去针对B 数据库管理员了。

写到这里,在POLARDB 占领高低,MYSQL 退出的那篇帖子里面的一些人性的原因我不想过多解释,当然技术首先得好,人性也得把握,基于每个人站的角度不同,有些人就是底下干活的,他的脑子里面都是技术,没有人性,所以给出的答案都是,绝对的,唯一的,一定的,就是这样等等,俗称小白(社会的小白)。

而在一定的高度后,考虑问题的方法和角度会不同,比如不能光想技术的解决方案,还的想这个技术的解决方案上线后,会对你的团队造成什么影响,可能这个技术上了,怨声载道,团队分崩离析,或者这个技术上了,当前的问题都能得到解决,从成本,从运维和开发的矛盾,从人员的不足,从未来一段时间的发展,种种利弊后的选择,选择都是无奈的,毕竟你在那个地方,吃哪里的饭,你就得站在你所涉及的利益群体去思考问题,如果光从技术来讨论问题,黑白的世界,你非要分个对错,说明社会给你的锤击还不够。

说到这里,PolarDB 替换 MySQL 在不少企业中面临的一些上面的人性的问题,(基于敏感性不能再往深探讨),是一个当下我们认为最好得解决方案,两害取其轻,活在当下,当下的问题还没解决,长远的问题也得等到人们有信心觉得自己能到那个长远在去考虑。

生活教会我们一些处理事情的方法,若你能从人性的角度去灵活的选择你应该使用的技术方法方式,那么你离自我的救赎又近了一步。

临时工说:数据库技术与人性没有高低之分,只有角度不同_数据库_02

临时工说:数据库技术与人性没有高低之分,只有角度不同_MySQL_03

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年12月11日 0

暂无评论

推荐阅读
f2yxIoEbcFPx