• Mysql数据库的基本结构和存储引擎简介


    一.Mysql的两层架构:

        

        1.SQL Layer():除了处理底层数据的所有功能,包括权限判断,sql解析,执行计划优化,query cache等

          子模块:1.初始化模块:Mysql Server启动时整个系统的初始化

              2.核心API:对底层操作的优化,

              3.网络交互模块:(实现底层交互的api)

              4.Client&Server:实现客户端与Mysql交互的协议

              5.用户模块:(实现连接权限控制,及用户授权)

              6.访问控制模块:(根据用户授权信息,控制用户可以访问的操作)

              7.连接管理,连接线程和线程管理:(监听用户的连接请求,转发到连接线程模块)

              8.Query的解析和转发模块

              9.Query cache模块:(缓存,提高性能)

              10.Query 优化器模块:(优化请求)

              11.表变更管理模块:(DML和DDL)

              12.表维护模块:(表的状态检查,错误修复)

              13.系统状态管理模块:(用于客户端请求系统参数时,返回用户系统参数)

              14.表管理器:()

              15.日志记录模块

              16.复制模块:

              17.存储引擎接口模块:(实现了存储引擎插件式管理)

        2.Storage Engine Layer(存储引擎层):实现底层数据的操作,由多种存储引擎组成

    二.存储引擎

      1.MyISAM存储引擎:这种引擎的表在数据库中,每个表被存放在三个以表命名的物理文件

        分别是存储表结构定义信息的.frm文件,存放数据的.MYD文件,存放索引的.MYI文件

         MyISAM支持下面三种索引:

          a.B-Tree索引(最常用的)

          b.R-Tree索引(很少使用)

          c.Full-text索引:全文索引,存储结构也是B-tree

         数据存放的的.MYD文件,存放数据的格式有:(创建表时,可自己选择是否压缩,默认不压缩)

          a.静态固定长度

          b.动态可变长度

          c.压缩

       2.Innodb存储引擎

        特点:

          1.支持事务(实现了4个隔离级别)

          2.数据的多版本读取

          3.锁定机制的改进(通过索引,实现行锁)

          4.实现了外键

         物理结构:

            第一部分:数据文件(表数据及索引数据)

            第二部分:日志文件

        3.NDB Cluster存储引擎(在无共享存储设备的情况下,实现存储)

          (用于Mysql的分布式集群环境)

           Mysql Cluster的环境组成:

            a.负责管理各个节点的Manage节点主机(必须最先启动,集群的配置,启动关闭各个节点)

            b.SQL层的SQL服务器节点(连接管理,query优化,cache)(不需要提供存储引擎)

            c.Storage层的NDB数据节点,(实现底层的数据存储功能)

          

  • 相关阅读:
    eclipse 直接向cloudfoundry部署应用
    jenkins slave节点服务 之 标签
    cloud foundry 中 url map/unmap
    公司Oracle生产库某用户中毒【AfterConnect.sql】
    怎样在 Linux 上查看某个端口的相关信息?
    怎样修改 VS Code 主题?
    怎样安装并编译TypeScript?
    怎样坚持写博客?
    第一个shell脚本
    python处理excel之读:xlrd模块
  • 原文地址:https://www.cnblogs.com/2nao/p/6592470.html
Copyright © 2020-2023  润新知