一、数据库应用类型
1. OLTP(联机事务处理):面向交易的处理系统,有点及时处理数据,及时回答,(实时系统)
2. OLAP(联机分析处理):复杂分析操作,侧重决策支持.
二、MYSQL数据库组成
主要部分
- 连接池组件(connection Pool)
- 管理服务和工具组件(Management Service &Utilities)
- SQL接口组件(SQL Interface)
- 查询分析器组件(Parser)
- 优化器组件(Optimizer)
- 缓冲组件(caches & buffers)
- 插件式存储引擎(Pluggable Stroage Engines)
- 物理文件(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编程.姜承尧》