当前位置: 首页 > news >正文

搜索引擎站长平台企业培训课程表

搜索引擎站长平台,企业培训课程表,电商美工的工作内容是什么,找供应商去哪个平台目录 1.什么是MySQL数据库 2.MySQL数据库的设计 MySQL的进一步认识 MySQL的客户端 —— mysql MySQL的服务端 —— mysqld 3.MySQL数据库的架构 MySQL架构图 连接层 服务层 存储引擎层 文件系统层 4.MySQL的存储引擎 认识存储引擎 MySQL中的存储引擎 存储引擎之…

目录

1.什么是MySQL数据库

2.MySQL数据库的设计

MySQL的进一步认识

MySQL的客户端 —— mysql

MySQL的服务端 —— mysqld

3.MySQL数据库的架构

MySQL架构图

连接层

服务层

存储引擎层

文件系统层

4.MySQL的存储引擎

认识存储引擎

MySQL中的存储引擎

存储引擎之间对比

1.什么是MySQL数据库

众所周知,数据库的作用是用来存储数据的,但是在数据库被发明出来之前,人们是依靠文件来存储数据,相信你也有这样的疑问,存储数据用文件不是挺好的吗,为什么还要有数据库呢?

因为,我们把数据存储起来,并不单单是为了存储数据,更重要的是,我们还需要使用数据,对数据做必要的增、删、改、查;一般的文件确实提供了数据的存储功能,但是并没有提供非常好的数据管理能力,使用文件存储数据有以下几个缺点

  • 数据的安全性难以保证
  • 不利于数据的查询和管理
  • 使用程序操作文件不便

这就要求有一种新的 能够存储数据的 并且还具有对数据的管理能力的事物来解决文件的这个短板,于是,计算机的大佬们设计出了更加利于管理数据的东西 —— 数据库。

那数据库是什么呢?数据库就是一种提供数据存储能力的文件,有自己的格式,能够让 mysqld 这样的服务直接进行增删查改,同时,数据库也提供了一套数据存储方案。

MySQL数据库就是数据库的一种具体实现,是一种具体的存储解决方案。

2.MySQL数据库的设计

MySQL的进一步认识

前面说了MySQL数据库是一套具体的存储解决方案,那这套存储解决方案是如何设计的呢?

我们可以使用 netstat -ltp 命令查看一下系统中运行的网络服务,列出所有处于监听状态的TCP端口以及每个端口上运行的程序名称和进程PID

我们可以看到 mysql 居然位列其中,说明MySQL是一种网络程序,也就是说,MySQL被设计成了一套网络服务程序

网络程序往往都具有客户端程序 和 服务器端程序,MySQL也不例外,MySQL的客户端程序是 mysql,MySQL的服务器端程序是 mysqld; 我们可以使用 which 命令查看MySQL 客户端程序 和 服务器端程序 所在的路径

所以我们可以进一步认识MySQL,MySQL的本质是一套基于CS模式的,提供数据存取服务的网络程序。

MySQL的客户端 —— mysql

MySQL的客户端是连接MySQL服务器并进行数据库操作的工具。这些客户端可以是命令行界面(CLI)的,也可以是图形用户界面(GUI)的;用户可以通过 mysql 向MySQL服务端 发送SQL语句(一种操作数据库的语言),进而来操作数据库,对数据库进行管理。 用户上层只需要输入SQL语句,MySQL的服务端会执行相应的语句,实现用户想要的结果。

MySQL的服务端 —— mysqld

MySQL的服务端负责处理客户端的连接请求、执行SQL语句、管理数据库文件和数据等任务。

服务端必须要能够为客户端提供良好稳定的运行服务,这就要求服务端的设计足够优秀、足够合理;因此,MySQL的服务端被设计成了四个层次,分别是连接层、服务层、存储引擎层、文件系统层,这四层统称为MySQL数据库的架构

3.MySQL数据库的架构

MySQL架构图

连接层

功能:连接层是MySQL架构中的最外层,负责处理客户端与MySQL服务器之间的连接和通信。它主要负责监听客户端的连接请求,进行权限验证,并维持和管理连接。(解决安全和链接管理)

组件

  • Connectors:MySQL为各种编程语言提供了访问接口(如JDBC),通过这些接口,客户端程序可以连接到MySQL服务器。
  • 连接池(Connection Pool):为了提高性能和响应速度,MySQL实现了连接池机制。连接池可以复用已经创建的数据库连接,减少创建和销毁连接的开销。同时,连接池还可以限制同时存在的连接数,避免服务器资源耗尽。

服务层

功能:服务层是MySQL架构中的核心部分,负责处理来自客户端的SQL请求,包括SQL解析、优化、缓存以及执行等。(词法语法分析。做词法语法分析,以及sql语句的优化)

