MySQL学习笔记(1)

来源:互联网 发布:android 仿淘宝搜索 编辑:程序博客网 时间:2024/06/07 20:54

OLTP(On-Line Transaction Processing):联机事务处理,是传统关系型数据库的主要应用,主要是基本的日常的事务处理。
OLAP(On-Line Analytical Processing):联机分析处理,是数据仓库系统的主要应用,支持复杂的分 析操作,侧重决策支持, 并且提供直观易懂的查询结果。
InnoDB存储引擎

  1. 事务安全型存储引擎。

  2. InnoDB存储引擎体系架构:
    这里写图片描述
    可认为内存块组成内存池,负责以下工作:
    维护所有进程/线程需要访问的内部数据结构。
    缓存数据,方便读取。
    重做日志缓冲。
    后台线程主要负责刷新内存池数据。
    后台线程
    InnoDB为多线程模型。
    Master Thread:核心线程,负责将缓冲池中的数据异步刷新到磁盘,保证数据一致性。
    IO Thread:write、read、insert buffer、log IO thread。
    Purge Thread:回收已使用并分配的undo页。
    Page Cleaner Thread。
    缓冲池
    缓冲池中缓存的数据页类型有索引页、数据页等。如下图,
    这里写图片描述
    缓冲池管理:LRU List、Free List和Flush List

  3. Checkpoint技术
    解决以下问题:
    缩短数据库回复时间。
    缓冲池不够用时将脏页刷新到磁盘。
    重做日志不可用时,刷新脏页。
    两种Checkpoint
    Sharp Checkpoint:发生在数据库关闭时,将脏页(即数据变化的页)刷新回磁盘。
    Fuzzy Checkpoint:在数据库运行时刷新部分脏页。
  4. Master Thread工作方式
    一秒和十秒
  5. InnoDB关键特性:
    插入缓冲
    两次写
    自适应哈希索引
    异步IO
    刷新邻接页

以上引自《MySQL技术内幕:InnoDB存储引擎》