关于使用数据库的阶段

来源:互联网 发布:学校网络拓扑图图片 编辑:程序博客网 时间:2024/05/16 01:33

今天还是在捣鼓RDS的各种主从复制,灾备,各种实验,一次次的提工单,估计光我提的工单就要耗阿里的半个工程师。

午饭的时候,我就在想一个问题,从听说过数据库,或狭义点只说MySQL,到真正能在线上业务中使用,要经历几个阶段?

第零阶段,在服务器上装过MySQL,不用任何理解,其实看着百度搜出来的结果,会认字都能干,照着一行行敲命令,万一装不上,再换一篇帖子照着做。很多人在这个阶段停留了很长时间,干什么?就是反复安装(可能是作为discuz,dedecms或者wordpress的一安装中的一步),可能感觉就跟买了个Android手机反复刷机一样,我从不刷机,但很多开发同事乐此不疲。这个阶段熟练之后,开始厌烦了,于是迈向了解数据库的第一阶段。

第一阶段,买书,学SQL。这阶段我经历过,书都很厚,我到现在早都忘了书里写什么了,这个阶段总是以能够实现出来非常特立独行的查询为自豪,其实现在想想,SQL那么多关键字有必要记么?随便举个例子RAND(),线上谁敢用。还有那啥存储过程,别说,我还真见过一套老的短信计费系统,整个都是拿存储过程写的,可现在的后台服务谁这么干?不过这些学习还是有用的,至少到公司面试是有用的。

第二阶段,开始跟后台打交道了,这个时候开始关心数据库的效率了,依旧是百度,最终发现捷径就一条,加索引,能加多少加多少,不怕给每个关键字都加上,至于插入速度会不会受影响,占用空间够不够统统不管,查出来再说。然后,打开慢查询,一条条的看,那条慢了,改,在发现一条,再改……

第三阶段,啥东西都往MySQL里放,这东西终于撑不住了,于是开始拆表,不行,拆库,横向切分,纵向切分。然后开始读写分离,灾备。一般这个时候也就知道数据库有很多种,别死命在一根树上吊死的道理了。

第四阶段,只要稳定能不动就不动,不是懒,是知道怕了,效率的问题也不那么关心了,因为有问题的时候就说明用错地方了。

当然后面还有无数的阶段,比如去优化MySQL代码啊,写个数据库啊,那就不是我这个非专职DBA该干的事了。

0 0
原创粉丝点击