七年大概 八年大概 很早之前 ,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
来官网逛一逛,师兄师姐的学习日报全部可以查阅学习,还可以私信勾搭哟