- 存储分类:
-
列存储(Column-oriented)
-
键/值存储(Key-value)
-
文档数据库(Document-oriented)
- 图形数据库(Graphic Database)
-
- 一致哈希
- CAP原理
CAP理论最早是在2000年7月19号,由Berkeley的Eric Brewer教授在ACM PODC会议上的一个开题演讲中提出。此后,MIT的Seth Gilbert和Nancy Lynch,理论上证明了Brewer猜想是正确的,CAP理论在学术上正式作为一个定理出现了。
-
- 分布式数据系统的CAP原理的三要素:
-
一致性(Consistency) 任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的;
-
强一致性
-
弱一致性
-
最终一致性
-
-
可用性(Availability) 每一个操作总是能够在确定的时间内返回,也就是系统随时都是可用的;
-
分区容忍性(Partition tolerance) 在出现网络分区(比如断网)的情况下,分离的系统也能正常运行(容易把容错理解为分区容忍性)
CAP原理:在分布式系统中,这三个要素最多只能同时实现两点,不可能三者兼顾
-
-
考虑CA,这就是传统上的关系型数据库(RMDB).
-
考虑CP,主要是一些Key-value数据库,代表为google的Big Table
- 考虑AP,主要是一些面向文档的适用于分布式系统的数据库,如CouchDB。
-
- BASE
-
Basically Availble --基本可用
-
Soft-state --软状态/柔性事务 "Soft state" 可以理解为"无连接"的, 而 "Hard state" 是"面向连接"的
- Eventual Consistency --最终一致性,最终一致性, 也是是 ACID 的最终目的。
-
BASE模型反ACID模型,完全不同ACID模型,牺牲高一致性,获得可用性或可靠性,可以说BASE是AP的延伸。
BASE思想的主要实现有
1.按功能划分数据库
2.sharding碎片
- 其他
-
I/O的五分钟法则
-
不要删除数据
-
RAM是硬盘,硬盘是磁带
-
策略
-
sharding
-
Quorum NRW
-
Vector clock
-
Virtual node
-
Gossip
-
Merkle tree
-
Paxos
- Amdahl法则
- Gustafson法则
- Little法则
- 消息成本模型
-
-
参考: