开发者学堂课程【MySQL 实操课程: MySQL 介绍】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/717/detail/12796
MySQL介绍
内容介绍
一、简介
二、MySQL 特点
一、简介
1、MySQL 是一个关系型数据库管理系统,开发者为瑞典 MySQL AB 公司;
MySQL 主要是用来存储数据的数据库管理系统,数据也包含结构化的数据和非结构化的数据以及半结构化的数据。
对于一些非结构化的数据,一般会把它存在专门的文件系统。
非结构化数据:比如像文件、视频、语音、图片等等,这种一般会存到专门的文件系统。
半结构化数据:它的结构是没办法提前预设的,结构是多变的。
结构化数据就是有固定结构的数据,这种直接存到关系型数据库。
过去都是以结构化数据为主,随着大数据时代的到来,半结构化以及非结构化数据也越来越多了,所以要清楚 MySQL 是处在存储结构化数据对应的关系型数据库管理系统这一层面。
2、MySQL 比较小巧、实用、性能比较高;适合中小型软件开发﹔开发成本比较低,经济实用;
随着互联网时代的到来,MySQL 不仅仅是仅局限于一些中小型软件开发,一些大型应用也开始慢慢使用 MySQL 数据库。
因为 MySQL 发展非常迅速,而且对于海量数据的存储,也有自己的解决方案,比如 MySQL 集群。
3、其他数据库,有 Oracle (甲骨文)、SQLServer (微软)、DB2 (IBM) 等;
这三种数据库属于非开源、商业的数据库,MySQL 和这些数据库相比较,实际上它的功能完整性和效率不亚于这些商业数据库。
MySQL 介绍,从诞生到最新 MySQL 发布的版本经历了很多阶段:
时间 |
事件 |
2003年3月 |
发布MySQL 4.0 |
2004年10月 |
发布MySQL 4.1 |
2005年10月 |
发布MySQL 5.0 |
2008年1月 |
被sun公司收购 |
2013年2月 |
发布MySQL 5.6 |
2015年12月 |
发布MySQL 5.7 |
2018年4月 |
发布MySQL 8.0.11 |
MySQL 5.0版本加入了存储过程、游标、视图、事务管理等功能,对查询的优化器也做了一些改进。
MySQL 5.7版本也是在实际生产环境推荐使用的版本,也是目前在生产环境中应用比较多的版本,也是本次课程讲的版本。
这个版本主要是在功能以及性能上面做了很大的提升,并且对于安全性上也做了一些加固,特别是在安装这个版本的时候,对用户权限管理,做了很多安全加固的工作。
MySQL 8.0.11和其他版本相比较,命名方式有了一个比较大的改变,这个8.0确确实实相比较前面的版本来说在功能上虽然没有太多改变,但是对于底层的源代码进行了重构,特别是对于 MySQL 底层的优化器做了一些改进,对隐藏索引也做了一些支持。
从8.0开始彻底的提出了 MyECS 的存储引擎。
MySQL 5.7 根据实际的官方数据,在OLTP 只读模式下,比 MySQL 5.6快了大概三倍的速度,在读写模式下5.7比5.6快近2.5倍的速度。
在速度的层面,新的版本相比较于旧的版本都会有很大的提升。
二、MySQL 特点
1、开源
企业在选型,具体数据库产品的时候,首先考虑的风险点是可控,也就是这个产品,企业在后续使用当中不会存在一些限制,有一些好的生态,遇到问题不用担心找不到资料。
使用过程中有可能会基于原有的开源的版本做一些改造、优化,所以在选型、数据库产品是会考虑是否是开源的。
2、免费
MySQL 分为企业、商业版和社区免费版,企业版在官方不直接提供下载,社区版是可以在官网直接下载。
3、跨平台
MySQL 可以安装各个操作系统版本的 MySQL 版本,而且在实现平台间迁移的时候,只需要在对应的目标平添安装对应版本的 MySQL 数据库即可。
4、安全性高
相比较其他一些商业数据库产品,他对于一些安全的策略和商业数据库差不多。
5、成本低
一方面是免费,另一方面 MySQL 对服务器资源的要求是不高的。
6、支持各种开发语言
7、支持强大的内置函数
函数对于数据库来说,相当于提供了一系列丰富的功能,特别是原来要通过大量的代码在应用里面实现,现在可以通过数据库里面的函数实现。
好处是:如果在应用里实现会存在网络通信的问题,而数据库本本身提供支持,那么就可以直接替代在代码层面做的一些复杂处理,而且可以减少网络之间的开销。
8、数据存储量大
不仅仅是 MySQL 本身的单一版,因为 MySQL 也支持集群,包括 MySQL 对于表的分区的支持和集群的支持还有一系列读写分离等等。