zoukankan      html  css  js  c++  java
  • MySql 技术内幕 (数据库组成和引擎)

    一、数据库应用类型

    1. OLTP(联机事务处理):面向交易的处理系统,有点及时处理数据,及时回答,(实时系统)

     2. OLAP(联机分析处理):复杂分析操作,侧重决策支持.

     

    二、MYSQL数据库组成

     主要部分

    1. 连接池组件(connection Pool)
    2. 管理服务和工具组件(Management Service &Utilities)
    3. SQL接口组件(SQL Interface)
    4. 查询分析器组件(Parser)
    5. 优化器组件(Optimizer)
    6. 缓冲组件(caches & buffers)
    7. 插件式存储引擎(Pluggable Stroage Engines)
    8. 物理文件(File System)

    三、数据库引擎

    1. Innodb:

    行锁设计,支持外键;
    隔离级别,默认REPEATABLE, 使用next-key locking 策略避免幻读;
    提供插入缓冲(insert buffer),二次写(double write),自适应哈希索引,预读等高性能和高可用的功能;
    存储方式:聚集(clustered)) ,每张表按照主键顺序存储的,如果没有主键,生成一个6字节的rowid作为主键;
     
    2.MyIsam
    不支持事务,无表锁,支持全文索引,缓冲池只cache索引文件,不缓存数据文件
     
    3.NDB存储引擎
    集群,share nothing 的集群架构,数据在内存中,主键查找速度极快可在线添加存储节点,高可用,高性能,高可扩展性,
     
    4.Memroy存储引勤
    数据都在内存中,重启或崩溃表数据会小时,适用于临时数据临时表, 默认使用hash索引,而不是B+树索引
     
    5.InfoBright
    第三方,按照列而非行存储,适合OLAP应用,
     
    6.NTSE
    网易开发的,不支持事务, 提供压缩,行级缓存,

     

    参考: 《MySQL技术内幕:SQL编程.姜承尧》

  • 相关阅读:
    USACO Section 2.2 Subset Sums
    九度 1399 名侦探柯南
    九度 1416 猴子吃坚果
    pch文件的使用(原作者太逗了)
    线程同步
    extern "c"
    进程与线程
    排序算法代码汇总
    Linux Shell 常用命令与目录分区的学习总结 (开始学习linux)
    堆和栈
  • 原文地址:https://www.cnblogs.com/coloz/p/12978221.html
Copyright © 2011-2022 走看看