No-SQL出现的原因?
PB级以上的数据,新型数据结构,json,图数据等
那No-SQL和SQL哪个好?
关系型有其生命力,已经存在了40多年,还在被广泛的使用 – 优美的数学模型支持– SQL与ACID等都在实践中被证明了是非常有用的 – 但是关系型系统的实现确实没有考虑到上述超大规模、多种数据类型。No-SQL也站露出不足,所以不能说孰优孰劣。
Dynamo
支持亚马逊公司电子商务平台上运行的大量服务
核心技术是一致哈希
对于这样的结构,每次key哈希到哪个区间就存到对应的节点上,出现节点崩溃的时候,顺着存到下一个节点。
除了节点崩溃之外,还有一个数据备份的问题,对于增加删除节点时候,数据如何备份?
Quorum机制:实现读写的一致性,也就是常听说的NWR三者的关系
R小,那么读的效率就高
W小,那么写的效率就高
而数据的一致性也只是最终一致,也就是分布式数据库设计的时候考虑的CAP性质,有限考虑AP,最终达到C就行。
Bigtable / HBase
Tablet是一个分布式Bigtable表的一部分
对于Put操作,
当memtable满的时候
get操作