查看: 37437|回复: 48

【ITPUB名人堂访谈】"去IOE"时代的MySQL二度易主 是机遇还是挑战?

[复制链接]
认证徽章
论坛徽章:
127
茶鸡蛋
日期:2012-01-16 14:24:41鲜花蛋
日期:2012-06-06 14:48:18双黄蛋
日期:2013-01-07 21:07:482013年新春福章
日期:2013-02-25 14:51:24优秀写手
日期:2013-12-18 09:29:082014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08马上加薪
日期:2014-03-18 09:57:11马上有车
日期:2014-03-20 16:13:24马上有房
日期:2014-03-20 16:14:11
发表于 2014-3-31 14:12 | 显示全部楼层 |阅读模式

各位网友大家好,欢迎做客本期的名人堂访谈,我是主持人皮皮。作为关系型数据库的佼佼者MySQL与非关系型数据库的新贵NoSQL,两者看上去分道扬镳,可同属于开源大家庭的它们能否并肩作战?作为最流行的开源数据库软件之一,MySQL数据库软件广为人知了,麻雀虽小五脏俱全,被甲骨文收购二度易主后,MySQL命运能否被改写?到底是拥抱IOE还是力挺"去IOE"呢?在之前的案例讨论中,大部分网友认为降低成本是阿里巴巴去IOE的真正原因,事实真的如此吗?我们很荣幸的邀请到了ITPUB版主金官丁(ITPUB ID:jinguanding)坐镇本期名人堂,为我们揭晓幕后的秘密。


序言

金官丁同学在大学期间就开始用PowerBuilder为企业兼职研发MIS系统,第一份工作做过电力行业的VC++研发,主要工作内容是从事SQL Server DBA,后因接触到国外的技术资讯及人员,发现开源技术道路会成为未来的大趋势,同时MySQL数据库产品上手较快,国外企业使用的范围广和成功案例较多,开始逐渐摸索转型MySQL数据库领域。ITPUB论坛属于国内DBA最高水平和人数最多的平台,由于转型比较早,故属于在ITPUB平台上较活跃的早期MySQL使用者和学习者,随着他的经验积累、能力提升和学习深入,逐渐成为MySQL数据库的推广者和志愿者。



pipihappy8888(Q1):  请简单介绍下自己,分享一下您的职业经历?

jinguanding(A1):现在担任上海热璞网络科技有限公司 CTO,主营业务为第三方企业提供数据库服务、运维架构服务,核心业务是为物流快递、交通运输、电信、零售等行业企业提供去IOE服务。先后在上海电力、麦肯集团、阿里巴巴、五分钟网络从事数据库领域的设计、优化、高可用性、数据层架构、自动化等方面应用研究,及技术团队的管理工作,个人致力于推广开源领域的数据库及相关技术,现主要贡献于MySQL数据库开源领域。


自2008年伊始,帮助IT168每年在上海举办两届技术大会,分别是华东数据库与运维大会、华东架构师大会,从2013年起两届大会均由“华东”更名为“中华”。每届会议都会带来相关领域的干货,本着免费开放、传播技术知识、交流行业经验的原则,大会质量不断地提高,参会人数已从最早的300多人上升到1000多人,受到全国IT人士的喜爱。


发起组织MySQL中文手册翻译志愿者团队,应大家的要求和建议发起成立中华数据库行业协会,免费授课带徒弟出师者超过50人,且都成为各大互联网公司的骨干或团队负责人。




pipihappy8888(Q2):在案例讨论中,我们ITPUB的网友很关心“去IOE”的话题。听说您加盟阿里巴巴B2B的初衷是为了摸索开源数据库MySQL和X86服务器组合,探索“去IOE”的方法和技巧,能否为我们揭秘下阿里”去IOE”真实的来龙去脉?


jinguanding(A2):现在外界针对阿里”去IOE”的传言主要有两点:阿里巴巴去IOE主要目的是否为了降低成本?阿里巴巴去IOE的幕后推手是否是现任阿里云总裁王坚?把我们大家关注的这两点谜团解答清楚,以及论证一家企业是否需要完全“去IOE”,相信大家对“去IOE”会有更加正确和深入的认识。


1.  关于阿里巴巴去IOE主要目的是否为降低成本?


