数据库管理-第五十五期 DBA(20230131)

news/2024/11/22 20:48:16/

数据库管理 2023-01-32

  • 第五十五期 DBA
    • 1 数据库管理员
    • 2 数据库
    • 3 云数据库
    • 4 “列强是我自己”?
    • 总结

第五十五期 DBA

这两天在DBA圈子里有几篇文章比较火,《你怎么还在招聘DBA?》,《云数据库是不是智商税?》,《你怎么不招聘DBA?》和薛大佬刚刚出品的《蹭个热度–要不要DBA和云数据库》。文章的具体内容就请自行搜索了。前面这几篇文章已经对DBA和云数据库进行了广泛的讨论,我也就不好再去重复其中的一些观点,但是对于一些文章里的细节和自己的整体观点还是有几句想说的。

1 数据库管理员

其实回到我文章的第四十五期,第一章节也讨论过“到底需不需要DBA”的问题,有兴趣的可以返回去看看。当然,那一篇文章从标题来看就是《又一期杂谈》,奔着划水去的。但是观点还是很明确,我是站DBA的,但是从我文章一贯的观点来看,又不是那种站所谓仅仅懂数据库维护的DBA。我
认为的DBA是必须要有一种数据库专精, 多种数据库熟悉,广泛了解各类数据库特性及用法的,能够合理规划并使用各类数据库;熟悉或了解数据库使用环境全链路,比如操作系统、服务器硬件、网络、存储等;熟悉或有能力去了解业务逻辑,并能够协助开发从业务逻辑层面对数据库使用的不合理进行优化而不仅仅只是去优化索引和SQL等等;等等的复合型专业人才。其实从我文章一直写来,记录自己的工作内容和观点,一直都覆盖了这些内容。

2 数据库

我很赞同大佬的观点,IT建设最大的投入或者浪费是数据库的不合理使用,无论是对某一种数据库的不合理使用(例如之前的“壮汉挤门”),还是整个数据架构对数据库的不合理选择。
之前失业的时候,面试过不少游戏公司,他们使用MongoDB的原因是:行业内都在用这个,我们也就用这个了,这个有啥好的我们也不晓得,开发也不懂,因此需要一个懂点的人来加入团队。其实这种所谓的流行度影响数据库选型的现象是比较常见的,当然我也遇到过用redis跑计算的,原因是没有架构师。
《你怎么还在招聘DBA?》这篇文章里面有个观点,滥用关系型数据库,但是NoSQL数据库何尝不是在被滥用呢,很多时候那些所谓的“架构师”,他们了解的完整架构是必须包含关系型数据库、redis来缓存、ELK存日志、MongoDB存文档、ZK或ETCD搞ID、Hadoop跑大数据…不管实际业务场景需求,不管自己数据量咋样,不管自己用不用得上。
回归我以前文章的观点,数据库选型与使用,必须从实际的业务需求触发,并由一个合格的DBA去引导开发合理的使用这些数据库。而不是完全由开发或者“流行度”引导来搞。

3 云数据库

这里说一下以前使用国内某云RDS遇到的一个问题:有俩RDS,分别位于两个可用区,A是标准版(没有实时高可用,仅有定期备份那种),在比较新的可用区;B是高可用版(除了备份,也可失败转移那种),在较老的可用区。B的CPU、内存资源是A的1.5倍左右,存储都是SSD,算上高可用费用也搞了2倍还多。A之前跑得生产业务,为了更安全,将数据库内容迁移到了B,但是发现性能下降十分严重。在业务和压力一致的情况下,甚至主要SQL执行计划都一致的情况下,B的SQL运行时间就是要长于A,和云厂商确认,云厂商说高可用(说白了就是主备同步)会耗费较多的资源,影响数据库性能。
一个“传统”DBA肯定会说这个结论挺放屁的,但是…似乎没啥办法,上云了在自身力量不够(其实我感觉够也没啥用)的时候只能被云厂商牵着走。这个现象我觉得有两个原因:一是云上卖的东西都是CPU核心数+内存大小+存储种类,其实不通的可用区就跟不通的机房或数据中心一样,很可能不是同一时间建设的,那么划归到提供云算力最基本的硬件资源,比如CPU型号、内存频率、磁盘性能就很可能不一样,那么相同云上规格的两个云服务展现出来的性能也可能有不小的差距,很可能出现花更多的钱获得更低的性能;另一方便则是云上超分现象很严重,比私有云(或者说叫资源池)严重多了,虽然资源动态分配是云上的优势,但是架不住大多数业务高发期时间都比较统一,前前后后各类争用特别是在比较老的可用区里面就比较明显了。
不得不说,云数据库解决了“部署、安装、备份、恢复”这些低价值工作,但是云并不能解决怎么使用数据库的问题,纵使云专家是多么的牛逼,一旦这些专家开始侵入客户业务,那就不仅仅是安全的问题了,而是一纸诉状的问题了。

