架构师第六周 总结
分布式数据库的引出 :发射海量数据,一张表存不下,需要通过数据分片来完成。一种方式是 硬编码:比如对ID取模,然后分配服务器,或者引入外部表。 第二种 采用更多的工业化方案是,利用数据库中间件:比如中间件。
介绍了Cassandra的投票读取机制和 Hbase的方案,(通过 HRegionServer 保持数据一致性)。 无论采用哪种方式, 都必需满足CAP原则。 可用性、一致性、分区耐受性同时一时间只能满足两条。
关系型数据库和Nosql 的满足的事物特性不同 分别是: ACID与BASE
ACID:
A原子性(Atomicity):全部完成或全部取消,不部分生效。
I隔离性(Isolation):事务之间不互相影响。一般通过锁实现。
D持久性(Durability):事务提交后,数据必须要成功保存到硬盘中。
C一致性(Consistency):合法数据(满足关系约束和函数约束)才可以写入到数据库。
BASE:
BA(Basically Available)系统出现不可预知故障时,允许损失部分可用性,如相应变慢,部分功能不可用。
S(Soft state)弱状态:允许不同节点的数据副本之间进行数据同步的过程存在延时。
E(Eventually consistent)最终一致性:经过一段时间的同步后,不同数据副本之间能最终一致。
评论