数据库管理-第三十五期 数据库的成本(20220910)

数据库管理 2022-09-10

  • 第三十五期 数据库的成本
    • 1 硬件成本
    • 2 操作系统成本
    • 3 数据库成本
    • 4 使用成本
      • 4.1 DBA
      • 4.2 开发
      • 4.3 协调
      • 4.4 需求
      • 4.5 更换
    • 总结

第三十五期 数据库的成本

到今天已经因为疫情被关了8天了,连轴做了8次核酸了,其实下笔写这篇的时候,我都还不晓得写一些啥,想了想还是鬼扯一下数据库相关的成本问题吧。本期属于扯淡!

1 硬件成本

数据库要运行在服务器上,需要网络来让数据库可以被访问,在很多情况还需要存储设备来存放数据,那么服务器、网络设备、存储设备等硬件设备就是基础成本。当然有人肯定会说上云就不需要硬件,但其实上云,只是云厂商出了硬件,提供云化数据库(或者虚拟机)服务。只是把本来自己采购硬件的钱给了云厂商,同时可以省去一些硬件维护的麻烦。

2 操作系统成本

数据库作为一套软件是需要运行在操作系统上的(云上其实对等的就是云基础架构),虽然很多操作系统使用是免费的,但是在需要服务的还是需要付费的(云上的各类服务本来就是交了钱的)。

3 数据库成本

首先商业数据库是要买license的,开源数据库理论上是不需要给钱的,但是和操作系统一样,服务是需要付费的,同时根据数据库的开源协议,还需要注意在使用过程中是否触发一些其他“付费选项”。当然不管是商业还是开源,云上的数据库是都要付费的。

4 使用成本

前三项成本也许算是可控的,但是使用成本就不好说了。

4.1 DBA

其实很多公司没有DBA,甚至没有运维,所有运维类操作都是由开发兼任的,这就造成了一个问题,就跟前面某期说过的一样,数据库部署、使用可能有很多问题。我曾经也帮忙抢险过不少数据库,其实就是因为没人维护造成的。
再举个例子,以前帮人看一套数据库的问题,用的虚拟机,平时很久才备份一次数据,平时都是虚拟机做快照,客户信誓旦旦的说,快照没问题。在一次虚拟机异常挂掉重启后,数据库起不起来,他们二话不说就恢复快照了,结果数据库还是起不起来。为啥?其实数据库在某个时间点上所有文件不一定是一致的。这个客户就认为数据库在任何时间点都是一致的。
养一个合格的DBA,是不便宜的,而且不好找。

4.2 开发

还是几个例子,一个写错的SQL造成笛卡尔积撑爆了HANA的内存,数据库挂了;前面说过的“壮汉挤门”和各种逻辑设计问题。其实在DBA群里经常就在说,其实很多数据库的性能差都是因为开发水平不佳,烂SQL、烂设计造成的。其实和DBA一样,一个合格的开发也要对数据库有充分的了解,熟悉每一种数据库的特性,才能做好数据库设计,写好SQL。
然而现在的大环境是很多开发是快餐出来的,还有各种各样的框架帮忙“写”SQL,而且很多开发打心眼里瞧不起运维、DBA,以前我就遇到过提反馈建议被开发怼,还好对方领导和甲方爸爸站在我这边。

4.3 协调

其实,开发和DBA是应该一起参与系统建设的,但是因为种种原因,DBA很难参与的到,这个时候,其实一个合格的协调人员(往往是领导)就非常重要了,需要去协调二者共同工作,同时调和二者矛盾。

4.4 需求

其实,从需求出发解决问题是个正确的道路。但是需求本身是否合理,很多时候反而没有太去重视。其实很多时候听产品抱怨,一个需求提出来了,100%照做了,完了提需求的说和他想的不一样;因为以前的产品不好用,提需求想把操作改简单,改完了提需求的说,你改了以后我不习惯,还是改回去吧;一个“天马行空”的需求,设计出来以后,完全没人用(其实这个是最多的);当然还有很多。数据作为基础,几乎所有的需求都会涉及到数据库。
一个前辈跟我说过,如何看待一个需求是否合理,就是好好评估需求的产出是否成本投入是否匹配,如果不匹配,投入远大于产出,那么这就是个不合理的需求。然而,需求往往都是拍脑袋决定的。

4.5 更换

最近一年,帮甲方爸爸评估了很多国产数据库,其实就牵扯到一点,换数据库。回到根本,每种数据库的特性都是有区别的,换数据库是需要变更很多东西的,尤其是集中式向分布式,几乎要把整个数据设计颠覆掉,向上几乎要动掉绝大多数代码。这里就不细讲了,我还是希望后面哪一期专门讲一讲一个简单需求在集中式和分布式上的区别。
所以说当你听说换一种数据库几乎不用动代码、动设计的时候,请记住,除非是数据库来匹配你的需求,否则几乎不可能。

总结

还是不晓得写了些啥!

你可能感兴趣的:(Oracle,数据库,oracle)