摘要:
Vector clock是Dynamo用来解决数据一致性问题的一个算法,前提是遵循NRW理论,通过保证W+R>N保证强一致性,具体实现如下。 在写文件时,Vector Clock算法记录所有的更新版本,当读操作发生的时候返回多个版本,由客户端的业务成来解决这个版本冲突并合并各个版本。[上图来自于:http://upload.wikimedia.org/wikipedia/commons/5/55/Vector_Clock.svg]上图的场景是N=3,W=2,R=2。途中的具体实现如下:1、数据在t1时,数据在C变更,记录版本信息[C:1],然后t2时刻传播到B中[B:1,C:1]2、t3 阅读全文
posted @ 2013-12-18 10:20
Poorzerg
阅读(471)
评论(0)
推荐(0)
摘要:
Brewer在2000年UC Berkle的发言中提出,在设计和部署一个应用程序到分布式环境中的时候,存在着三点重要的系统需求需要详细考虑的[What he said was there are three core systemic requirements that exist in a special relationship when it comes to designing and deploying applications in a distributed environment],这三点需求就是由他提出来的理论:Consistency、Availability 和Part.. 阅读全文
posted @ 2013-12-18 10:16
Poorzerg
阅读(140)
评论(0)
推荐(0)
摘要:
基于HBase 0.94.3分析HBase总体结构图部分术语简介HMaster负责管理HRegionServer的接入,负责Region的管理分配,负责管理Table的创建于删除修改等操作。HRegion每个Table可以分裂成多个Region,每个Region为Table中的一个行区间。例如RowKey为0-100的Table,可以分裂成0-50以及51-100这两个Region。HRegionServer每个HRegionServer管理着多个Region,负责对Region的读写操作等HLog每个HRegionServer都有一个HLog用来记录所有操作,主要用于数据损坏时修复数据。物理 阅读全文
posted @ 2013-12-18 10:08
Poorzerg
阅读(404)
评论(0)
推荐(0)
摘要:
Lucene简介 Lucene中,以document的形式作为搜索的主体。document由fieldName和fieldValue所组成,每个fieldValue又可以由一个或多个term元素来组成。基于不同的分词及索引规则,可用于搜索fieldValue的term少于组成fieldValue的term。Lucene的搜索基于反向索引,包含着可用于搜索document的field信息。通过Lucene,可以正向查找document,以便了解其包含哪些field信息;也可以通过反向索引,通过搜索字段的term,来查询包含该term的document。[ 图1 ] Lucene总体架构 由图.. 阅读全文
posted @ 2013-12-18 09:45
Poorzerg
阅读(317)
评论(0)
推荐(0)
浙公网安备 33010602011771号