您当前的位置:首页 > 电脑百科 > 数据库 > 百科

我们一起聊聊DBA的自我修养

时间:2023-03-07 13:55:46  来源:微信公众号  作者:匠心独运维妙维效

01引言

数据库管理员(DBA)承担着保障生产数据库稳定运行的职责,在完成生产变更、事件处置等工作的同时,还应该在哪些方面持续提升自身能力呢?本文从银行DBA的视角,谈一谈“DBA的自我修养”。

02看山是山

 

 

看山是山,就是干一行研究一行。DBA每天在做什么?以G行的经验,大概有五个方面的工作:日常维护、环境搭建、升级迁移、开发支持、故障处置。既然做DBA,就得研究怎么把这些工作做好。

 

日常巡检靠人工做,耗时耗力容易遗漏。G行的经验是从标准化到脚本化、再到工具化。巡检做到位,就有了解决潜在的故障和容量风险的提前量,按标准的变更流程和变更工艺执行更加从容,也就不易出错。“备份天天做,恢复一时难”,G行有句话“不以恢复为目的的备份都是耍流氓”,恢复测试是写进G行科技管理制度的强制要求,每年进行检查考核。

环境搭建效率的提升,在G行一样是经历了从标准化到自动化过程。通过软件的Golden Image加上PaaS平台的自动化交付,标准一致,快捷高效。

至于升级迁移,不仅仅是升级操作本身,还有升级前各种测试,选择最佳的升级窗口、千方百计将对业务的影响最小化,升级后组织保障,桩桩件件都得考虑周详。当我们历尽艰辛终于把成百上千的数据库升级最新版本之后,就会惊喜地发现:最早升级的那个数据库又该升级了...好吧,我们的经验有3点:

1、首先选择合适的软件版本,就是所谓的LTS(Long Time Support)版本,不仅仅是数据库软件,还包括中间件、操作系统乃至硬件,最好保持基本一致的生命周期,避免“你方唱罢我登场”。

2、统筹规划,与应用系统的架构改造、功能升级的计划相结合,提升测试效率,避免资源重复投入。

3、针对不同数据量、不同重要程度和不同停机窗口要求的系统,总结对应的升级实施工艺,分类施法,有标准可依。此外,作为“高效能人士”的DBA,在版本升级这件事情上,还是尽早养成“以终为始”的好习惯吧...

支持开发和测试,是G行DBA的日常工作中时间占比最多的部分。高效数据库真的是设计出来的,而80%的数据库性能问题都是SQL问题。G行一方面将SQL编写和数据库设计的最佳实践写入科技开发规范,同时引入了SQL审核工具进行实际检查。这里要特别提到的执行计划和统计信息收集这两个近乎玄学的东西了。G行根据自身实际需求,定制开发了统计信息收集工具,可以根据表的大小、分区与否、业务运行的时间规律以及表内数据变化的特性,分别收集、复制乃至直接设置统计信息,目的就是保持SQL性能的稳定。即便如此,Hint和SQL Profile / Baseline仍然是必不可少(这里必须给O记加个鸡腿,其他兄弟继续努力吧)。

前面说了日常运维、环境搭建、升级迁移、支持开发四个方面的工作,如果这四个方面做好了,数据库的故障自然会少。但不是说故障处置的工作不重要,相比其他方面的技术问题,这里我们更想说的是的DBA在故障处置中行动标准。DBA参与故障处置,无论是不是数据库的问题,首先应该让自己进入战时状态,一切行动听指挥,严格执行指令,主动报告发现;牢记降低业务影响是故障处置第一目标,快速响应,沟通表达清晰简洁,当断则断。

图片

 图1 

 

03看山不是山

DBA往往聚焦具体的某个数据库产品的运维和研究,有时候会把一个产品的概念和特性等同于数据库这个技术门类的概念和特性。其实这也不算大问题,DBA本身就是个具体的工作,必须对一个数据库产品学习透彻,不仅仅是操作,更要深入了解原理。只不过在这个数据库产品百家争鸣的时代,如果我们入戏太深,在接受新产品的时候会有些额外的困扰。

例如,PostgreSQL是典型的学院派,遵循中Database Cluster-Databases-Tables的经典关系数据库概念。如果我们把PostgreSQL里的Database Cluster与Oracle里的Cluster(Real Application Cluster)去对照理解,难免不知所云。即便是最基本的“Database”这个词,不同的数据库产品中定义也不尽相同。MySQL里的Database的范围大致与Oracle/DB2中的Tablespace相当,尽管MySQL自己也有Tablespace这个概念;再有,Oracle的同学往往不怎么区分Schema和User,因为在Oracle里面这两个东西实际使用起来没什么区别。而在DB2、MySQL之类其他数据库中,用于认证和权限管理的User和用来组织对象的Schema之间的区别就大了。

看山不是山,这里讨论的不是哲学里共相与殊相的深奥问题,只是想建议DBA跳出某一个产品的范畴,一专多能。可以尝试一下用下面的结构梳理一下不同的数据产品。

图片

图2 

