简介:最近,Oracle与亚马逊AWS风波不断。AWS要弃用Oracle,MySQL要挺大梁。而Oracle 首席技术官兼董事长 Larry Ellison 则公开表达了对自家 MySQL 的嫌弃,他告诉分析师:“要使用 MySQL,就必须放弃 Oracle 的大部分可靠 ...
最近,Oracle与亚马逊AWS风波不断。AWS要弃用Oracle,MySQL要挺大梁。而Oracle 首席技术官兼董事长 Larry Ellison 则公开表达了对自家 MySQL 的嫌弃,他告诉分析师:“要使用 MySQL,就必须放弃 Oracle 的大部分可靠性、安全性和性能,因为我们拥有巨大的技术优势”。 Ellison同时拥有全球第一大主流数据库Oracle和第二大主流数据库MySQL,可谓风光无限,可为了抨击AWS,不惜贬低自家MySQL,只能说MySQL实在是太成功了。我们不妨一同回顾一下大名鼎鼎的MySQL的传奇吧。
MySQL系统架构 4. 主流的数据库存储引擎简介MyISAM是MySQL 5.5版之前的默认数据库引擎,虽然性能极佳,但却有一个缺点:不支持事务处理。随着另一种数据库引擎InnoDB的导入,MyISAM被逐渐取代。InnoDB是MySQL目前最流行的数据库引擎,与MyISAM相比,InnoDB的最大特色就是支持了ACID兼容的事务功能。TokuDB是一种采用压缩算法的存储引擎,大量测试表明,数据表从 InnoDB 存储引擎转到 TokuDB 存储引擎后,数据量可以减少 80% 到 90%,即 1T 的数据量能压缩到 200G以下。除了数据压缩外,TokuDB 存储引擎还支持事务和在线 DDL 操作,可以很好兼容 MyISAM 或 InnoDB 存储引擎上的应用。缺点是无法支持外键 Foreign Key,不适用于频繁大量读取的场景。 5. Mysql存储极限最大文件:参考MyISAM存储引擎的技术文档,该引擎可以支持最大256TB的文件(63位文件长度)。最大行数:虽然理论上单表中可支持 (2^32)^2,约1.844E+19行记录,但实际行数上限还受myisam_data_pointer_size参数限制,64位的mysql通常是6,即48位,行数是2^48 - 1。极限测试:有用户用mysql存储了 20万张表,50亿行记录,但不知道执行效率咋样。《高可用架构》一书中提到了“单表60亿记录”的极端case,使用TokuDB替换InnoDB引擎后,单表容量从1.2TB压缩到了80GB,值得参考。6. 结束语MySQL转入Oracle后,Oracle投入大量人力物力对代码进行了重构和优化,实质提高了MySQL的性能和稳定性,而且功能越来越丰富,前景并不像某些媒体担忧的那样悲观。后续文章,笔者将聚焦MySQL在云计算中的青春活力,敬请关注。本文仅代表作者个人观点,不代表巅云官方发声,对观点有疑义请先联系作者本人进行修改,若内容非法请联系平台管理员,邮箱2522407257@qq.com。更多相关资讯,请到巅云www.yx10011.com学习互联网营销技术请到巅云建站www.yx10011.com。 |