zoukankan      html  css  js  c++  java
  • 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来支持高并发,实现了四个标准的隔离级别,默认级别是可重复读,

  • 相关阅读:
    bind智能DNS + bindUI管理系统(mysql + bind dlz)
    什么情况下,英文单词中的k发音变g,t发音变d,p发音变b
    rsyn同步软链接保持不变
    yaml,json,ini这三种格式用来做配置文件优缺点
    自动挡车档位介绍
    "挡位"还是"档位",究竟谁错了
    Gitlab备份与恢复、迁移与升级
    树的名称大全
    手动档正确换档手势
    gitlab HA集群
  • 原文地址:https://www.cnblogs.com/suixin84/p/6518840.html
Copyright © 2011-2022 走看看