关于tdengine:DBA的一天是怎样的运维工程师告诉你答案

33次阅读

共计 4905 个字符,预计需要花费 13 分钟才能阅读完成。

小 T 导读:作为薪水较为可观的 IT 职业之一,DBA 貌似是一个门槛低、活还少的技术岗位,只有承受过相应的系统性训练,应该就能够胜利入门。但想要真正胜任这个岗位,理论却并不容易。DBA 的工作到底是怎么的?它的前景如何?想做好 DBA 又须要具备哪些能力?咱们采访了两位有丰盛工作教训的 DBA 和运维工程师,上面一起看一看他们的感悟吧。

DBA 的一天是怎么的?

分享人:涛思数据交付工程师 董延琼
(注:本章节 DBA 特指运维 DBA)

自己不仅是一个在 IT 行业摸爬滚打(混吃等死)、脚踏实地(得过且过)十多年的从业者,也是一个有着近十年丰盛工作教训的 DBA(老油条)。在刚进职场的五年里,我在一家中字头上面的三产做运维,主机、数据库都有接触,起初被敌人“坑”去守业公司玩了三年 MySQL,再起初持续给国字头做了三年数据库(Oracle)运维,当初的职场身份是时序数据库(Time Series Database)TDengine 团队的交付工程师。
郑重声明:那种一杯茶一包烟,一张表导一天的高兴日子,我基本就没经验过。
对于运维 DBA 的工作,其实和西医治病的理念有点像,在此援用一下魏文侯问扁鹊三兄弟医术的故事,很有意思。对话是这样的:

魏文候问扁鹊:“你们兄弟三人,哪一位医术最精呢?”
扁鹊答复说:“大哥医术最精,二哥次之,我最差。”
魏文候又问:“那为什么我没有据说过他们呢?”
扁鹊解释说:“大哥于病视神,在疾病还未造成时就将其除掉了,大家都没怎么见过他治病,所以他的名声传不出家门;二哥治病,是在疾病刚刚萌芽时就治愈它了,大家都只见到他治一些不重大的小病,所以他的名声也不出于邻里之间;而我通常是等病倒退到肯定水平才发现,通过针刺血脉、投汤药、割皮解肌来治病。大家都认为我善于医治各种疑难杂症,因而闻名于诸侯之间。”

当初预计很多 DBA 都会有相似的想法。现实的工作就是每天解决一下小问题,调调优,防患于未然,争取将大问题都掐死在摇篮里,剩余时间就是看看材料,晋升一下本人,平平淡淡地“混过”每一天。但很可怜的是,如果真的抱着这样的想法,那么你离被裁也就不远了,因为你在老板眼里就是个鸿鹄之志,混迹退职场中打酱油的“老油条”。

其实咱们换位思考一下也就能了解了,如果你是老板,一个员工终日没啥闲事,除了聊天打屁,就是上网看书,零碎一年也没有呈现过啥大问题,身为老板的你是不是也感觉这人力老本花的有点冤。

而与之相同的另一种状况是,你的员工每天忙忙碌碌,加班解决问题,好几次重大问题都及时无效地解决了,防止造成更重大的损失。你是不是感觉这招人的钱花的还比拟值,甚至年初还想发点钱激励他再接再厉。

转到价值观踊跃的一面,如果你是个踊跃上进(年少无知)的 DBA,每天应该怎么安顿本人的工作呢?

其实和运维相干的工作,性质都差不多,不论是运维 DBA、主机工程师或网络管理员。说到运维,就肯定要说一下墨菲定律(Murphy’s Law),放在运维畛域几乎太有用了。

墨菲定律次要包含以下四方面:

  • 任何事都没有外表看起来那么简略
  • 所有的事都会比你预计的工夫长
  • 会出错的事总会出错
  • 如果你放心某种状况产生,那么它就更有可能产生

对应到运维畛域就是:

  • 简略的小问题,可能是某个丧心病狂的程序员的大 Bug,一旦漠视,就可能把你尽心保护的数据库搞崩;
  • 备份复原的工夫,永远都超过你所预计的工夫;
  • 高危操作通常都会出事(一般操作一样有危险);
  • 如果你放心库挂了没有备份复原,那么备份大概率不能用。

相应的应答措施则是:

  • 刨根求底,每个小问题都搞清楚,不放弃任何隐患;
  • 把打算工夫乘以 10,能多长就多长(把泡茶、抽烟、上厕所也算在内);
  • 提前做好预案的预案,提前为某个操作失败想方法;
  • 每天查看备份,条件运行多备几份,反正存储不花本人的钱。

