zoukankan      html  css  js  c++  java
  • mysql 架构

    1、架构

         逻辑架构图

      

        包括:

       

    连接器(Connectors):对外提供调用接口。java php等。

    系统管理和控制工具(Management Serveices & Utilities): 如备份(Backup),恢复(Recovery),安全管理(Security)等

    连接池(Connection Pool):通讯,接受指令,传递数据

    SQL Layer MySQL业务层(Service层)

      SQL接口(SQL Interface)   接收用户SQL命令,如DML,DDL和存储过程等,并将最终结果返回给用户。
           解析器(Parser)接收SQL DML DDL   词法解析/语法解析  形成语法树  ,若解析错误则抛出异常
           查询优化器(Optimizer)  优化sql执行,索引选择
           查询缓存(Cache和Buffffer) 缓存和缓冲组件

    存储引擎(Pluggable Storage Engines) :

      可插拔式存储引擎层(影响性能) :  将数据从文件系统中存储或查询。
      存储引擎 : 以表为单位    create  table xxx() engine=InnoDB 默认使用的存储引擎是InnoDB。
      常用:MyISAM  高速引擎,拥有较高插入,查询速度,但不支持事务,不支持行锁。表只用来读的时候可用                   
                InnoDB 5.5版本后Mysql的默认数据库,支持事务和行级锁定,事务处理、回滚、崩溃修复能力和多版本并发控制的事务安全,,支持外键 
           Memory  内存存储,不存在磁盘
      

    存储引擎的选型: 

    InnoDB:支持事务处理,支持外键,支持崩溃修复能力和并发控制。如果需要对事务的完整性要求比
    较高(比如银行),要求实现并发控制(比如售票),那选择InnoDB有很大的优势。如果需要频繁的
    更新、删除操作的数据库,也可以选择InnoDB,因为支持事务的提交(commit)和回滚(rollback)。
    MyISAM:插入数据快,空间和内存使用比较低。如果表主要是用于插入新记录和读出记录,那么选择
    MyISAM能实现处理高效率。如果应用的完整性、并发性要求比 较低,也可以使用。 
    MEMORY:所有的数据都在内存中,数据的处理速度快,但是安全性不高。如果需要很快的读写速度,
    对数据的安全性要求较低,不需要持久保存,可以选择MEMOEY。它对表的大小有要求,不能建立太大
    的表。所以,这类数据库只使用在相对较小的数据库表。
    注意:同一个数据库也可以使用多种存储引擎的表。如果一个表要求比较高的事务处理,可以选择
    InnoDB。这个数据库中可以将查询要求比较高的表选择MyISAM存储。如果该数据库需要一个用于查询
    的临时表,可以选择MEMORY存储引擎。
     
    简版执行流程图
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    白兔的字符串(字符串hash+模拟map)
    [TJOI2013]单词(AC自动机+前缀和维护)
    [SDOI2014]数数(ac自动机+数位DP)
    阿狸的打字机(AC自动机+dfs序 + 维护区间值)
    string(AC自动机 在线询问转离线询问)
    E
    JMX超详细解读
    快速生成100万数据人员信息数据
    聊聊spring之bean对象的实例化过程
    聊聊spring之贯穿全局的重要对象BeanDefinition
  • 原文地址:https://www.cnblogs.com/vindycxy/p/12395473.html
Copyright © 2011-2022 走看看