MySQL概述

来源:互联网 发布:linux find exec用法 编辑:程序博客网 时间:2024/06/06 10:58
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)嵌入式系统

6.MySQL学习资料推荐

(1)《小辉作品:MySQL零基础入门系列培训40讲全集》该视频教程可以从网上找到下载,也可以到播布客的网站(http://www.boobooke.com/)去购买或者在线观看,个人认为讲的很不错,比较适合入门。
(2)《高性能MySQL(第三版)》英文版或者中文版,卓越、京东、当当上都有。此书为MySQL的经典书籍。
(3)《MySQL技术内幕:InnoDB存储引擎(第2版)》,国内的一个DBA写的。
(4)《深入理解MySQL》《深入理解MySQL核心技术 》,涉及到MySQL的一些源码修改和架构剖析。