将以上四点贯彻到底,你就领有了无比空虚(累死累活)的运维 DBA 的一天。当然事件也不是相对,以上大部分内容都是在探讨传统的关系型数据库,如 Oracle、MySQL、PostgreSQL 等,对于其它的诸如 InfluxDB、TDengine、TiDB 等新兴数据库就又另当别论了。

以 TDengine 为例(当然这种安装包不到 100 MB 的 Database 通常是不配领有专属 DBA 的):

  • 装置步骤不到三步
  • 运维命令不超过 50 个
  • 参数不到 100 个

DBA 除了降级、重启,貌似就没啥工作可干了。

DBA 的倒退曾经没前途了吗?

分享人:涛思数据交付工程师 董延琼

如果笃定地说数据库 DBA 没有前途,那可能有些果断了。但某些 DBA 的前途的确渺茫了,比方 DB2 和 Sybase 的 DBA 们。可能有的小伙伴不太理解这两个产品,要晓得,DB2 当年的风头还在 Oracle 之上。不禁要缅怀一句,“舞榭歌台,风流总被,雨打风吹去”。

至于数据库 DBA 这个新兴的小鲜肉,说不定哪天也会被扫进历史的垃圾堆。但还不是当初。

咱们轻易关上一个招聘网站,输出 DBA 就能够看到招聘的职位,薪资范畴在 15~60K 之间,看起来还是蛮迷人的。

从波及的数据库产品来看,次要以 Oracle、MySQL、PostgreSQL 为主。仅从招聘信息来看,数据库 DBA 的“钱途”还是有的。但在这个“盛世”下,有人还在放心数据库 DBA 的将来倒退,不过也是有迹可循的。

2018 年,Oracle 推出了寰球首款,也是惟一一款自治数据仓库——Oracle Autonomous Database Warehouse,它能够用更低的老本为客户提供更高的性能、可用性和安全性,带来现代化的云端体验,为全面迎接自治时代胜利奠基。

“自治(Autonomous)”是云技术的一个逾越,它不仅能够在无需人工干预的状况下,对业务运行的设施进行自动更新、调整和修复,还能帮忙企业节约治理老本、疾速部署我的项目并显著升高危险,为企业客户带来全新的上云体验。 这意味着 Oracle 曾经开始抢它本人 DBA 的饭碗了。

不止是 Oracle 这种老牌数据库厂商,新的数据库厂商其实也在进行运维反动了。 新兴的时序数据库 TDengine 在其官网首页中形容产品的个性时,提到了零治理:装置、集群几秒搞定,无任何依赖,不必分库分表,零碎运行状态监测能与 Grafana 或其余运维工具无缝集成。不管技术上如何实现,至多在实践上,曾经致力于尽力缩小运维工作了。

我记得之前上 MBA 时,老师组织过一场探讨,论题是 AI 会不会取代大部分人类工作。我过后的观点很明确,会的,因为这就是咱们钻研 AI 的目标。

最开始入职 IT 行业时,搞定一个零碎上线是个非常复杂的工作,须要先将服务器上架,再装置相应的操作系统,还要配置网络、连贯存储,轻易搞搞就要一周的工夫。倒退到当初,阿里云从下单到开明不到十分钟,整个过程中的主机工程师、网络工程师、存储工程师等古早职业都隐没了。

要晓得,阿里云不止有云主机,还有云数据库,你不须要再关怀底层架构,只有付钱就能够了,甚至不须要进行保护,最多关怀一下磁盘是否够用,DBA 的工作就这样被极大地简化了。 如果从这个角度来看,数据库 DBA 的前途的确堪忧了。

那么曾经是 DBA 的同学,或是刚成为 DBA 的同学应该怎么办呢? 不管任何职业,只有不想被淘汰,那就必须让本人做的工作成为不可取代的那局部。

那 DBA 有哪些工作是很难取代的呢?咱们先来梳理一下 DBA 的工作内容:

  1. 业务建模:依据业务场景,设计库和表构造
  2. SQL 优化:对业务 SQL 进行优化,晋升效率
  3. 装置部署:部署数据库产品
  4. 零碎调优:调整数据库参数,优化性能
  5. 应急解决:解决紧急问题,如数据库故障、数据误删除
  6. 备份复原:不需解释

对于以上工作内容,第 3、4 项在云环境里曾经没什么意义了;而第 2 项,对于领有高级解析器的数据库产品,如 Oracle 来说,也没什么必要了;第 6 项齐全看理论须要,简略的备份复原自动化就能够实现,更定制化的则须要人工干预。

那么当初来看,就只剩下了第 1、5 项工作必须要人工来实现了。每个零碎所对应的业务场景都是举世无双的,并不存在一个“包打天下”的对立的建模形式, 从这个角度来说,疾速熟悉业务场景是 DBA 至关重要的能力。