如果想了解数据库内部的原理,推荐学习这些材料:

1、MySQL:MySQL Internal (dev.mysql.com/doc/internals/en/ ,目前MySQL官网上是8.0版本的源代码指南,实际上5.7版本的Internal手册更加适合DBA)。

2、PostgreSQL:The Internals of PostgreSQL (www.interdb.jp/pg/),作者铃木启修,有中文版。

3、Oracle:Oracle Core Essential Internals for DBA,作者Jonathan Lewis(Oracle领域的大神,出自牛津数学系),有中文版。

04看山还是山

“庐山烟雨浙江潮,未至千般恨不消。到得还来别无事,庐山烟雨浙江潮。”苏东坡说的是人生,技术又何尝不是如此。

KV数据库、文档数据库、图数据库、时序数据库...乱花渐欲迷人眼。我们这里想下一个判断,且看验与不验:未来10年甚至更长,关系数据库仍是不可撼动的主流。原因在于:其他数据库解决的是技术问题,而关系数据库尤其是它背后的关系模型可以定义世界。让我再次致敬伟大的Codd博士吧!

只要是关系数据库,就一定有三个必须的功能组建:SQL解析、事务管理和存储引擎。集中式数据库将三个功能做在一起,而分布式数据库往往将三个功能分散在不同节点来提升扩展性。

看山还是山,希望DBA能够从深入到浅出,从本质上理解数据库,对数据库技术发展的趋势形成自己看法。

05总结

 

如果问到我们的看法,或许可以参考这段对话:

 

问:“他们认为分布式数据库是未来”。

答:“这是对的。”

问:“那我该怎么办?”

答:“要多想。”

问:“想了以后呢?”

答:“我只能告诉你,那以前要多想。”



