version vector 和 vector timestamp(clock)
来源:互联网 发布:山东工商学院网络课 编辑:程序博客网 时间:2024/06/05 05:32
version vector 和 vector timestamp是 causality 关系的在分布式系统两个领域上的应用,前者是replica之间的causality关系,后者是event 的的causality关系
对于前者一般用compatible 和 conflict,后者一般用happen-before 和 concurrent
两个replica的version是compatible的是说一个是另一个的ancestor,否则就是conflict的;对于compatible的,用较新的更新,对于conflict需要merge(reconcile)
vector的每个分量叫concurrent source,对应于一个process,或一个replica。
一些概念:
modification id: 全局unique的一个id,一般就是(site, local sequence)
modification history: 就是一个version包含的所有modification id, 两个版本如果包含有不同的 modification id就incompatible的(compatible是一个是另一个的子集)
version vector是优化版 modification history,modification history太大了
version vector有个缺点,同一个replica上的modification和 lww(last write win)类似,有更新丢失问题,也就是基于同一状态不同client进行不同的修改问题。常见做法是把所有的sibling作为一个组都归到一个version vector( serverId, seqeunce) 对应的版本下。将来在merge。
https://haslab.wordpress.com/2011/07/08/version-vectors-are-not-vector-clocks/
- version vector 和 vector timestamp(clock)
- Vector Clock/Version Clock
- Vector Clock
- Vector Clock
- Vector clock
- CAS和vector clock笔记
- vector clock algorithm (forward)
- 简单的Vector Clock
- Vector Clock理解
- vector clock 向量时钟
- Vector Clock算法的理解
- Vector Clock算法的理解
- Vector Clock算法的理解
- 对Vector+Clock算法的理解
- 对Vector+Clock算法的理解
- vector clock算法保证版本信息
- 向量时钟Vector Clock in Riak
- 向量时钟Vector Clock in Riak
- 登入过程分析
- 提取assets.car中的图片 .car文件的解压
- JODD 调用 WEB.PY 服务的实现方式
- Android ActionBar应用实战,高仿微信主界面的设计
- 几种常用的JVM监控工具
- version vector 和 vector timestamp(clock)
- iptables
- Python下MySQL数据库操作
- 指针部分疑点解释
- Kafka 说过的话
- Unity的四种坐标系
- Objective-C语言_面向对象(继承)
- 安卓数据库编程之Sqlite
- DevExpress .NET界面示例集锦