从DBA是“擦车的”谈起

news/2024/10/3 17:06:33 标签: dba, 数据库

前段时间有网友在群里讨论,把数据库代码工作者比做是造车的,业务应用开发人员是开车的,而数据库管理员(DBA)则是擦车的。有网友评论这句话,“伤害性不大,侮辱性极强”。说实在的,个人觉得这个说法虽然有些偏激(DBA起码也能算个修车的),但在当前XC背景下来看还算是中肯。

但是这是一件值得称道或者说值得自豪的事情吗?个人觉得未必。我们从市场和技术这两个维度来看这件事。

首先是市场生态

Oracle之所以能够称霸数据库领域40年,最核心的本质是构建了良好的生态环境。在这个环境中大家都能获取到自己想要的,直白的说,从事Oracle相关的工作,能让大家都赚到钱。早期Oracle数据库技术并不是最好的,但是因为没有硬性的License授权限制,只要是想用想学的,都可以下载到没有任何功能限制的介质,官网上还提供了非常详细的安装管理和优化文档,生怕你学不会用不好。正式凭借着开放的市场策略,让Oracle数据库赢得了大量的忠实用户,产品在众多场景中得到了广泛的使用。开发商基于Oracle数据库开发的应用软件运行稳定、性能良好,获得用户的好评;而Oracle则充分利用这些机会快速发展和完善自己的产品。

由此构建了一个良好的市场生态系统,集成商通过出售产品赚取到渠道利润,开发商通过开发满足客户个性化需求的功能软件赚到应用开发的钱,而DBA则也能够通过自己对数据库的了解,让数据库能够更快更好的运行,也能赚取到自己的那份“辛苦钱”。

其次是技术生态

Oracle提供了丰富的性能观测体系和故障诊断手段,从运行统计指标维度看,在Oracle 11g数据库中有600+,到了19c大幅跃升到2000+;而等待事件模型,在11g中多达1300+,到了19c上升到1900+。通过这些指标体系可以快速对数据库运行状态和所发生的问题进行精确定位。同时,Oracle也非常注重运维知识的积累,其官方支持知识库(My Oracle Support)中包含了各种故障场景的Case处理步骤,以及对相关概念和数据库核心运作机制的详细说明文档。正是有了这些扎实的技术支持基础,让运维人员并不需要去翻阅源码就能比较清晰的了解数据库的底层运行逻辑,结合统计指标、等待事件、运行日志和后台知识库中的案例,绝大多数问题都能在运维层面得到解决,而不需要动不动就“召回返厂”去麻烦研发人员。

正是基于这些技术基础,催生了一个新的岗位 – 数据库管理员,专门负责数据库的管理和运维,也就是前文所说的“修车人” 。在这个体系中,运维管理等“脏活累活”可以交给数据库管理员来负责,研发可以专注在数据库产品功能开发等“高大上”的工作上。

尴尬的DBA

但在国产数据库的生态中,传统DBA角色处在一个非常尴尬的地位。

首先,DBA的技能主要来自于实战经验的积累。比如结合操作系统、内存、存储及网络等多个维度的最佳实践,让数据库稳定高效的运行。但是这些最佳实践是需要各种案例和场景的打磨,国产数据库的使用案例和技术积累和Oracle相比差距还不小,因此专业的运维人员得到锻炼的机会也少,在不掌握源码的情况下,DBA没有太多可发挥的空间;

其次,大多数传统DBA写代码的能力并不占优,他们的工作性质也比较难接触到源码。除了实战经验,DBA另外的主要技能来源就是阅读文档,但绝大多数国产数据库厂商提供的文档都非常有限,即使提供了文档也仅限于概念,安装和配置类的,深入介绍原理实现和相关的资料很少。至于故障案例知识库更是绝无仅有,能保持社区的问题能及时得到回复就算是非常优秀的。更有一部分厂商,不仅没有对外发布官方文档,连测试介质都不提供,更别提什么生态建设。这种情况下,DBA怎么能快速成长?

写在最后

昨天已经发布了新一期的安全可信评测入围产品,意味着国产数据库的竞争已经到了下半场,没有进入名单的数据库,基本已经被排除在国央企的采购清单之外,未来的发展空间基本被定格。但是即使进入了名单并不意味着能够高枕无忧,下半场比拼的将会是生态建设的持久战。

这个世界都是很现实的,当其他人没办法通过你的产品赚到钱的时候,还会有人用你的产品吗?

最后再回到开头的话题,研发抛头露面是一件值得骄傲的事情吗?这恰恰说明产品还远未成熟,市场生态仍然亟待完善,从整个产品生态上来说,需要做的工作还很多很多。


http://www.niftyadmin.cn/n/5688730.html

相关文章

基于SSM的出租车租赁管理系统的设计与实现

文未可获取一份本项目的java源码和数据库参考。 1 选题的背景 现代社会,许多个人、家庭,因为生活、工作方式的改变,对汽车不再希望长期拥有,取而代之的是希望汽车能“召之即…

TypeScript 算法手册 【数组基础知识】

文章目录 1. 数组简介1.1 数组定义1.2 数组特点 2. 数组的基本操作2.1 访问元素2.2 添加元素2.3 删除元素2.4 修改元素2.5 查找元素 3. 数组的常见方法3.1 数组的创建3.2 数组的遍历3.3 数组的映射3.4 数组的过滤3.5 数组的归约3.6 数组的查找3.7 数组的排序3.8 数组的反转3.9 …

Java高效编程(12):重写toString方法

解锁Python编程的无限可能:《奇妙的Python》带你漫游代码世界 尽管 Object 类提供了 toString 方法的默认实现,但它返回的字符串通常不是类的使用者想要看到的。默认返回的字符串格式是类名加上“”符号和哈希码的十六进制表示,例如 PhoneNu…

五子棋双人对战项目(4)——匹配模块(解读代码)

目录 一、约定前后端交互接口的参数 1、websocket连接路径 2、构造请求、响应对象 二、用户在线状态管理 三、房间管理 1、房间类: 2、房间管理器: 四、匹配器(Matcher) 1、玩家实力划分 2、加入匹配队列(add) 3、移除…

leetcode打卡001-约瑟夫问题

约瑟夫问题 其背景故事是关于一组人站成一个圈,从某个人开始报数,每数到特定数字的人将被淘汰出圈,然后从被淘汰人的下一个人重新开始报数,直到最后剩下一个人。问题的目标是确定最后剩下的那个人在最初的位置。 关键词 递归&a…

openpnp - 底部相机高级校正的参数设置

文章目录 openpnp - 底部相机高级校正的参数设置概述笔记修改 “Radial Lines Per Calibration Z” 的方法不同 “Radial Lines Per Calibration Z”的校验结果不同 “Radial Lines Per Calibration Z”的设备校验动作的比较总结备注END openpnp - 底部相机高级校正的参数设置 …

深度学习模型性能优化实战之从评估到提升的全流程解析

1. 概述 在构建和使用机器学习模型的过程中,模型的效果评估和优化是两个至关重要的环节。无论模型是用于分类、回归还是其他任务,评估其表现以及持续优化模型性能,都是确保模型在实际应用中取得成功的关键。本节将重点介绍模型效果评估的定义…

XSS | DOM 型 XSS 攻击

关注这个漏洞的其他相关笔记:XSS 漏洞 - 学习手册-CSDN博客 0x01:DOM 型 XSS —— 理论篇 DOM 全称 Document Object Model,使用 DOM 可以使程序和脚本能够动态访问和更新文档的内容、结构及样式。 DOM 型 XSS 是一种特殊类型的反射型 XSS&…