“chinafenghao”一名运维+dba+php+打杂技术人员的职业阐述

2021-11-12 00:00:00 数据库 工作 公司 性能 社区

本期采访嘉宾:冯浩(chinafenghao)


ChinaUnix社区:
首先请您介绍一下自己,分享一下您的职业经历?您目前的从事的工作??
chinafenghao:
大家好,我叫冯浩,英文名andy.feng。个人blog:isadba.com。我是2007年开始玩linux,2009年大学毕业,开始工作。由于读书的时候爱玩网络游戏,所以份工作是3D游戏公司的运维,那个时候的我表面上是一名运维工程师,
实际我是一名运维+dba+php+打杂。2012年初换工作到了现在公司,做了专职的DBA,隶属R&D研发部,更偏向于项目和研发,运维的成份少一点(公司的数据库服务器不多)。


ChinaUnix社区:
现在MYSQL很火,那么它与主流数据库相比MySQL具备的优势?给我们从你专业的角度上分析一下Oracle和MySQL各自的优劣和试用场景。
chinafenghao:
Mysql就是主流数据库,根据新统计,oracle的市场占有,sql server和mysql分列第二和第三,但是第二名和第三名差距很小,如果不是oracle的因素,mysql现在应该是第二了。

关于优势和劣势还是看个人的观点,在不同人眼里缺点可能变成优点。
我认为oracle更适合大数据,商业解决方案中应用,可以通过payfor快速构建一套高可用和高性能的架构,缺点在于需要大量payfor,当系统大到一定程度后性能和投入将不在成正比例提升。
mysql的优点在于免费和开源和社区活跃。免费对于创业公司和中小公司是非常有诱惑力的,加上社区活跃,各种方法、技巧、问题都能很好的找到资料。然后就是开源,大公司可以通过二次开发mysql来获得更好的
可用性和性能,并且通过中间件将mysql作为小节点构建出比oracle还要高性能,高可用,低成本的数据库系统,当然这是要一定底蕴和长积累才能获得,不是钱可以迅速堆出来的。


ChinaUnix社区:
根据您多年的开发经验,分享一些在大型开发项目中,前期需要准备什么?中期需要注意什么?后期需要做什么维护?
chinafenghao:
首先PM的需求文档和PRM文档一定要有,然后是确定技术实施方案,确定数据结构,开发,测试,维护。在确定技术实施方案的时候要从多方面考虑,包括性能,扩展性,开发成本,后期维护等等问题。然后根据需求和实际情况
找到侧重点。然后是确定数据结构,做出PDM和相关的开发规范文档。中期就按照前期的规划按部就班,发现问题的话再讨论商量方案,后期维护就要看架构设计之初有没有很多前瞻性的设计和灵活的架构了。


ChinaUnix社区:
信息化的飞速的发展对数据库的提出了更多的要求,很多人现在都在讨论要做数据库性能优化,数据库的性能优化主要需要从哪些方面来实施?一般多大的数据量才需要考虑数据库型性能优化?
chinafenghao:
针对中小企业,把好开发这关,能用cache就用cache,加上一些通用的数据库优化技巧(硬件,数据库系统参数,读写分离,负载均衡等方案),基本上可以解决掉所有的数据库问题。
大企业可能需要更多的数据库软件源码和架构上考虑方案和性能,比如淘宝的amoeba和cobar。


ChinaUnix社区:
淘宝、阿里巴巴和支付宝公司用MySQL数据库和Hadoop分布式平台,替换Oracle数据库和Greenplum并行数据库的行为是不是证明着MYSQL方面DBA的崛起呢?
chinafenghao:
其实mysql的崛起开始还是在cms网站,游戏行业,独立blog 这三个行业mysql的使用率相当高,因为其免费和轻巧,易部署的特点。
总的来说阿里公司去O,推M的活动对mysql业界影响是很大了,通过事情证明mysql是可以胜任这种大数据,大访问量,实时性,安全性的环境。这对整个行业影响还是很大的。特别是电商行业。对电力,交通,银行也是有很大影响,让他们看见了希望的曙光。


ChinaUnix社区:
您在这条路上遇到了哪些困难是如何克服的,是什么支持你走下来的?
chinafenghao:
生活和工作中困难是有的,我克服困难的方法有两个核心点"不断尝试","坚持"。
是什么支持我走下来?如果我说是小时候的理想,这可能就真太荒谬了,
真正支持我走下来的有两点,,我喜欢这个职业。第二,生活需要,DBA的收入不高,但是生活还是过得去。


ChinaUnix社区:
从您的角度看您认为一个数据库从业者工作中应该做的事情,应该注意的事情,应该杜绝的想法?
chinafenghao:
还是那句,人在不同阶段看见的和想到的会不一样。
我现在认识到的就是作为一名DBA(技术类职务)增加你的技术知识是必须的,但是按照公司的业务需求和环境完成公司分配给你的任务才是核心工作。不要认为公司分配
的任务不是你职务该做的,自己就不做,或者极不愿意去做。举个例吧,如果你是一名DBA,业务有一个统计类的功能需要开发,本来应该是PHP程序的工作,完成这项任务需要用的技术有sql,store procedure,php之类的技术,
刚好你又都会,你的leader安排你来完成这项任务,虽然不是你份内工作,如果你有时间,建议你不要推掉,因为你的付出了总会有收获。

相关文章