和所有事物一样,Nosql的兴起也是由许多理论支撑作为前提的,正是由下面一些理论的支撑,Nosql的方向才能如此明朗。
1.CAP理论
CAP理论无疑是导致技术趋势由关系数据库系统向Nosql系统转变的最重要原因。
CAP(Consistency,Availability,Patition tolerance)理论论述的是在任何分布式系统中,只可能满足一致性,可用性及分区容忍性三者中的两者,不可能全部都满足。所以不用花时间精力在如何满足所有三者上面。
原理的证明简单的说就是,在保证分区容忍性的情形下,一致性和可用性是不可能同时达到的,高一致性就得牺牲可用性,高可用性就得牺牲一致性。(为什么要保证分区容忍性?因为在网络应用越来越大的今天,数据分区是一个基本要求)
证明过程:Brewer’s CAP Theorem
2.一致性hash
这个不用多说了,用过MC的人应该都清楚,直接上图:
3.MapReduce
MapReduce思想分为Map和Reduce两个部分,简单来说Map就是将大的计算量分片,以便并行的进行计算,Reduce就是将并行计算的结果进行组合,以便得到一个最终的输出。
更详细的描述见wikipedia:MapReduce
Google关于MapReduce的文档PDF版:MapReduce: Simplified Data Processing on Large Clusters
4.Gossip
Gossip是一个应用于p2p中的理论(不是当下流行的Gossip Girl[绯闻女孩]),他的主要过程是通过一个N节点集群中的每一个节点与所有其它N-1个节点进行通信,实现数据的同步,Gossip基于不要求集群中有一个Master存在,并能以病毒传播的方式将一个节点的变更传达到所有其它节点,而系统增加或减少一个结点的成本几乎为0。
更详尽描述见wikipedia:Gossip
and more…
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。