百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> MySQL只能做小项目?是时候说几句公允话了!
分享文章到:

MySQL只能做小项目?是时候说几句公允话了!

发布时间:09/01 来源:未知 浏览: 关键词:
许多人对MySQL有一些偏见,偏见主要集中在下列几方面:MySQL不支撑事务,MySQL存储的数据量比拼小,适合小项目,大项目还是得上Oracle、DB2等,这么多年已往了,我本人在开发中不断是以MySQL为主,我觉得我有须要说两句公允话了

我上学那会,许多人对 MySQL 有一些偏见,偏见主要集中在下列几方面:

1. MySQL 不支撑事务(事实上 MyISAM 有表锁,但是效率比拼低)

2. MySQL 存储的数据量比拼小,适合小项目,大项目还是得上 Oracle、DB2 等

这么多年已往了,我本人在开发中不断是以 MySQL 为主,我觉得我有须要说两句公允话了。

公允话

首先个题目

对于首先个不支撑事务的题目,这有一定的历史缘由。MySQL 从设计之初,存储引擎就是可插拔的,允许企业或者个人按照本人的需求定义本人的存储引擎(固然,普通的企业或者个人其实是没有这个实力的)。MySQL 自研的运用较广的存储引擎是 MyISAM ,MyISAM 支撑表锁,不支撑行锁,所以在处置高并发写操纵时效率要低一些,别的 MyISAM 也不支撑外键(虽然此刻现实项目中外键已经用的比拼少了)。

但是这个题目并非无解。这就不得不说 MySQL 中别的一个大名鼎鼎的存储引擎 InnoDB 了。

InnoDB 存储引擎是由一家位于芬兰赫尔辛基的名为 Innobase Oy 的企业开发的,InnoDB 存储引擎的历史甚至比 MySQL 还要悠长。

InnoDB 刚刚开发的时侯,就是作为一个完备的数据库来开发的,因而功能很完整。开发出来之后,开创人是想将这个数据库卖出的,但是没有寻到买家。

后来 MySQL2.0 推出后,这种可插拔的存储引擎吸引了 Innobase Oy 企业开创人 Heikki Tuuri 的注意,在和 MySQL 沟通之后,决议将 InnoDB 作为一个存储引擎引入到 MySQL 中,MySQL 虽然支撑 InnoDB ,但是现实上还是主推自家的 MyISAM。

但是 InnoDB 实在太优良了,终究在 2006 年的时侯,成功吸引到大魔王 Oracle 的注意,大手一挥,就把 InnoDB 收购了。

MySQL 主推自家的 MyISAM ,日子过得也很黯淡,终究在 2008 年被 sun 企业以 10 亿美圆拿下,这个操纵稳固了 sun 在开源领域的首领的地位,可是不断以来 sun 企业的变现能力都比拼弱,终究 sun 本人在 2009 年被 Oracle 收入囊中。那会我还在读高中,某一天吃午餐的时侯,餐厅的电视机上播放央视的午间消息,看到了这条新闻,此刻还有一些印象。

Oracle 收购 sun 之后,InnoDB 和 MySQL 就都成了 Oracle 的产品了,这下整合就变得非常容易了,在后来发表的版本中,InnoDB 渐渐就成为了 MySQL 的默许存储引擎。在最新的 MySQL8 中,元数据表也运用了 InnoDB 作为存储引擎。

InnoDB 存储引擎主要有如下特色:

1. 支撑事务

2. 支撑 4 个级另外事务隔离

3. 支撑多版本读

4. 支撑行级锁

5. 读写阻塞与事务隔离级别相干

6. 支撑缓存,既能缓存索引,也能缓存数据

7. 整个表和主键以 Cluster 方式存储,组成一颗均衡树

8. ...

固然也不是说 InnoDB 一定就是好的,在现实开发中,还是要依据概括的场景来选中到底是运用 InnoDB 还是 MyISAM 。

所以首先个题目不攻自破。

第二个题目

第二个题目的确是一个硬伤。

你如果拿 MySQL 和 Oracle 比,确定是要差一点点感觉。究竟一个免费一个收费,并且收费的还很贵。但是这个题目并非无解。

信赖许多小同伴都听过国内许多大厂都运用了 MySQL 来存储数据。大厂用 MySQL ,是由于他们有能力研发出本人的存储引擎,小厂个别没有这个实力,无法去研发出本人的存储引擎,但是 Oracle 又用不起,那么怎么办呢?

这几年鼓起的散布式数据库中间件恰好可以非常不错的解决这个题目。Java 领域,相似的工具许多,例如 Sharding-JDBC 、MyCat 等,通过这些工具,可以非常不错的实现数据库分库分表,以及数据表的动态扩展、读写别离、散布式事务解决等。有了这些工具,极大的提高了 MySQL 的利用场景。

另一方面,近年流行微办事,这不是纯正的炒概念,微办事架构将一个大的项目拆分成许多个小的微办事,各个微办事处置本人很小的一局部事情,这更相符人类分工协作的特色。在微办事架构中,我们对大表的需求、对多表结合查询的需求都会有所落低,MySQL 也更具用武之地。

因而,第二个题目也是可以解决的。

据我理解,互联网企业运用 MySQL 还是比拼多的,传统软件企业,可能会更青睐 Oracle 等数据库。

不外话说回归,云盘算,也是将来一个标的目的。

更多MySQL相干技术文章,请拜访MySQL教程栏目进行学习!

以上就是MySQL只能做小项目?是时候说几句公允话了!的细致内容,更多请关注 百分百源码网 其它相干文章!

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有156人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板