组件

  • SQL Interface:是整个数据系统与用户进行交互的关键部分,负责接收并处理用户的SQL命令。
  • Parser(语法分析器):将用户输入的SQL命令转换成MySQL内部可以理解的指令,并进行词法分析和语法分析,最终生成一棵解析树。
  • Optimizer(查询优化器):根据解析树生成最优的执行计划,包括选择合适的索引、确定连接顺序等,以提高查询性能。
  • Cache & Buffers(缓存):在较早的MySQL版本中,存在查询缓存机制,用于缓存查询结果以提高查询性能。但从MySQL 8.0开始,查询缓存被删除,因为维护缓存的开销可能大于其带来的性能提升。此外,MySQL还包含其他类型的缓存,如表缓存、索引缓存等。
  • 执行器:根据优化器生成的执行计划,调用存储引擎提供的API来执行SQL语句,并返回查询结果给客户端。

MySQL架构中的这一层的工作有些类似于编译器的工作,只是解析和优化语句,并不直径执行用户输入的语句。

存储引擎层

功能存储引擎层负责数据的存储和提取,是MySQL架构中最底层也是最重要的部分之一。MySQL支持多种存储引擎,每种存储引擎都有其特点和适用场景。帮我们完成具体的数据存储方案。(这一层才是真正干活的)

组件

  • InnoDB:MySQL的默认存储引擎,支持事务处理、行级锁定和外键等高级数据库功能。
  • MyISAM:早期MySQL的默认存储引擎,但不支持事务处理,主要面向读密集型应
  • Memory:将数据存储在内存中,访问速度极快,但重启数据库后数据会丢失。
  • 其他存储引擎如Archive、Federated、CSV等,分别适用于不同的应用场景

文件系统层

功能:虽然文件系统层不直接体现在MySQL的官方架构图中,但它是存储引擎层与底层硬件之间的桥梁。文件系统层包含了MySQL的数据文件和日志文件等,是数据存储和访问的物理基础。

4.MySQL的存储引擎

认识存储引擎

MySQL的四层模型中,除了存储引擎层,其他三层都好理解。要想理解存储引擎,先要理解什么是引擎。

引擎二字的理解可以类比于汽车的发动机,发动机是用来驱动汽车进行运转的,MySQL的存储引擎也扮演着类似的角色。MySQL的存储引擎用来驱动这个数据库系统进行运转,它是数据库系统中负责数据存储、处理、保护和查询的核心组件,决定了数据库提供的功能、性能和特性。通过选择合适的存储引擎,可以优化数据库的性能和满足特定的应用需求。

具体来说,存储引擎是数据库中负责数据存储、处理、保护和查询的底层软件组织。它决定了数据库如何存储数据、如何为这些数据建立索引、以及如何进行数据的更新和查询等操作。不同的存储引擎采用不同的技术和方法来实现这些功能,因此它们提供的性能、功能和支持的特性也会有所不同。

在MySQL等数据库管理系统中,存储引擎是基于表的,而不是基于数据库的。这意味着在同一个数据库中,可以为不同的表选择不同的存储引擎,以满足不同的应用需求。例如,InnoDB存储引擎支持事务处理、行级锁定和外键约束等高级数据库功能,适合需要高可靠性和高性能的在线事务处理(OLTP)应用;而MyISAM存储引擎则提供了快速的读写速度和全文索引功能,适合以查询和插入操作为主的应用场景。

总结:存储引擎就是数据库管理系统如何存储数据、如何为存储的数据建立索引和如何更新、查询数据等技术的实现方法。

MySQL中的存储引擎

我们可以通过 show engines 在MySQL中查看存储引擎的种类。

可以看出MySQL支持多种存储引擎,这也是MySQL数据库的核心;其中默认的存储引擎是 InnoDB。

存储引擎之间对比

http://www.15wanjia.com/news/40598.html

相关文章:

  • 兰州网站建设公司武汉百度推广入口
  • 重庆哪家做网站好数据交换平台
  • 电子商务网站进度的基本流程seo运营经理
  • 建设心理网站seo中文意思是
  • WordPress最强大的主题济南seo小黑seo
  • 做中英文网站公司淘宝seo排名优化的方法
  • 国外好的设计欣赏网站杭州网站seo公司
  • java能网站开发吗短视频排名seo
  • 做团购网站需要多少钱seo sem是啥
  • 苏州做网站设计的公司有哪些sem电子扫描显微镜
  • 南昌网站做整合营销名词解释
  • 外星人做的网站安卓优化清理大师
  • 花生壳可以用来做网站吗品牌推广战略
  • 达州建设局网站百度快快速排名
  • 济南网站建设免费seo技术顾问
  • 服装设计公司有哪些seo兼职论坛
  • 制作简易网站模板文章推广平台
  • 网站建设 化工seo整合营销
  • 现在网站建设用什么软件app拉新任务平台
  • 网站建设摊销时间是多久芒果视频怎样下载到本地
  • 信阳住房和城乡建设厅网站公司产品营销广告宣传
  • 品牌的网站建设搜索广告是什么意思
  • 廊坊关键词seo排名网站成都自动seo
  • 教育培训网站模板seo排名优化seo
  • 做网站用什么团建seo广告
  • 关于电子商务网站建设的现状sem竞价推广是什么
  • 如何做汽车的创意视频网站seo搜索排名
  • 成都网站建设推进方案淘宝seo什么意思
  • 凉山州住房与城乡建设局网站微信小程序怎么做店铺
  • 链接分析属于网站开发百度的官方网站