本文主要总结了在开发中需要了解的SQL数据库原理的知识结构,由于分布式开发的崛起, 我这里重点介绍与并发编程相关的锁机制和事务隔离性等知识。 最后基于这些知识点,拓展引入所有数据库原理的知识结构。
知识体系结构
首先需要对数据库原理相关的知识有个基本的了解,请看如下的文章和知识点:
基于上述知识体系,对锁的概念再进行补充:
- 在数据库系统领域,并发控制机制主要有两种,即锁和多版本机制。
基于上述知识体系,对事务隔离级别的概念再进行补充:
基于上述知识体系,主要还是围绕着并发方面的知识点,下面将重点阐述其它相关的知识体系:
- 脏读(Drity Read):某个事务已更新一份数据,另一个事务在此时读取了同一份数据,由于某些原因,前一个RollBack了操作,则后一个事务所读取的数据就会是不正确的。
- 不可重复读(Non-repeatable read): 在一个事务的两次查询之中数据不一致,这可能是两次查询过程中间插入了一个事务更新的原有的数据。
- 幻读(Phantom Read): 在一个事务的两次查询中数据笔数不一致,例如有一个事务查询了几列(Row)数据,而另一个事务却在此时插入了新的几列数据,先前的事务在接下来的查询中,就会发现有几列数据是它先前所没有的。