要想学习数据分析,要想学习程序开发,你一定听过MySQL,它是现在最流行的开源数据库,你也一定听过SQL,它其实是Structure Query Language(结构化查询语言)的简称。但是,你能搞清楚MySQL、SQL、数据库之间的关系吗?
当然,MySQL、SQL和数据库这三者是完全不同的概念,用一个形象且生动的比喻,可以把繁杂的数据看作一块又一块的“砖块”,MySQL是“建筑师”,而数据库是“草图”,SQL则是“建筑师”用来处理“砖块”的工具。
MYSQL的安装已经是一个老生常谈的问题,并且你很容易就可以在网络上的入门资料中找到如何安装MySQL,所以这里就不再详细叙述了,如果找不到合适的入门资料可以在评论区获得资料获取方法。这篇文章主要是为了介绍MySQL及其基础架构。
一、MySQL介绍
MySQL原本是一个开放源代码的关系数据库管理系统,它是一种DBMS,也就是一种数据库软件,原开发者为UI点的MySQL AB公司,该公司于2008年被昇阳微系统(Sun Microsystems)公司收购。2009年,甲骨文公司(Oracle)收购了昇阳微系统公司,从此,MySQL成为Oracle旗下产品。
过去MySQL由于性能高、成本低、可靠性好,已经成为最流行的开源数据库,因此被广泛地应用在Internet上的中小型网站中。随着MySQL的不断成熟,现在它也逐渐被应用于更多大规模的网站和应用中,比如维基百科、Google和Facebook等网站,非常流行的开源软件组合LAMP中的“M”指的就是MySQL。
二、MySQL的基础架构
前面说过MySQL是一种关系数据库产品。关系数据库也就是建立在关系模型基础上的数据库。现实世界中,实体与实体之间的各种联系一般都可以用关系模型来表示。经过数十年的发展,关系数据库在理论和工业实践中都已经很成熟了。而数据库产品的架构一般可以分为应用层、逻辑层、物理层,MySQL也不例外。
(一)应用层
负责和客户端、用户进行交互,需要和不用的客户端和中间服务器进行交互,建立连接,记住连接的状态,响应它们的请求,返回数据和控制信息(错误信息、状态码等)。
(二)逻辑层
负责具体的查询处理、事务管理、存储管理、恢复管理以及其他的附加功能。查询处理器负责查询的解析、执行。当接收到客户端的查询时,数据库线程来处理它。
(三)物理层
实际物理磁盘(存储)上的数据库文件,比如数据文件、日志文件等。
MySQL官方文档的基础架构图大家也可以看看:
通过以上介绍,相信大家对MySQL已经有了初步的了解,也知道了MySQL的开放性、包容性极高,当然,只了解这些肯定是远远不够的,这只是MySQL的入门知识的一小部分,目的是为了让大家对MySQL形成正确的印象和概念,除此之外还有关系数据模型、字符集、常用的SQL语法、范式、索引、常用的测试工具等等非常多的概念和知识。通过不断地努力学习相信大家一定能学好MySQL、学好数据分析。