七年大概八年大概很早之前,DBA黑白常吃香的职业
讲这个,大概要从体系的性能瓶颈提及
很早之前,互联网刚开始的时间,算是蛮荒期间
当时候各人写代码还没有规范,能把功能做出来就不错了,各人拼的是什么呢,Sql的性能
根本上就是没有中心层,也不会分什么服务层和Web层,很多时间SQL都写到页面上
然后Sql呢,又属于那种外键,视图,存储过程的天下
这就导致了出现一个题目:大部分的功能都是通过DB来实现的,也就是说,什么盘算啊,分组啊,排序啊,筛选啊,满是靠DB来做
小功能还没题目,功能一多,题目就出来了,一个Sql语句实行了半个小时没做完,然后整个体系瓦解掉了
那么,怎么办理呢,办理的方案就是。。。。
我着实很难懂白这种思考方式。。。。
就是找一些人,对DB特别认识,他的职责就是考核全部程序员的Sql语句,去找出来这些Sql哪些用到索引了,哪些没用,能不能实行,怎么优化,以及监控线上的慢Sql
一个公司能养得起DBA的,很NB了
很贵的!
以是这是谁人时间的DBA,但是,很快各人发现有差别的方式了
这种方式就是,我靠,原来我可以用分库分表,我可以做读写分离,我能做主从
于是对于DBA的依靠又重了一些,再加上数据的安全和备份,以是DBA的作用已经有点偏移
然而最关键的还是体系架构的发展变革了
分布式的概念渐渐的起来了,各人明白了一件事儿:
呆板不敷,并不是说把服务器升级成小型机就能搞定了,而是应该用更多的呆板来做
由于自制,而且更简单
以是背景的体系架构渐渐的演化出来很多差别的层
WEB层,服务层,缓存层,DB层
对于缓存的利用越来越紧张,由此而变革的观点就是数据分成了缓存和长期两种结果
DB渐渐的变成了长期层-也就是说,只是要把数据长期化,并不盼望它去承载用户的压力,缓存重要用来扛并发,不必要做长期
这是一个很关键的点,也是决定DBA运气的迁移转变点。
固然如今还看不出来
(像MongoDB,Cassandra,这些,又是别的一种差别的技能走向,包罗Mysql也在不绝的想要提拔本身的性能)
以是这些东西我们先抛到一边不谈
只说这中心发生了一个变革,对于后端职员来说,对数据库访问的变的严格起来了
只管单表操纵,不答应复杂查询,计划架构的时间必须思量缓存
乃至我们在白社会的时间(老大曾经是在搜狐做白社会的,谁人时间还是三大流派网站的期间)还计划了一套通用的DB访问机制--固然是七年(九年)前的计划然而如今不停都以为很赞
只是再也没有如我在搜狐的时间那群人做这些事了-反正我见地少,不停在小公司混,也不怕你们讽刺我见地少。
如许就导致DBA的一个很紧张的工作职责失去了意义:
查找慢Sql
由于我们在体系架构层已经决定了不再这么利用DB
如许使得Oracle什么的也渐渐的失去了代价-我知道我说的每一句话都有大概会引起争论
以是我不得不再次夸大一次,纯属个人的脑残关点,不喜好的话,要么认真的复兴来打我的脸教我做人我认真学习,要么就是滚远点表理我
包罗建表,去除外键,去除事件,去掉视图等等等,一刹时,DB的利用简单多了
那么,DBA还能做什么呢?
对于我如今的明白来说,DBA的职责渐渐变成了数据备份和安全战略--然而这部分又跟运维的工作有了辩论
以是在某种程度上来讲,我都会在五十人左右的公司把DBA安排到运维部分,跟运维的兄弟们做基友
但是如今云服务器也变的越来越好用了,这里也保举一下好友的金山云和Ucloud
阿里云跟我并没有神马认识的人,以是不推
DBA除了之条件到的主从,读写,数据备份,权限控制,分库等等,还应该再扩展视野
把MongoDB,Redis,memcache,elasitcSearch,hadoop等等这些数据全部管起来
我以为,更像是一个运维的分支了
这就是我如今承认的DBA的代价和意义,已经从之前的性能优化部分转移到了数据备份和安全
毕竟,性能,架构,和优化这些东西,是离不开业务体系的
那么,接下来,和之前一样,继承先容一下DBA的工作内容
工作内容
假如你做了一个DBA,根本上会碰到两种环境
一种是你的后端工程师懂架构,知道怎么合便利用DB,知道怎样防止穿透DB
那么恭喜你,你只是必要当一个DB技能兜底的顾问就好,根本上没什么活可以做,做个监控,写个统计就好
你可以花时间在MongoDB了,Hadoop了这些,任意玩玩儿
再按照我之前说的,做好数据备份,假如需求变动比力大,每每会扳连到一些线上数据的更改,那么就在发布的时间安静的等着,等着他们出题目。。。。
假如不出题目就可以回家睡觉了
另一种环境就是我刚刚提到的,大部分程序还是靠SQl
然后偶然间DBA还必要写几万行的存储过程,那么你的重要职责还是优化Sql,优化Sql,永久不绝的优化SQL
嗯,就如许
尚有就是多花点时间把MongoDB和hadoop这些都维护起来
大概简单说,只要跟数据安全,备份相干的东西,都维护起来
必要技能
环境【Linux,Mysql,Oracle,MongoDB,Hadoop】
工具【各种DB的版本,工具,备份,日记等】
这个说是环境已经有点委曲了,毕竟是一些用饭的家伙,就是各种DB,各种维护什么的
工具也是相干的内容,再夸大一下对版本的认识程度。
马丹我感觉我没什么可说的了
由于刚刚又被“我就静静的发图~_java吧”这个贴子恶心到了
我被Java吧封了,然后他们还@我,我要赶紧写完然后想办法去跟他们对骂去
(这是老大预备创业前写的帖子...囧,老大还是这么真性情)
发展远景
DBA的发展远景我说不好
一些简单的工作,运维也是渐渐学会了
包罗薪水,这个是我比力没把握的
之前的薪水都是有迹可寻的,DBA的薪水我打仗的比力少,着实是没什么底气
1年~5年:8K~25K
5年以上:20K~40K
(我盛意虚。。我只给一个DBA开过工资)
发展路径
也不知道有啥发展路径,感觉这个职业的物种越来越希罕了
入门门槛
DBA的入门门槛也是比力高的,而且,很少于有刚工始就是做DBA的,大部分都是工程师转的
以是呢,至少要两到三年左右的时间才有大概做DBA,才华负责一些相对负责DB的事变
哪些行业得当做DBA
IT界:后端工程师,运维工程师
其他界:无
其他行业的想转DBA,刚刚也说过了,不符合,只能先写代码,再渐渐的转
职业限定
这个职业最大的限定大概就是。。很轻易无事可做
前面有背景架构师蚕食,背面有运维工程师侵入,中小公司都不太会设置这个岗位
以是有的时间会比力尴尬,大概尚有一些外包公司,大概是传统的IT企业,会是由DBA去计划表,去理清业务尚有一些岗位,其他的都不太好
以是对于其他的各种长期化数据的备份和优化,特别是对一些正在利用的框架,又不敷成熟的东西,更轻易找到本身的位置
假如你要做DBA的话,就记取,跟长期层相干的优化,数据安全,备份都要去相识--趁便再学点运维的东西
去那边学,怎么发展
根本上,DBA可以由运维工程师和背景架构师去转,也会有一些数据库方面的认证之类的的过程
这个岗位啊,跟其他的岗位至心有点不一样
很少有刚毕业大概刚入行的人就要去做DBA的--你也做不了亲,跟数据相干的东西,没个三年五年的履历,真的很难做
而且有些技能细节,是必须要相识的比力多的
PS:刚刚想到了,云服务器里是DBA的一个好行止,着实这里跟大数据也有一些相干的
这么说的话,DBA的职业需求度跟云服务器公司的发展是有比力密切的关系
但是总之,不太大概变成一个标配了
想要学习编程的同砚可以加Q群:562814359
也可以点击下面链接
www.jnshu.com?source=souhu
来官网逛一逛,师兄师姐的学习日报全部可以查阅学习,还可以私信勾搭哟
我要评论