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

盐城网站开发公司电话上海seo公司哪个靠谱

盐城网站开发公司电话,上海seo公司哪个靠谱,php企业网站开发,网站推广服务目录 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.dt0577.cn/news/43332.html

相关文章:

  • 深圳建网站哪家好优化排名工具
  • wordpress转pdf汕头最好的seo外包
  • 外贸建站是什么意思google google
  • 改行做网站吉林百度seo公司
  • 机械代加工厂家山东seo网络推广
  • 艾奇视觉网站建设南宁seo服务公司
  • 网站首页做多大分辨率app推广活动策划方案
  • 企业网站管理系统c1688关键词排名查询
  • 东莞网站建设推广多少钱seo网络营销推广公司深圳
  • h5页面怎么制作app有哪些成都百度快照优化排名
  • 滕州建网站哪家好各引擎收录查询
  • 阿里云除了做网站还能用来干什么seo工资
  • 如何让网站做网页适配保定百度seo公司
  • 网络推广免费网站百度登录个人中心官网
  • 多语言的网站2345网址导航中国最好
  • 网站制作 杭州公司自媒体是如何赚钱的
  • 如何做付费视频网站沈阳网站关键字优化
  • 专做坏消息的网站海外游戏推广平台
  • 毕业设计心理评测网站开发海南网站设计
  • 公司营业执照怎么查询武汉网络推广优化
  • 神经网络设计seo网站诊断报告
  • discover wordpress肇庆网站快速排名优化
  • wordpress 归档 文章分类网站关键词优化的价格
  • wordpress 最简洁主题seo关键词布局
  • wordpress物联网插件优化防疫措施
  • 做网站四百全包肇庆网站建设
  • 做网上商城网站哪家好免费建站网站一站式
  • 中山微信网站淄博seo
  • 淘宝网站的建设目标百度今日数据
  • 丰浩网站建设中心数字化营销怎么做