Tags:DBA   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,不构成投资建议。投资者据此操作,风险自担。如有任何标注错误或版权侵犯请与我们联系,我们将及时更正、删除。
▌相关推荐
DBA视角:把数据库放入Docker是一个馊主意
对于无状态的应用服务而言,容器是一个相当完美的开发运维解决方案。然而对于带持久状态的服务 —— 数据库来说,事情就没有那么简单了。生产环境的数据库是否应当放...【详细内容】
2023-12-18  Search: DBA  点击:(200)  评论:(0)  加入收藏
谁是DBA背锅侠的幕后黑手?说说那些不懂装懂的人
最近整体的风向都朝着不好的方向在走,或许到底了就好了,根据一些专家和经济学家判断,我们还能坏到哪里去。当然今天说的不是经济,而是DBA到底应不应该当背锅侠,或者谁是DBA当背锅...【详细内容】
2023-11-16  Search: DBA  点击:(207)  评论:(0)  加入收藏
DBA致命的低级工作?超大型系统数据库版本质量控制
宇文湛泉,现任金融行业核心业务系统DBA,主要涉及Oracle、DB2、Cassandra、MySQL、GoldenDB、TiDB等数据库开发工作。这似乎是DBA工作中最为无聊、繁琐以及最没有技术含量的事...【详细内容】
2023-08-17  Search: DBA  点击:(320)  评论:(0)  加入收藏
一个Oracle DBA的角度来看PostgreSQL的运维与优化
PG数据库目前已经成为最热门的开源数据库之一,特别是因为其开源协议十分适合商业化,因此大量的商用数据库,包括大量的国产数据库也都基于PG的开源代码进行研发。作为一个曾经的...【详细内容】
2023-05-06  Search: DBA  点击:(328)  评论:(0)  加入收藏
我们一起聊聊DBA的自我修养
01引言数据库管理员(DBA)承担着保障生产数据库稳定运行的职责,在完成生产变更、事件处置等工作的同时,还应该在哪些方面持续提升自身能力呢?本文从银行DBA的视角,谈一谈“DBA的...【详细内容】
2023-03-07  Search: DBA  点击:(153)  评论:(0)  加入收藏
Feedback与 Review有何区别,外贸人一定要清楚
做外贸行业的也许对于feedback和review都有所了解,或者是经常地去使用,但是具体到他们到底有着什么样的区别,却有难以说出个所以然。当我们在选择一个平台作为推广渠道之一的时...【详细内容】
2022-11-03  Search: DBA  点击:(395)  评论:(0)  加入收藏
DBA的一天是怎样的?运维工程师告诉你答案
小 T 导读:作为薪水较为可观的 IT 职业之一,DBA 貌似是一个门槛低、活还少的技术岗位,只要接受过相应的系统性训练,应该就可以成功入门。但想要真正胜任这个岗位,实际却并不容易...【详细内容】
2022-08-09  Search: DBA  点击:(282)  评论:(0)  加入收藏
最新DBA薪资一览报告:你的薪资达标了吗?
近日,2021年平均工资公布,IT业平均工资最高,非私营单位年薪超20万元。此消息一发布,迅速引起热议。作为IT行业中的DBA,薪资情况如何呢?最近俄乌冲突,数据库热度持续攀升,DBA的薪资是...【详细内容】
2022-05-26  Search: DBA  点击:(251)  评论:(0)  加入收藏
2022年,你给家里的电视配上Soundbar了吗?
一直以来,Soundbar都在国外大火,国内却鲜有人知,很少有家庭会把为电视配备Soundbar作为一定要进行的步骤。但近几年,形势已经发生变化,为家庭电视配备Soundbar在国内渐渐流行起来...【详细内容】
2022-03-10  Search: DBA  点击:(226)  评论:(0)  加入收藏
大规模多存储场景的数据库选型与服务平台建设(对DBA、开发、测试、产品同时友好)
肖博 vivo数据库架构师 担任vivo通用存储研发团队负责任人,负责vivo通用存储产品和服务平台研发工作。 曾就职于百度数据库团队,负责 MySQL、Redis等方向的运维研发。大家...【详细内容】
2020-07-16  Search: DBA  点击:(275)  评论:(0)  加入收藏
▌简易百科推荐
向量数据库落地实践
本文基于京东内部向量数据库vearch进行实践。Vearch 是对大规模深度学习向量进行高性能相似搜索的弹性分布式系统。详见: https://github.com/vearch/zh_docs/blob/v3.3.X/do...【详细内容】
2024-04-03  京东云开发者    Tags:向量数据库   点击:(5)  评论:(0)  加入收藏
原来 SQL 函数是可以内联的!
介绍在某些情况下,SQL 函数(即指定LANGUAGE SQL)会将其函数体内联到调用它的查询中,而不是直接调用。这可以带来显著的性能提升,因为函数体可以暴露给调用查询的规划器,从而规划器...【详细内容】
2024-04-03  红石PG  微信公众号  Tags:SQL 函数   点击:(5)  评论:(0)  加入收藏
如何正确选择NoSQL数据库
译者 | 陈峻审校 | 重楼Allied Market Research最近发布的一份报告指出,业界对于NoSQL数据库的需求正在持续上升。2022年,全球NoSQL市场的销售额已达73亿美元,预计到2032年将达...【详细内容】
2024-03-28    51CTO  Tags:NoSQL   点击:(14)  评论:(0)  加入收藏
为什么数据库连接池不采用 IO 多路复用?
这是一个非常好的问题。IO多路复用被视为是非常好的性能助力器。但是一般我们在使用DB时,还是经常性采用c3p0,tomcat connection pool等技术来与DB连接,哪怕整个程序已经变成以...【详细内容】
2024-03-27  dbaplus社群    Tags:数据库连接池   点击:(13)  评论:(0)  加入收藏
八个常见的数据可视化错误以及如何避免它们
在当今以数据驱动为主导的世界里,清晰且具有洞察力的数据可视化至关重要。然而,在创建数据可视化时很容易犯错误,这可能导致对数据的错误解读。本文将探讨一些常见的糟糕数据可...【详细内容】
2024-03-26  DeepHub IMBA  微信公众号  Tags:数据可视化   点击:(7)  评论:(0)  加入收藏
到底有没有必要分库分表,如何考量的
关于是否需要进行分库分表,可以根据以下考量因素来决定: 数据量和负载:如果数据量巨大且负载压力较大,单一库单一表可能无法满足性能需求,考虑分库分表。 数据增长:预估数据增长...【详细内容】
2024-03-20  码上遇见你  微信公众号  Tags:分库分表   点击:(15)  评论:(0)  加入收藏
在 SQL 中写了 in 和 not in,技术总监说要炒了我……
WHY?IN 和 NOT IN 是比较常用的关键字,为什么要尽量避免呢?1、效率低项目中遇到这么个情况:t1表 和 t2表 都是150w条数据,600M的样子,都不算大。但是这样一句查询 ↓select *...【详细内容】
2024-03-18  dbaplus社群    Tags:SQL   点击:(6)  评论:(0)  加入收藏
应对慢SQL的致胜法宝:7大实例剖析+优化原则
大促备战,最大的隐患项之一就是慢SQL,对于服务平稳运行带来的破坏性最大,也是日常工作中经常带来整个应用抖动的最大隐患,在日常开发中如何避免出现慢SQL,出现了慢SQL应该按照什...【详细内容】
2024-03-14  京东云开发者    Tags:慢SQL   点击:(5)  评论:(0)  加入收藏
过去一年,我看到了数据库领域的十大发展趋势
作者 | 朱洁策划 | 李冬梅过去一年,行业信心跌至冰点2022 年中,红衫的一篇《适应与忍耐》的报告,对公司经营提出了预警,让各个公司保持现金流,重整团队,想办法增加盈利。这篇报告...【详细内容】
2024-03-12    InfoQ  Tags:数据库   点击:(27)  评论:(0)  加入收藏
SQL优化的七个方法,你会哪个?
一、插入数据优化 普通插入:在平时我们执行insert语句的时候,可能都是一条一条数据插入进去的,就像下面这样。INSERT INTO `department` VALUES(1, '研发部(RD)', &#39...【详细内容】
2024-03-07  程序员恰恰  微信公众号  Tags:SQL优化   点击:(20)  评论:(0)  加入收藏
站内最新
站内热门
站内头条