已索引
MySQL 的使用情况
- MySQL遵循于GPL开源协议的数据库,PG遵循BSD开源协议(可以不再继续开源)。
- 18 of 20 top web sites in the world
- Embedded by of the top 10 ISVs
- No. 1 database in the Cloud
- Integrated w/Hadoop in 80% of Big Data platform
从这儿可以看出,MySQL是互联网行业的事实数据库。
MySQL 既是全球 Top 20 网站的数据库选择(1.Google、2.Facebook、3.Youtube、4.Yahoo、5.Baidu、6.Wikipedia、7.QQ、8.LinkedIn、9.Live.com[未用]、10.Twitter、11.Amazon、12.Taobao、13.Blogspot、14.GoogleIndia、15.Wordpress、16.Sina、17.Yandex、18.YahooJapan、19.Bing[未用]、20.Hao123),也是世界 500 强的数据库选择。MySQL官网首页 https://www.mysql.com 有使用MySQL 的知名公司案例,点击案例可以了解他们是如何使用MySQL的。
国内目前MySQL主要应用于互联网行业的OLTP业务,越来越多的传统企业开始转向MySQL数据库。
MySQL 历史
- MySQL创始人是 Monty Widenius,最早可以追溯到1979年
- 1996年10月 MySQL AB 发布 MySQL 1.0 版本
- 2001年 MySQL AB 发布 MySQL 3.23 版本(最早在生产环境使用的版本)。
- 2001 ~ 2007 开源飞速发展期(MySQL AB)
- 2008.01 ~ 2009.04 SUN 10亿美金收购MySQL(SUN MySQL)
- 2009.04 ~ 至今 Oracle以74亿美金收购SUN(Oracle MySQL)
MySQL 分支版本
MariaDB
- 没有核心存储引擎且核心代码较老。MySQL 核心团队有 500 多人,MariaDB 只有 10 几个人。
Percona Server
- 由Percona公司创建,其知名产品有 XtraBackup 和 XtraDB(InnoDB存储引擎的优化版本),在 Oracle MySQL 5.6 版本以后,Oracle MySQL 将 Percon 之前的优化集成到官方版本中。
Drizzle
- 主要用于云环境,与原 MySQL 不兼容。
MySQL 在 5.6 以后不断重构源码,安装包越来越大,功能和性能在持续改进。MySQL 5.6 以后的版本,推荐使用官方版本。不建议使用各种分支版本。从 5.7 开始,使用其它分支版本的 MySQL 意义已经不大。
MySQL vs MariaDB
~ | MySQL | MariaDB |
---|---|---|
核心存储引擎 | InnoDB | 无,社区提供 |
多线程复制 | MySQL 5.7 版本 | MariaDB 10 版本 |
商业支持 | Oracle 公司 | SkySQL 公司 |
开发驱动 | 用户需求与企业驱动 | 社区驱动 |
开发现状 | 代码重构 | 无重构计划 |
如何选择 Oracle MySQL 版本
~ | MySQL 5.5 | MySQL 5.6 | MySQL 5.7 |
---|---|---|---|
索引 | 全局读写锁,并发一般 | 全局读写锁,并发一般 | 锁优化,并发性能提升 |
多线程复制 | 不支持 | 基于库的多线程复制 | 基于组提交的多线程复制 |
数据一致性 | 半同步,数据有丢失 | 半同步,数据有丢失 | 无损复制,数据无丢失 |
半结构化数据 | BLOB | BLOB | 原生JSON格式 |
InnoDB 全文索引 | 不支持 | 支持,但不支持中文 | 支持 |
地理空间索引 | MyISAM 支持 | MyISAM 支持 | InnoDB 也支持 |
事务组提交 | 有 bug,不支持 | 支持 | 支持 |
5.6修复了5.5很多bug,且有显著的性能提升。
Oracle MySQL 又分为商业版和社区版,企业版和社区版的代码完全一样,额外的特性通过插件的方式提供给用户。大家基本上都使用的社区版,但是商业版有MySQL 额外特性(线程池插件、审计插件、SQL 安全插件)、MySQL 企业级工具(官方热备工具、官方监控工具)和技术支持。
请官方https://www.mysql.com/downloads/ 下载MySQL版本(商业版和社区版都从这个入口进去,社区版在最下面),不要使用迅雷下载。