Oracle or MySQL ?
这不是一篇关于Oracle和MySQL技术比较的文章,而是我对Oracle和MySQL甚至 NoSQL产品选择上的一些想法。
我们过去和现在使用了大量的Oracle数据库,几乎我们所有的数据都存放在Oracle数据库里面,我们有高端的小型机,大型存储和全国最牛的DBA团队。这些都让我们引以为傲。
随着业务不断增长,数据量和计算量越来越庞大,我们发现小型机都无法满足我们的需求,除了Oracle我们别无选择,我们被“绑架”了,被IBM,EMC,ORACLE绑架了,我们辛辛苦苦赚的血汗钱都交给他们了。
2009年开始,我们引入了MySQL数据库,采用sharding技术,利用PC服务器搭建高可用的数据库集群,极大的降低了我们的成本,并提供了充足的扩展能力,让业务有更大的发展空间。
最近,我们遇到了一些困惑:应用如何选择Oracle还是MySQL?从Oracle迁移到MySQL的意义是什么?Oracle收购SUN之后,MySQL何去何从?
我们的目标不是要用MySQL数据库替代所有的Oracle,事实上,这不现实也不是我们的目标,目前很多应用都依赖于Oracle数据库的特性,相当长的一段时间内,Oracle依然是我们的首选。但是,这并不意味着Oracle是我们唯一的选择,我们选择MySQL和PC服务器来搭建大规模数据库集群,最终的目标是要证明我们具备更换数据库的能力,具备用廉价设备替换小型机的能力,能够用我们自己的软件搭建高可用可扩展的架构。所以说,MySQL只是一个数据库而已,如果某天Oracle将MySQL收费,我们可以换成其他的数据库(比如 PostgreSQL)。我们正在做的事,其中的价值并不能简单的用节省 Oracle license的费用来评估。
阿里云正在研发的飞天云计算系统,同样要证明阿里巴巴具备这种能力,这是每一个伟大的公司都要具备的能力。我相信,未来的数据存储肯定不仅仅局限于数据库,数据库和其他NoSQL产品一定会百花齐放。
我们做了大量的努力和尝试,包括Sharding和功能分区,SSD的尝试,MySQL高可用架构,数据同步工具等等,都是为了一个目标:证明的是我们能够设计出一种架构,可以做到用PC server和开源数据库(不仅仅局限于MySQL)来替换高端的设备和Oracle,不被设备厂家和Oracle所绑架,将主动权掌握在自己手中。所以,我们不要过分纠结于Oracle和MySQL 在具体性能上的差异,我们无法证明MySQL比Oracle好,PC server的可用性更是无法同小型机相比,但是我们用架构去弥补,整体上达到更高的可用性。
所以,我们不应该单纯用MySQL和Oracle本身的优劣,来评估技术方案,更不能用pc server的可用性和小型机去相比。关键是我们的技术架构能否用廉价的东西搭建出高可用可扩展的系统,这才是我们真正引以为傲的地方。
注:这是一封我发给公司架构师的邮件,请不要转载。(抱歉,blogread.cn转载了,因为实在是写得好!我就无耻一次吧。。。。。)
建议继续学习:
- MySQL数据库在实际应用一些方面的介绍 (阅读:35431)
- hbase运维 (阅读:13680)
- 我对技术方向的一些反思 (阅读:9876)
- Key-Value小数据库tmdb发布:原理和实现 (阅读:7318)
- SQL vs NoSQL:数据库并发写入性能比拼 (阅读:6633)
- 让Redis使用TCMalloc,实现高性能NOSql服务器 (阅读:6102)
- SQL到NOSQL的思维转变 (阅读:5649)
- Using MySQL as a NoSQL (阅读:5671)
- nosql数据库选型 (阅读:4820)
- MySQL协议分析 (阅读:4686)
扫一扫订阅我的微信号:IT技术博客大学习
- 作者:jacky 来源: Hello DBA
- 标签: MySQL NoSQL Oracle
- 发布时间:2010-04-27 23:28:15
- [55] IOS安全–浅谈关于IOS加固的几种方法
- [54] android 开发入门
- [54] 图书馆的世界纪录
- [54] 如何拿下简短的域名
- [52] Oracle MTS模式下 进程地址与会话信
- [52] Go Reflect 性能
- [49] 【社会化设计】自我(self)部分――欢迎区
- [48] 读书笔记-壹百度:百度十年千倍的29条法则
- [41] 程序员技术练级攻略
- [35] 视觉调整-设计师 vs. 逻辑