运维DBA要不要学python

我个人认为是:要

现在 python 在运维 数据库 的工作中主要用在

1、编写一些运维脚本

2、编写运维管理平台

3、研究互联网大厂的运维脚本/工具并应有

特别是运维开源数据库的时候,第三点特别重要,例如 MongoDB 的zabbix监控数据库脚本就是用老外用python写的,如果要改一下里面的指标

肯定要用到python

一些互联网大厂开源的数据库脚本和工具,例如 mysql 相关工具,基本都是用python写的,这些工具/轮子我们肯定会用到

所以python是如此重要,当然用shell也可以完成第一点,如果强硬用python来写也只是用python来调用一下某些shell命令

但是,既然要学python,用python,做一个pythoner,那么最好所有工作都用python,有些人不这么认为,某些任务,shell可以做的python做不了

python一定要调用shell命令来做,这个是的,既然是调用shell命令为何不直接用shell

但是我个人觉得shell有个最大的缺点:格式化

shell几乎是没有格式的,只有简单的缩进,也没有专用的shell编辑器,那么,当你写了几百行代码的时候,如果没有很好的缩进习惯,那么review你的shell脚本

的那个人简直就是灾难,也由于没有专用的shell编辑器,编写shell的时候很容易出错,也不好调试

用python就没有这些问题,python可以用pycharm(本人觉得除了pycharm其他 工具 都不行)或者其他工具,python有严格的格式化,编辑器也非常强大

pdb,ipdb,print调试手段手到擒来

我记得之前有个招S银行技术部的招聘信息,其中有一条

必须会写shell,并且有写过单个脚本超过10000行shell代码的经验

当时觉得这个要求非常蛋疼,能在单个脚本写超过10000行shell代码的可能是高人也可能是SB,反正觉得招S银行的技术也好不到哪里好

据我所知,他们的mysql运维也是外包给某数据库服务公司,反正大部分都是外包,核心技术应该无啥

最后,还有一个语言,go语言

go作为互联网界的C/C++,虽然发展历史不长,但是最近几年确实比较火,go虽然是静态语言,也是带GC功能的

因为需要GC,所以 go 语言不适合做

1、系统编程:系统编程依然是C/C++做主导,由于GC的关系,性能比不上C/C++

2、大数据:依然是 JAVA 的天下,当时hadoop诞生的时候,go语言还没出生,所以大数据领域还是无法取代JAVA

3、电商:依然是JAVA的天下,JAVA有最成熟的解决方案,阿里巴巴的业务大量使用JAVA就是一个例子

go语言适合做

1、云计算:在云计算领域,go语言没有对手,go语言一般用于非cpu密集型业务,cdn,对象存储,docker,consul,k8s

其实性能上,go语言应该是比JAVA逊色不少,发展历史没有JAVA长,GC功能没有JAVA的完善

至于在运维领域,其实go语言的性能比python是要强,毕竟是静态语言,而且可以利用多核优势,没有python的GIL锁问题

但是在运维领域,更注重的是运维生态,而不是性能,我们开发的运维工具和运管平台其实都不需要很高性能

如果没有运维生态支持,运维将会非常难做,例如,现在每种数据库基本都有python驱动(mongodb,DB2,oracle,mssql,mysql,pgsql,sqlite等等),

spark编写作业也可以用python来编写,openstack本来用python来开发,有很完善的python API,kvm管理也有很完善的python API,

Linux内置python,Windows安装python也比较简单

python有相应的库可以编写Windows服务,国内公有云厂商基本都有python API等等,几乎每种工具、系统、软件都支持python

而这种运维生态,go语言是没有的,原因是go语言是2009年诞生,到现在才10年时间,而python到现在已经有30年历史

所以python才会有这种运维生态,所以才会有每种工具、系统、软件都支持python

而且目前互联网大厂用go语言来写的开源数据库运维工具和脚本非常少

当然,如果对python有几年经验并且很扎实了,那么可以用空余时间学学go语言

还有一个提醒:据我所知,go语言最流行的web框架beego问题比较多,没有python的django框架那么完善

如果要用go语言来开发运维管理平台,要注意这个坑

最后总结一句:对于运维或DB运维,个人觉得真没有必要学go语言,毕竟go语言是静态语言,门槛相对比较高,而且go语言没有运维生态

如有不对的地方,欢迎大家拍砖o(∩_∩)o

本文版权归作者所有,未经作者同意不得转载。