答案是否定的,继续采用IOE集中式技术架构无法满足业务发展,限制企业为用户推出更多的业务服务,故阿里巴巴去IOE初衷是为了支撑爆发性的业务增长。企业信息系统建设衡量的关键出发点在于能否满足企业的业务发展,能否支持企业的战略发展,是否能满足用户服务要求,其次考虑的是信息系统建设的时间周期、投资成本、风险等因素。从这个角度上看,阿里巴巴对员工的KPI考核是以结果为导向的,确保信息系统的支撑能力、稳定性达到99.99%的水平是对员工的最基本要求。若信息系统建设或改造时,达成同样的目标却用更少的投资成本和时间,那么KPI考核成绩就会更高。信息系统开展“去IOE”的分布式技术架构改造,若是技术团队有相应的技术能力和技术储备,不仅可以达成主要目标,还可以能降低信息系统建设的投资成本。



2.   阿里巴巴去IOE幕后推手是谁?

当年选择去杭州工作是一个意外和突然的决定,我决意已定的前提是优先选择了阿里巴巴(内称B2B)。记得当时技术面试和阿里巴巴副总裁李昂(我们内部都叫他英文名字Andy)明确告知我的工作内容及目标是摸索开源数据库技术架构解决方案,也即我们大家现在称呼的“去IOE”,第一个试点的是B2B中文站项目代号BRMMS,其次是中文站项目代号Knowledge,这两个项目成功之后就开始大规模使用,值得一提的是象征“去IOE”成功的标志是:中文站Oracle的Offer数据库切换为MySQL。不过可以肯定的是那个时候王坚博士还未加盟阿里巴巴,且加盟B2B之后也是当了很长时间的闲职首席架构师(注:不参与任何项目)。在2010年阿里云公司才正式创办,阿里云确实得到了王坚博士的鼎力相助才走到了今天。所以,真正把“去IOE”发扬光大的是主心骨的淘宝技术团队,他们在探索“去IOE”的道路上一路领跑,通过不断努力开创了“去IOE”运动的成功先河。更难能可贵的是,作为“去IOE”的倡导者,淘宝技术团队乐于在全国技术大会上分享“去IOE”的经验和技术架构。


总结:阿里巴巴Andy李昂及技术团队是去IOE的开拓者,淘宝是跟进者和影响互联网其他公司的推广者,王坚是推动阿里云发展的功臣。



3.   企业选择完全“去IOE”的战略是否合理?

淘宝Oracle数据库RAC的节点规模曾经在亚洲位居首位,其业务发展速度比B2B更具爆发性,故选择了全“去IOE”的分布式技术架构,采用MySQL和Hadoop产品结合的模式,同时配以少量内部研发的产品辅佐。阿里巴巴集团旗下的B2B、淘宝、阿里云等子公司每年都会在技术团队建设和培养方面投入大量的资金,故能确保摸索出一条适合自身的分布式技术架构道路。随着企业经营的外部环境变化,用户购买商品或服务的方式发生了重大变革,所有的企业都不得不拥抱互联网,主动站到终端用户的面前。



个人给互联网、物流快递、交通运输、电信、金融等大型企业综合的建议是:资金相关的业务系统坚持采用IOE技术架构;非资金相关的业务系统采用去IOE的分布式技术架构,推荐OLTP业务场景采用开源数据库MySQL或PostgreSQL,OLAP业务场景推荐采用Hadoop家族产品。




pipihappy8888(Q3):作为最流行的开源数据库软件之一,MySQL数据库软件已经是广为人知了。当前最火的Facebook、淘宝、阿里这样的大型的网站都是使用MySQL数据库,为什么MySQL数据库会这么火?请结合行业案例谈谈MySQL数据库的好处?


jinguanding(A3):MySQL数据库产品对技术人员而言门槛较低,有数据库理论基础的人员容易上手,MySQL数据库采用开放式的技术架构,抛弃了过去集中式关系型数据库具备的冗余功能,产品功能非常简洁使用,最后用一副图来表达为什么MySQL数据库会这么火的真谛:

mySQL1.jpg

结合行业案例阐述MySQL适合的业务场景范围:

1.    互联网行业

