https://www.runoob.com/mongodb/nosql.html
MongoDB 菜鸟教程
数据库的类型
1. 关系型数据库
网络数据库和层次数据库存在缺陷(数据独立性、抽象级别)。关系型数据库可以很好的解决。
-
A(Atomicity) 原子性
事务transaction 要么全部做完,要么全部都不做。操作的步骤中只要有一个操作失败,整个事务都会失败,需要回滚。
i.e., 银行转账,从A账户转100元至B账户,分为两个步骤:1)从A账户取100元;2)存入100元至B账户。这两步要么一起完成,要么一起不完成,如果只完成第一步,第二步失败,钱会莫名其妙少了100元。
-
C(Consistency) 一致性
数据库要一直处于一致的状态,事务的运行不会改变一致性的约束。
i.e., 有约束 a+b = 10, 若a或b因事务发生了改变,则对应的一边也需要发生改变,以满足约束。
-
I (Isolation) 独立性
同时发生的事务不会受到彼此的影响,只要其中的事务没有被提交,则另一事务对数据库的访问就不会受到未提交事务的影响的。
i.e., 若交易为A账户转入100元到B账户,若交易未提交,B账户进行相关交易查看账户是不会看到新增的100元的。
-
D (Durability) 持久性
一旦事务提交后,它所做的修改将会永久的保存在数据库上。
2. 非关系型数据库
CAP定理(CAP theorem)
在计算机科学中, CAP定理(CAP theorem), 又被称作 布鲁尔定理(Brewer's theorem), 它指出对于一个分布式计算系统来说,不可能同时满足以下三点:
-
一致性(Consistency) (所有节点在同一时间具有相同的数据)
-
可用性(Availability) (保证每个请求不管成功或者失败都有响应)
-
分隔容忍(Partition tolerance) (系统中任意信息的丢失或失败不会影响系统的继续运作)