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编程.姜承尧》

  • 相关阅读:
    Docker安装MySQL&Redis
    使用VirtualBox+Vagrant快速搭建Linux虚拟机环境
    Java集合工具类的一些坑,Arrays.asList()、Collection.toArray()...
    1.docker常用命令
    4. 带有延迟时间的Queue(DelayQueue)
    3. 基于优先级的Queue(PriorityBlockingQueue)
    2. 常见的Queue
    1. 模拟Queue
    14. 线程调度
    13. 线程池
  • 原文地址:https://www.cnblogs.com/coloz/p/12978221.html
Copyright © 2011-2022 走看看