互联网行业的多数业务场景有2个非常明显的特点:用户量大引发数据容量大并发高、业务复杂度适中,MySQL数据库产品初期的定位就是Web应用的数据服务,故几乎所有互联网企业都使用MySQL数据库产品,有很多企业几乎全部使用MySQL提供关系型的数据服务,因此互联网企业的技术人员或技术团队,很多是MySQL社区的核心贡献者和反馈者,正是因为有了大家的努力,MySQL数据库才会变得更加成熟稳定,功能也更加丰富强大。


2.    物流快递行业

同快递行业前三名的某客户公司技术团队合作,将快递行业通用的其核心业务系统从IOE集中式技术架构,迁移改造为分布式技术架构的开源MySQL数据库平台,数据库主机采用通用的X86架构服务器,且为快递行业定制研发了分布式数据库中间件HotDB,帮助其实现信息系统建设成本降低45%,业务系统的支撑能力提升2倍以上。


3.    电信行业

同惠普GDS部门合作完成了三大电信企业之一的MSS域业务系统的去IOE,帮助其摆脱对国外商业数据库、小型机和中高端存储设备的严重依赖,实现了其集团数据大集中的战略,成本方面下降了20%左右,系统的可用性和吞吐量提升3倍以上。


总结:

随着高速存储硬件设备的发展,X86架构服务器的处理能力和稳定性不断提高,开源数据库产品渐趋成熟稳定,相应的用户对企业业务系统的服务持续性要求也越来越高,无论是数据库产品还是中高端服务器与存储设备,国外商业公司处于绝对垄断地位,国内商业产品研发公司占有的市场份额极低,几乎没有话语权,这将导致国内企业的信息系统建设严重依赖于国外的IOE企业。此外随着斯诺登事件的持续发酵,国外IOE三家商业公司都纷纷中弹,大家开始担心IOE已经威胁到了国家及企业的安全和经济损失。综合所述,选择开源产品是国家和企业的最佳选择,而开源MySQL数据库国内外应用最广泛,从业的技术人员也最多,它成为了“去IOE”分布式技术架构中最关键的关系型数据库产品。




pipihappy8888(Q4):如果给你一分钟的时间让你来当Oracle的总裁,您是否会改写MySQL的命运?随着甲骨文收购了Sun,MySQL二度易主,有人认为是强强联合,也有人担心甲骨文会让原本开源的MySQL变得更为封闭。那么甲骨文收购MySQL后会有哪些影响?MySQL是否继续值得信任?


jinguanding(A4):Sun和甲骨文先后收购MySQL AB公司,确实出现过一阵混乱期,也出现大批创始人及技术团队流失,不过很快甲骨文为MySQL产品找到准确定位,同时投入大量研发力量发展,用一张图陈述收购后的变化:

mysql2.jpg

不少企业或个人担心甲骨文收购MySQL AB公司后,组织MySQL产品发展,或者对MySQL进行闭源。其实根本不需要担心,原因有三:第一,MySQL是遵守GPL v2协议,甲骨文不会撕毁该协议,MySQL AB公司已经实现盈利,也是抢占竞争对手市场的利器;第二,MySQL社区有众多的技术人员和用户继续贡献代码或反馈建议;第三,国内外各大互联网企业都愿意投入资源成立自己的技术研发支持团队,以及支持内部的技术研发团队为社区贡献;第四,国内外有越来越多的公司投身到MySQL开源数据库产品的研发或技术服务,间接促使MySQL产品的持续发展壮大。分类总结如图:

mysql3.jpg




pipihappy8888(Q5):MySQL是关系型数据库,有数量庞大的支持者和粉丝。NoSQL是非关系型数据库,被视为数据库革命者。两者看上去分道扬镳,可同属于开源大家庭的它们能否并肩作战?面对那些致力于将关系型和非关系型数据库结合的企业,能否有效实现NoSQL与MySQL的混合数据库解决方案?


jinguanding(A5):NoSQL的英文全称:Not only SQL,NoSQL产品都有其独特的业务场景限制,导致其无法像关系型数据库产品一样通用。业界对NoSQL产品褒贬不一,我们发现不少产品逐渐被市场抛弃,且关系型数据库产品和NoSQL产品分工越来越明显,比如开源关系型数据库MySQL用于OLTP业务场景,典型的NoSQL产品Hadoop家族用于OLAP业务场景。不管是互联网企业还是传统型企业,都逐渐实现了在OLTP业务场景下产生数据,这些数据经过非实时或离线导入Hadoop家族产品,经过分析计算后再把生成的数据结果写回到MySQL中,实现了NoSQL和MySQL的混合数据库解决方案,这种解决方案越来越受到企业的喜爱和推崇。