只有是 IT 零碎,不论设计的如许智能,都可能会呈现 Bug。可能深刻理解产品、疾速应答意外状况、及时提出解决方案的 DBA,在此时就是最稀缺的。

综上所述,尽管目前数据库 DBA 的前途和“钱途”都还是有的,但也不能盲目乐观,还要一直晋升本人才不会被淘汰掉,追赶咱们的不止是技术,还有“后浪”。

想做好时序数据库 DBA,须要具备哪些能力?

分享人:涛思数据交付工程师 肖波

想胜任 DBA 这个职业,应该具备哪些必备能力?大家探讨的比拟多的大都是关系型数据库的 DBA,上面我会从时序数据库角度来谈下个人观点。

  • 继续学习的能力

时序数据库是一个新的方向,它采纳的技术架构广泛与关系库不同。例如,在数据索引构造的抉择上,关系型数据库大多采纳 B+ 树,时序数据库则多采纳 LSM 树;而且联合时序数据的特点,时序数据库多采纳列式存储形式。

以 TDengine 为例,它采纳就是 LSM 树,加上列式存储、一个设施一张表的设计,在应答物联网时序数据的场景时就会很有劣势。如果你还停留在 B+ 树的语境里,那将很难了解这种设计的劣势和特点,高效运维天然无从谈起。这种技术架构的差别导致技术实现也会有很大不同,DBA 只有一直学习,能力把握关键点,做好本职工作。

  • 对计算机系统深刻了解

目前数据库系统大多运行于 Linux 零碎上,一个合格的 DBA 不能只满足于对计算机系统的一般性意识,还须要深刻理解零碎的工作原理,对内存调配回收、过程调度、网络管理等都要有粗浅的了解,对如何剖析、定位操作系统问题也要有粗浅意识。只有做到这些,能力迅速定性、定位理论工作中遇到的问题。

  • 深刻理解存储系统

目前的时序数据库大多采纳分布式架构,在分布式架构下如何保证数据的一致性、特地是海量数据的一致性是一个特地大的挑战。传统大数据平台有利用 HBase 作为存储系统的,新一代的时序数据库有自研存储系统的,也有采纳开源的分布式存储系统作为存储计划的。作为一个 DBA,确保数据安全是最重要的工作,这就要求你必须深刻理解所应用的数据库的存储架构,能力制订出正当的数据备份、复原、灾备计划。

  • 相熟支流高级语言的数据库接口及框架

时序数据库的写入吞吐个别比关系型数据库要高若干个数量级,个别后者每秒写入数百条记录就算不少了,但时序数据库每秒写入常常要达到几十万,甚至数百万条记录。聚焦写入问题上,除了数据库自身的性能调优,还波及到各语言连接器、框架的应用办法是否正确。要想成为合格的时序数据库 DBA,你须要对连接器、框架十分理解。

当然,除了写入,查问是另一个重点。调优时序数据库的查问性能,除优化自身参数外,对支流语言框架如何结构查问语句也要有深刻理解,这会大大缩短很多简单查问问题的定位工夫。

  • 对数量级的敏感

随着各行业的一直倒退,海量的数据写入、读出带来的问题和挑战比起从前更加频发,定性问题的要害是须要 DBA 对数量级有超过个别人的敏感度。除了 CPU 负荷外,磁盘吞吐量、IOPS、网络吞吐、PPS、队列长度深度、各类耗时等都须要 DBA 重复不停地比拟、计算,直到找到问题的次要起因。对数量级的高敏感度能够大大减少问题定性、剖析工夫。

除了上述的能力加持外,DBA 最重要也最根底的能力其实是——基础知识牢固、逻辑剖析能力强、思维清晰。很多人认为有 Oracle 的认证、微软的认证很重要,我感觉那只能证实他已经具备肯定的学习能力。一个 DBA 的能力强弱,具体体现在他定位、解决一个问题的速度,这外面除了教训以外,扎实的基础知识、良好的训练、迷信的剖析方法论才是牢靠的“屠龙刀”。

写在最初

如果你有志于成为一名时序数据库 DBA,那你肯定不能错过 8 月 13 日咱们在北京·昆泰嘉瑞文化核心举办的「TDengine 开发者大会」,本次会议上不仅会有多位根底软件畛域出名大咖奉献精彩演讲与趋势解读,还会有金融、车联网等行业知名企业分享数据架构降级教训。此外,TDengine 3.0 版本也将重磅公布,外围研发人员将首次对外分享翻新思路,进一步加深你对时序数据库技术实现和架构翻新的思考。


想理解更多 TDengine Database 的具体细节,欢送大家在 GitHub 上查看相干源代码。

正文完
 0