• mysql架构和历史


    1.mysql的逻辑结构

      a.第一层,基于网络的客户端/服务器的工具或者服务都有类似的结构,比如连接处理,授权认证,安全等

       b。第二层:包括查询解析,分析,优化,缓存以及所有内置函数,存储过程,触发器,视图等

      c。存储引擎,负责mysql中数据的存储和提取,

    1.1 连接管理与安全性

      每个连接拥有一个线程,服务器会负责缓存线程,因此不需要为每一个新建的连接创建或者销毁线程。

      当连接时,会进行认证,基于用户名,原始主机信息和密码,一旦连接成功,会继续认证该客户端是否具有执行某个特定查询的权限

    1.2 优化和执行

      mysql会解析查询,并创建内部数据结构,然后对其进行优化,包括重写查询,决定表的读取顺序,以及选择合适的索引等。

    2.并发控制

      在两个层面的并发控制 : 服务器层和存储引擎层

      

      2.1 读写锁

        共享锁和排他锁 ,也叫 读锁 和 写锁 ,

      2.2 锁粒度

        锁策略就是锁的开销和数据的安全性之间寻求平衡,

        表锁:会锁定整张表,

        行级锁:最大程度支持并发,

    3.事务

       一组原子性的sql查询,

       隔离级别: 未提交读,提交读,可重复读,可串行化

       事务日志:帮助提高事务的效率,使用事务日志,存储引擎在修改表的数据时只需要修改其内存拷贝,

       mysql中的事务: InnoDb,NDB cluster 

    4。多版本并发控制

      

    5.mysql的存储引擎

      Innodb引擎

        数据存储在表空间中,采用mvcc来支持高并发,实现了四个标准的隔离级别,默认级别是可重复读,

  • 相关阅读:
    [Angular 2] Handle Reactive Async opreations in Service
    移动应用中的流设计
    Linux/Unix--设备类型
    [CF 276C]Little Girl and Maximum Sum[差分数列]
    Java多态
    Shiro(4)默认鉴权与自定义鉴权
    HDU4667(有错)
    weblogic8.1 登陆5 ip 限制
    [置顶] struts2+hibernate+spring整合(annotation版)
    hdu2159 二维完全背包
  • 原文地址:https://www.cnblogs.com/suixin84/p/6518840.html
Copyright © 2020-2023  润新知