一. 关系型数据库
建立在关系模型的基础上的一种数据库,关系模型表明了数据库中锁存储的数据之间的联系(一对一、一对多、多对多)
关系型数据库中数据被存放在各种表中,表中的每列存放着一条数据,每一行是一个数据记录。
大部分关系数据库支持事务的四大特性(ACID)
常见的关系型数据库:MySQL,SQL server,SQLite、Oracle
二. MyISAM和InnoDB引擎的区别
- MyISAM引擎只支持表级锁,而不支持行级锁,InnoDB支持行级锁
- MyISAM引擎不支持外键,而InnoDB支持
- MyISAM不支持事务,而InnoDB支持
- MyISAM无法做到MySQL数据库因异常退出之后进行数据的安全恢复,而InnoDB支持数据库再崩溃之后,恢复到崩溃前的状态,这个恢复的过程依赖于
redo log
- MyISAM不支持MVVC
三. 锁机制(锁粒度)
表级锁与行级锁:
- 表级锁:直接对整个表的数据进行加锁,是MySQL中锁粒度最大的一种锁,其实现简单,不会出现死锁,但是触发锁冲突的概率很高,导致并发度最低
- 行级锁:对操作的行加锁,是MySQL中锁粒度最低的一种锁,其可能会出现死锁,由于锁粒度小,并发度高,但是加锁的开销也最大