4 “列强是我自己”?

客观来说,并不是所有的地方都能上云,很多地方是不允许上云的,那么在这些地方私有云(资源池)则用的更多。转过头来说就拿我现在在移动做的工作来说,其实我也算是个使用Oracle多租户环境提供云化数据库资源池的“云”服务商。以前各业务厂商自己维护自己的数据库,没有DBA或者全国共用DBA,现在都整到我这统一维护管理,并在可控的范围内去侵入业务,提供优化建议,这些厂商又能把这些优化成果拿去反推到其他地方的同类项目上(我觉得我还是亏了,该找这些厂商收点顾问费的)。
其实在我看来数据库本身的发展,越来越智能:自动索引、AI自治、快速部署等功能,并不会绞杀掉DBA的工作机会,而是会帮助DBA更好的开展工作并更加专注于更加需要关注的领域,比如数据库架构、业务逻辑等方面,发挥更大的价值。

总结

苦逼的7天班仍在继续!
老规矩,知道写了些啥。


http://www.ppmy.cn/news/21112.html

相关文章

PyQt5编程基础 2.1 GUI程序的基本框架

文章目录 创建纯代码GUI程序 创建目录 新建程序 创建GUI程序的基本过程(代码分析) 导入模块 创建应用程序 创建窗体 使用窗体类的GUI程序框架 创建项目目录 窗体设计 修改窗体的windowTitle 放一个label 放一个Push Button 保存窗体 代码设计 将QtApp中的ui文…

图例legend语法及设置

(1)设置图例位置 使用loc参数 plt.legend(loc‘lower left’) 0‘best’1‘upper right’2‘upper left’3‘lower left’4‘lower right’5‘right’6‘center left’7‘center right’8‘lower center’9‘upper center’10‘center’ (2)设置图例字体 #设置字体大小 fontsi…

如果把小程序业务和研发管理都放到一个平台

伴随着互联网在中国进程的发展,线上研发效能及业务应用软件也不落后于时代进步的脚步,中国软件行业从未停止过持续的创新。 2022年,业务应用开发正在简化,研发效能也在提升,其中不得不提软件在协同促进、研发一体化管…

网络攻击(Cyber Attacks,也称赛博攻击)

网络攻击(Cyber Attacks,也称赛博攻击)是指针对计算机信息系统、基础设施、计算机网络或个人计算机设备的,任何类型的进攻动作。对于计算机和计算机网络来说,破坏、揭露、修改、使软件或服务失去功能、在没有得到授权的…

【数据结构】动图详解单向链表

目录 1.什么是链表 1.问题引入 2. 链表的概念及结构 3. 问题解决 2.单向链表接口的实现 1.接口1,2---头插,尾插 2. 接口3,4---头删,尾删 3. 接口5---查找 4. 接口6,7---插入,删除 5. 接口8---打印 6. 注意…

【Unity3D插件】UniRx(基于Unity的响应式编程框架)插件教程

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、介绍UniRx插件 UniRx是一种基于Unity3D的…

文本数据预处理:可能需要关注这些点

文章目录1、文本数据获取2、常规文本数据预处理2.1 将文本数据清洗干净2.2 将文本数据格式化3、任务相关的文本数据预处理3.1 不平衡问题3.2 数据增强问题3.3 数据标注问题4、一些可用的文本预处理工具5、总结本文关键词: 文本数据预处理、中文文本预处理、自然语言…

TOGAF概述

TOGAF主要分为8个元素:念、法、技、导、行、连、考、能 念--概念阐述 法--架构开发方法 技--32个最佳实践技术 导--4种向导 行--架构内容框架 连--企业连续系列 考--参考成熟架构资产 能--架构工作能力