pipihappy8888(Q6):牛顿曾经说过:如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。您作为一名资深的DBA前辈,对于致力于从事这个行业的朋友们,能否谈谈如何成为一名合格的MySQL DBA?


jinguanding(A6):不管是什么数据库产品的DBA,都适用的四种基因:



1.      从事DBA职责工作者要做到“常在河边走不湿鞋”,故一定要是一位谨慎、细致的人士;
2.      从事DBA职责工作者须有未雨绸缪的心态和准备;
3.      从事IT技术工作者一定要不断学习、测试实践和归纳总结;


4.      DBA要尽量去了解熟悉业务特征和数据分布特点;


至于如何成为一名合格的MySQL DBA,那么提出属于较专属的建议为:

1.      一定要正确理解“MySQL”5个字母

开源数据库MySQL的名字是Monty的大女儿的名字和代表数据库的SQL语言的3个组合在一起,除此之外也跟MySQL数据库采用的开放式数据库架构有内在联系,MySQL数据库的存储引擎是采用API开放模式,MySQL 创始团队专注数据库通用的Server和客户端等设计实现(注:除MyISAM及类MyISAM存储引擎外),数据库的存储引擎主要是交给开源社区,或者第三方技术公司/技术团队实现。像MySQL数据库和InnoDB存储引擎的搭配组合,就像公牛队的乔丹和皮蓬组合。


开源数据库MySQL采用开放式的技术架构,为此吸引了大量技术精英和第三方技术团队/企业参与研发和完善产品体系结构,成就社区的活跃和繁荣。不过MySQL AB未被甲骨文收购前,由于MySQL数据库的Server层是通用型的,存储引擎又独立发展,因此出现了无法为某种存储引擎做特殊的优化处理。也正是那句话:过犹不及,优势过度也可能成为缺点,所以甲骨文收购MySQL后,围绕自己的存储引擎打造了MySQL数据库的server层,同时也为用户提供了更好的性能和稳定性。


2.      掌握MySQL数据库的设计思想

MySQL数据库产品设计初衷主要是为Web应用提供数据服务,为此它的定位是轻型的数据库产品;同时,也因为其是开源数据库产品,会缺乏强大的资金实力支持其发展,以及严重依靠社区志愿者的贡献,故MySQL数据库产品较难达到像Oracle等商业数据库产品那么丰富功能和完善性,及会缺乏一些核心的算法实现,为此我们必须掌握MySQL数据库产品的设计思想和功能特点,以此作为我们分析问题、解决问题的依据,绝对不能以使用商业数据库产品的思维去用开源数据库产品。


3.    MySQL DBA要特别重视数据架构设计和数据库结构设计

前面提到MySQL数据库产品缺一些核心的算法实现,比如致命的算法之一JOIN连接算法只支持嵌套循环连接算法,不支持排序合并连接算法,尤其不支持HASH JOIN算法,而像商业数据库产品Oracle、MSSQL等都有多种HASH算法实现。数据库表结构的设计就确定了SQL如何编写,索引结构如何创建,为此我们一定要规避MySQL数据库不擅长的,充分发挥其优势,不要给MySQL数据库留下犯错的机会。


其次,MySQL数据库产品定位是“轻型”,正确理解是运行平台为轻型—X86架构服务器,产品功能的实用为主,单MySQL数据库实例的TPS、QPS、数据容量,同Oracle数据库和小型机存储设备组合是无法比拟的,故对于海量数据大并发的业务场景多数会采用MySQL的伪分布式技术架构或者读写分离的技术架构应对解决。


非常感谢ITPUB社区版主jinguanding给我们带来的精彩分享,也欢迎各位网友积极回帖讨论自己感兴趣的话题,交流自己的心得。


论坛徽章:
1
2013年新春福章
日期:2013-02-25 14:51:24
发表于 2014-3-31 16:04 | 显示全部楼层
顶,金老大

使用道具 举报

