MySQL概述
1.简介
MySQL是一个开放源码的小型关联式数据库管理系统,最初的开发者为瑞典MySQL AB公司。在2008年1月16号该公司被Sun公司收购,而2009年,SUN又被Oracal收购,因此现在的MySQL由Oracle公司管理和维护,但依然开放源代码。MySQL由于其体积小、速度快、总体拥有成本低,尤其是开放源码这一特点,许多互联网企业选择了MySQL来管理自己的数据,如Google、Facebook,百度,阿里巴巴(去IOE运动)、网易等。
2.MySQL的命名机制
MySQL的命名机制使用由3个数字和一个后缀组成的版本号。例如,像mysql-5.6.14-beta的版本号这样解释:
·第1个数字(5)是主版本号,描述了文件格式。所有版本5的发行都有相同的文件格式。
·第2个数字(6)是发行级别。主版本号和发行级别组合到一起便构成了发行序列号。
·第3个数字(14)是在此发行系列的版本号,随每个新分发版递增。
后缀显示发行的稳定性级别。通过一系列后缀显示如何改进稳定性。可能的后缀有:
·alpha表明发行包含大量未被彻底测试的新代码。
·beta意味着该版本功能是完整的,并且所有的新代码被测试了,没有增加重要的新特征,应该没有已知的缺陷。
·rc是发布代表;是一个发行了一段时间的beta版本,看起来应该运行正常。
·GA表明该版本已经在很多地方运行一段时间了,而且没有非平台特定的缺陷报告。只增加了关键漏洞修复修复。这就是我们称为一个产品(稳定)或“通用”版本的东西。
3.体系架构概述
先看一张图:
从图中可以看出MySQL分两层:Server层和存储引擎层。
Server层包含连接池组件、管理服务和工具组件、SQL接口组件、分析器组件、优化器组件、缓冲组件等;存储引擎层是底层物理架构的实现,每个存储引擎开发者都可以按照自己的意愿开发。常用的存储引擎包括MyISAM、InnoDB、Memory等,这种插件式存储引擎是MySQL最大的特色。
4.MySQL的特性
(1)使用C和C++编写,并使用了多种编译器进行测试,保证源代码的可移植性
(2)支持AIX、FreeBSD、HP-UX、Linux、Mac OS、Novell Netware、OpenBSD、OS/2 Wrap、Solaris、Windows等多种操作系统
(3)为多种编程语言提供了API。这些编程语言包括C、C++、Eiffel、Java、Perl、PHP、Python、Ruby和Tcl等。
(4)支持多线程,充分利用CPU资源
(5)优化的SQL查询算法,有效地提高查询速度
(6)既能够作为一个单独的应用程序应用在客户端服务器网络环境中,也能够作为一个库而嵌入到其他的软件中提供多语言支持,常见的编码如中文的GB 2312、BIG5,日文的Shift_JIS等都可以用作数据表名和数据列名
(7)提供TCP/IP、ODBC和JDBC等多种数据库连接途径
(8)提供用于管理、检查、优化数据库操作的管理工具
(9)可以处理拥有上千万条记录的大型数据库
(10)支持多种存储引擎
5.MySQL的主要应用场景
(1)Web网站系统
(2)日志记录系统
(3)数据仓库系统
(4)嵌入式系统
网友评论