开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis ,Oracle ,OceanBase等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请加 liuaustin3微信号 ,在新加的朋友会分到3群(共1180人左右 1 + 2 + 3)
最近整体的风向都朝着不好的方向在走,或许到底了就好了,根据一些专家和经济学家判断,我们还能坏到哪里去。当然今天说的不是经济,而是DBA 到底应不应该当背锅侠,或者谁是DBA 当背锅侠的幕后黑手。
最近有几个同学和我私下诉说最近的工作一些不顺心,大部分可以总结出几点:
1 工作中的数据库使用的太单一,导致技术能力提升慢,尤其金融领域中部分抑郁的DBA
2 工作中遇到口谕就是圣旨的领导,工作根本没法开展,天天郁闷之极的DBA
3 工作中因为整体的项目架构设计有重大的问题,最终由数据库DBA买单的正在掉头发的DBA
4 工作流程有问题,导致DBA 的工作过程不畅,导致的各种沟通成本太高的问题,导致DBA 有苦说不出,苦瓜脸DBA
最终总结出来一句话,不懂装懂的人,害死个人呀
下面我们就用传统相声八扇屏来说说, 想当初
我说说你听听,在想当初 !
话说在一个大型项目初始的时候,有一群“专家” ,这群专家985 211,海龟名牌大学毕业,硕士博士,一大堆,在这个举世瞩目的项目中,架构师,高级开发,项目经理,一大堆,准备把这个大型的项目做成,璀璨的明珠,我们大家成为 “铭猪项目”。
可惜了,可惜了,项目里面既没有读写分离,也没有分库分表,并且专家们一致要求,开发中表设计必须有
1 外键,必须有外键,否则如何通过程序来标定,表和表之间的关系,约束数据,保证两个表之间数据的关系
2 必须大量使用存储过程,通过存储过程来削减,程序和数据库之间的交互,提高整体应用的系统的效率
3 项目必须使用三范式,严格要求表中不会有重复的字段,通过严格遵守三范式保证数据库表设计的正确性
4 DBA 负责数据库的,运行维护的稳定性,正确性,出现数据库问题,都是DBA 的责任
这个大项目的一些海内外专家,项目管理专家一致的意见下,项目在1.5亿的资金的支持下,轰隆隆的开工了。
此间不识抬举的 DBA 小喽啰们,提出了各种建议,如这个项目并发高,要不要使用物理分库的方式,同时基于数据经常频繁更改,项目里面也没有设计 REDIS 等缓存式数据库,全部用传统的单体数据库来进行支撑,后期可能会陷入垂直硬件升级的陷阱,同时存储过程将限制整体项目的扩展性和灵活性,以及项目的在高并发 ,高访问量下使用存储过程的不可控的问题,可能会导致性能瓶颈出现在数据库层面,导致整体系统CRASH 的可能性增加的问题。
当然在基于整体项目的由麻瓜省理工海龟博士作为系统架构师总负责项目和有着多年的大型国有项目管理经验的项目管理的专家的把持下,DBA 的言语,轻如鸿毛,在大师的眼里,DBA 就是一个打杂的,背锅都不配的小卡里米。
轰轰烈烈的项目启动后,伴随着找来的开发小哥哥在百度上不断的搜寻和粘贴代码的速成法下,项目进展顺利,此时只有 DBA 在项目里面是一个奇葩,天天担心,杞人忧天。最终项目上线顺利,架构师,项目管理,开发小哥哥,都得到大大的赞赏,并和领导表示,我们设计的系统万无一失,后面就看运维和 DBA 的工作情况了,希望这些人,能好好守护好,24K 纯金打造的 伟岸系统。
系统上线前,DBA 就之初一些问题,如这个系统日志系统使用了 BLOB数据类型,并且每天产生的系统日志都存在业务数据库里面,传统数据库作为唯一的项目的数据库,为什么就不能与时俱进,用mongodb 来进行存储和解耦, 得到的答复是,你算什么东西,你在教我架构做事咯 !
同时在系统运行一段时间,经常有因为前端数据控制输入不规范,导致频繁数据库对于数据进行,主键冲突,键值冲突,唯一索引冲突,check 值冲突,以及主外键约束级联等方面的工作,导致数据库只要并发一大,就出现性能问题,而架构师和项目管理者,不以为然,提出这就是硬件的问题,提高硬件 内存到2个T ,CPU 加到200核的,问题就解决了,这不是系统设计的问题,这是我们业务访问量大的问题,仔细一问,每天并发访问不足50.
最后,没有办法,领导只能责问 DBA ,你们怎么干的活,人家架构,开发和项目经理都投诉你们
1 OXXX数据库没有维护好,为什么每天业务数据量才 1G ,日志就100G,让系统运行的性能都耗费在日志的插入上,你们要优化,你们必须整改
2 项目工作中,表设计索引为什么不早添加,当然SQL语句没有给你们,表设计逻辑说明文档也没有给你们,你们怎么就这么没有主动性吗,非要人家都给你这些 你们才能干活 ,不会猜吗 ?
3 系统备份要恢复几条数据,让你们用全备50多个T 的备份恢复,找这几条日志数据,有那么难吗,为什么推脱,虽然1.5亿的项目,但是我们都花在了研发上,硬件是差了点,磁盘是不够,但是你们不能拿出主人翁的精神,不要和我说,巧妇难为无米之炊,你们是DBA 不是巧妇,天天给我在这里大嘴仗,不会恢复一点,看看有没有,删除在恢复一点,在看看吗 ?有那么难吗?
你们要学会沟通,学会检讨,学会反思,提高服务意识,提高技术水平,我作为这个项目的领导对你们很不满意。
————————————————————————————
这就是 上亿大项目,伟岸大领导,智多洋架构,苗正深项目,只可惜了君子DBA,人称 一个小孩子。