回复
认证徽章
论坛徽章:
3
蛋疼蛋
日期:2012-03-09 12:44:00技术图书徽章
日期:2014-04-04 13:33:56技术图书徽章
日期:2014-05-23 16:44:53
发表于 2014-3-31 18:01 | 显示全部楼层
顶金老大,太帅了。。。。

使用道具 举报

回复
论坛徽章:
737
季节之章:春
日期:2015-07-31 17:16:29ITPUB季度 技术新星
日期:2014-07-17 14:37:00季节之章:秋
日期:2015-07-31 17:16:14季节之章:夏
日期:2015-07-31 17:16:29股神
日期:2014-10-15 09:23:31衰神
日期:2014-10-20 22:47:12季节之章:冬
日期:2015-07-31 17:16:14红钻
日期:2014-12-16 17:51:41洛杉矶湖人
日期:2016-09-23 08:18:15布鲁克林篮网
日期:2016-09-23 08:17:18
发表于 2014-3-31 19:43 | 显示全部楼层
支持。。。。

使用道具 举报

回复
求职 : 数据库管理员
认证徽章
论坛徽章:
35
ITPUB社区12周年站庆徽章
日期:2013-11-07 10:34:33秀才
日期:2016-02-18 09:24:30秀才
日期:2016-01-21 13:37:04ITPUB14周年纪念章
日期:2015-10-26 17:23:44秀才
日期:2015-09-06 10:42:32天枰座
日期:2015-07-14 10:53:552015年新春福章
日期:2015-03-06 11:59:47喜羊羊
日期:2015-03-04 14:54:42itpub13周年纪念徽章
日期:2014-10-08 15:19:03目光如炬
日期:2014-06-16 06:00:12
发表于 2014-3-31 22:51 | 显示全部楼层
顶,DBA要懂很多数据库,精一两个数据库才行,任重道远啊

使用道具 举报

回复
认证徽章
论坛徽章:
111
ITPUB9周年纪念徽章
日期:2010-10-08 09:34:03马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-03-20 10:09:22马上有钱
日期:2014-03-20 15:53:11马上有车
日期:2014-03-20 16:13:24马上有房
日期:2014-03-20 16:14:11马上有钱
日期:2014-03-20 16:14:11马上有对象
日期:2014-03-20 16:14:11马上加薪
日期:2014-03-20 16:14:11技术图书徽章
日期:2014-03-27 09:30:56
发表于 2014-4-1 06:43 | 显示全部楼层
1.      从事DBA职责工作者要做到“常在河边走不湿鞋”,故一定要是一位谨慎、细致的人士;
2.      从事DBA职责工作者须有未雨绸缪的心态和准备;
3.      从事IT技术工作者一定要不断学习、测试实践和归纳总结;


4.      DBA要尽量去了解熟悉业务特征和数据分布特点;

使用道具 举报

回复
论坛徽章:
3
2014年新春福章
日期:2014-02-18 16:44:08马上有对象
日期:2014-02-18 16:44:08马上有房
日期:2014-07-23 17:20:29
发表于 2014-4-1 09:11 | 显示全部楼层
顶金总,说得很实在。

使用道具 举报

回复
论坛徽章:
6
2014年新春福章
日期:2014-04-14 09:54:082014年新春福章
日期:2014-04-14 09:54:082014年新春福章
日期:2014-04-14 09:54:082014年新春福章
日期:2014-04-14 09:54:082014年新春福章
日期:2014-04-14 09:54:082014年新春福章
日期:2014-04-14 09:54:08
发表于 2014-4-1 09:12 | 显示全部楼层

支持。。。。

使用道具 举报

回复
论坛徽章:
1
ITPUB十周年纪念徽章
日期:2011-11-01 16:27:27
发表于 2014-4-1 09:41 | 显示全部楼层
金老师还是那么激情四射~膜拜

使用道具 举报

回复
论坛徽章:
7
阿斯顿马丁
日期:2013-11-27 16:58:03问答徽章
日期:2013-12-11 11:36:33日产
日期:2014-01-17 17:59:11技术图书徽章
日期:2014-01-24 10:24:362014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02马上有车
日期:2014-04-16 17:19:00
发表于 2014-4-1 09:43 | 显示全部楼层
我们公司完全去掉了oracle的数据库,我现在每天都在学习一些开源的东西,郁闷啊...
想离开了....

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 
京ICP备09055130号-4  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表