运维学shell还是python_运维DBA要不要学python相关推荐

  1. 运维开发学go还是python_运维工程师是要学python还是学go那?

    在我们的认知中,运维工程师就是一个背锅侠,那么咱们怎么样来避免做背锅侠那? 可能有人会告诉你,你需要去懂一门开发语言,其实在现价段,掌握一门开发语言已经成为高级运维工程师的必备计能.不会开发,你就不能 ...

  2. 运维学python哪部分_初入运维的小伙伴,别再问需不需要学Python了

    这篇文章来自百度知道(你可以搜索"运维需不需要学Python"),或许有些观点不一定正确,但运维学Python这事毫无疑问是主流了,不信可以到各大招聘网站,看看但凡招聘运维有编程技 ...

  3. 运维学python哪部分_运维新手们,别再问需不需要学PYTHON了

    经常有人在群里问,运维人员需不需要学开发?需不需要学PYTHON?PYTHON和SHELL有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲,求求新手们,以后别他妈瞎问了. 现阶段,掌握 ...

  4. 运维学python用不上_运维朋友们,别再问需不需要学 Python 了!

    运维人员需不需要学开发?需不需要学 Python?PythonN 和 Shell 有什么区别?天天问这种好水的问题,我实在受不了,决定帮大家扫扫盲. 现阶段,掌握一门开发语言已经成为高级运维工程师的必 ...

  5. 第13章代码《跟老男孩学习Linux运维:Shell编程实战》

    本书历史上已出版最实战的Shell高级编程实战书籍,没有之一,和市面书籍不同,本书是作者经过18年的运维工作及教学工作后,创新类企业级实战书籍,适合所有学习及从事Linux相关工作的读者. <跟 ...

  6. linux 运维高级脚本生成器,Linux运维系列,Shell高级脚本自动化编程实战

    课程文件目录: Linux自动化运维系列 Shell高级脚本自动化编程实战 [6.1G] ┣━━01.Shell基础概述 [315.1M] ┃ ┣━━1-1 Shell脚本体系概述.mp4 [154. ...

  7. Linux云计算运维之Shell

    Linux云计算运维之Shell find 搜索文件名是完全匹配 grep 搜索文件名中的字符串,包含匹配 echo "字符串" : 把字符串输出到控制台 变量分类 : set [ ...

  8. linux运维自动化脚本,linux运维自动化shell脚本小工具

    linux运维shell 脚本小工具,如要分享此文章,请注明文章出处,以下脚本仅供参考,若放置在服务器上出错,后果请自负 1.检测cpu剩余百分比 #!/bin/bash #Inspect CPU # ...

  9. 网络运维工具--shell批量下发

    网络运维工具–shell批量下发 此功能针对大批量设备下发相同命令比较实用,适配多个厂商,但多个厂商不能混用. 1.命令语法介绍: 1)采集命令一般无需处理,直接下发输入后下发即可.(实际为省略模式和 ...

最新文章

  1. basicLSTMCELL() num_units参数代表了LSTM输出向量的维数
  2. Qt样式表之二:QSS语法及常用样式
  3. 德意志银行CEO:将逐渐用 AI 替代人工,银行决不会一成不变 凤凰科技 09-08 20:41 原标题:德意志银行CEO:将逐渐用 AI 替代人工,银行决不会一成不变 雷锋网AI金融评论报道,外媒i
  4. Windows 7 蓝屏代码大全 amp; 蓝屏全攻略
  5. Zepto.js 源码解析(emoji版)
  6. 编译原理基础---思维导图
  7. 物体检测,用于检测红灯笼demo(含训练代码)
  8. 【MFC相关问题】vs 2019 出现 building MFC application with /MD [d] (CRT dll version) requires MFC shared
  9. [未完成]scikit-learn一般实例之九:用于随机投影嵌入的Johnson–Lindenstrauss lemma边界...
  10. WPF中radiobutton 的 data binding方法
  11. XMind 2022 使用教程
  12. 业务招待费的涉税风险及合理税务筹划,太有用了!
  13. 黑苹果OC引导注入声卡ID教程,解决开机无声音等问题
  14. 将自己的主页地址设置为OpenID
  15. python 波浪号用法_波浪号(~)是什么意思,正规的用法是什么?
  16. Linux 3g上网卡 拨号,Linux 系统 CDMA 无线上网卡拨号过程
  17. 学弟想「白嫖」优质大学课,姐直接甩给他 8 个网站
  18. 南京中北学院荣跃计算机,南京师范大学中北学院来我院交流调研
  19. python powerbi知乎_利用Python调用Power BI REST API
  20. [codeforces 1325C] Ehab and Path-etic MEXs 绕不开的叶节点+特判

热门文章

  1. BurpSuite2021注册机安装
  2. 第一次亲密接触(3)
  3. 全新共享协作体验—CAD 2022新功能介绍
  4. 小改造,大升级:人工智能赋能汽车金融
  5. MacOS苹果系统上如何写C++ (Visual Studio Code) Hello World
  6. 如果查询本机ip地址?
  7. UE4 unix13位时间戳 转Windows DateTime
  8. elf文件中代码段有绝对地址但重定位表中无.text.rel
  9. linux设备连接磁带机,linux下磁带机的使用
  10. SMBus和I2C通信协议主机的Verilog实现