最近去电影院看了一场,我男神的电影,F1 The Moive,中文F1 狂飙飞车。除了主题曲让我记忆深刻,英国现代摇滚Super Star的 Drive,听完了都让你浑身充满了荷尔蒙的力量,在就是电影里面重量级的那句话,我记得非常深刻。这段话十分的不友好,意思就是你牛什么牛,你没戏!! 然后布拉德.皮特回了一句,开快点。
"Anything else, Professor?"
"Drive fast."
Drive Faster
其实DBA的工作不也是如此,每天在不同的人口中,你们要没戏了,你们就是一群老棒子,你们脑子里面就那点东西,你们就应该被淘汰。
如果有人这么和我说话。
“你对DBA淘汰有什么看法?”
“淘汰我的时候,你坟上草都够养10头牛了, So what”
送上我男神的 Drive Fast
是的,话好说,事不好做,说狠话谁不会,做狠事可不是人人都行。按照毛爷爷的话,敢革自己命的,都不好惹。人的思维转变最难,还是那句话你看一个人先进不先进,你就对比他多年的言行和这个社会跟不跟趟就行了,世界在变,一个人的行为和言论不变化,永远那一套...... So
下面我通过几个问题来说明,怎么变化
1 数据库的量一直在增加
是的遥想我当时到单位,那时的库的数量不会超过80个,应该是69个如果我记得没错,当时是3个人。后面单位急速发展,那时的经济好,最多的时候我们7个人,并且还有计划在招人。
大部分人的脑子里面一个人管理的数据库数量是有限的,以前一个单位中国消金NO.1用ORACLE ,SQL SERVER 能有几个库,现在库多,到现在我们差不多要奔着500个实例了,人还少了2个,经济不好,人少事多,难道我们要坐以待毙。
NO NO NO 这不是我的风格,我们绝对不能等死,必须要Drive Faster, 邪修的快乐那些人永远不会懂,什么是邪修看看F1大电影里面的,Sonny,就知道什么是邪的要命,但你又没辙。
1 必须换数据库,那些大家用烂的,毛病一堆的,改不了的数据库必须下架,否则库越多我们后面的越难,越无法承载。所以我们开启了两个步骤。
1.1 分析业务,用对的数据库解决该解决问题,而不是就会那一个数据库,启用MongoDB把那些量大,大报文,数据要进行读写分离,快速写入,软件接口对接,应用日志的都承接了,在把expired data 的ttl index打开。日志归档,不存在,直接就过期自己删除了。
1.2 找准业务需求,那些需要在业务库进行数据分析的,吐槽MYSQL垃圾的业务部分,那些读写分离数据一致性解决不了的,希望降低成本的,把需求总结,找到当下可以解决这个问题的最优选的数据库产品。
替换数据库是困难的,一个是我们自己要掌握新的数据库产品的使用方法和打开方式,另一个是开发从来不会因为你换数据库,而要改变自己对数据库的用法,换数据库一定是天时地利人和的齐全,才能换的动。
抓住两点: 1 数据库的稳定性 2 成本
当时我记得没错,业务繁忙如果要扩展一个读库,MYSQL的等很长时间根据库大小不同,业务根本没有办法忍受,所以就一直挂着一个平时不用,一个月用不了几天的只读库,成本高。(业务一群MySQL,.挂着十几个读库,平时不用就等着关键的时候用那一下子吗?)
POLARDB for MySQL的介入,让成本和稳定性的问题都解决了,POLARDB扩充节点是不论数据库大小的,7分钟之内一定给你一个从库。业务发现钱省了,比以前还稳定了,且通过压测比原来同配置的性能还高,说换就换了,从此就一发不可收拾,到目前已经没有太多MySQL的存在了,架构和开发已经完全认同这个数据库产品,不让用还要和你打架,必须PolarDB.
更换数据库产品让我们得到了领导的重视,得到了开发的尊重,得到了我们在公司很重要的认知,因为我们抓住了两个关键的问题,成本与稳定,你不变滚的就是你。
2 复杂的事情变简单,模块化,程序化
这点也是我们在工作中总结的,PostgreSQL 库多人少,大库太多了经常业务繁忙期autovacuum,开发和业务直接就说PG 不稳定,要换了这个库,不过换也没有那么容易,为此我们开发了VACUUM 平台,智能解决了大表没有及时做autovacuum的问题,也自动分析表,每天在这个平台上有几十万张表在跑,系统分析决定在什么时间进行vacuum.上了系统1年多,死元组回收及时了,白天数据库根本不触发autovacuum了,磁盘扩充的速度也降低了。
除此以外,库的数量越来越多,用户密码的管理也都是问题,我们需要有一个完善的数据库管理系统,包含用户密码,链接的管理,以及数据库巡检等等,所以我们又开发了一套数据库管理系统,巡检数据库从之前几百个库巡检的几天,变成3秒。
只需要使用系统进行自动化的巡检,我们就能得到所有数据库的数据,然后进行快速的分析即可。
数据归档也是,开发数据库自动化归档系统,通过固化归档程序,来进行自动化,半自动化的数据归档。
3 紧跟时代,好的新技术不会放过,我们要生存
人无法进步最大的问题是,人活在过去的世界和荣誉里面,这是人性。谁也不愿意从已经达到的高峰,转头再去做自己陌生的事情,否则美国为什么不放过中国,因为老大当久了,无法容忍老二的存在,这也是为什么经常有老技术和新技术打架的事情,这还是人性使然。
但在要生存的面前,人性又是另一面,因为你不进步,你的领导就会找其他人,来进步。所以有一个时刻鞭策自己的领导,也是好事,强制你进步,否则一个技术用一辈子的事情会在单位里面滋生。
我算了算,我技术进步并不是平滑的曲线,而是一个非常抖的向上的折线。存算分离,弹性的使用,读写全局一致,行列同库 HTAP,Hybrid search,等等这都是我最近几年掌握的技术,从以前开发问,这个你们能不能支持,那个你们能不能支持,到现在我们去告诉他们,这个我们可以了,那个我们也可以了,你们行不行这个问题我们能解决。
从人家催,到我们催别人,这是一个自我革命的最好展示。
4 现在到未来
目前还不想退休,觉得干的还挺有意思。后面我们还有很多可以做的,比如SQL优化直接AI化,这个已经提上日程,99%的SQL我们将自动AI去优化,自助SQL优化服务管理。
数据归档本地化,任意时间可读写归档数据,测算PostgreSQL 更换后,成本降低30%-40%,等等这些工作还在等着我们,我们可以服务需求,我们可以引导需求,我们可以拥有未来,So anything else DBA AT?
Drive fast !!
本文分享自 AustinDatabases 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!