Session Guarantees for Weakly Consistent Replicated Data

原创 2017年01月03日 13:47:58
这篇论文介绍了四种会话一致性的定义以及实现方法。这里的会话不仅表示一次连接,而是广义的,比如一个客户,多次连接也算一个session。

四种一致性保证为:
read your writes:读操作能反映之前的写
monotonic reads:成功的读反映非下降的写集合
writes follow reads:写 在 他们依赖的读 后 传播
monotonic writes:写 在 逻辑上早于他们的写 之后 传播

实现上,在客户端和底层系统中间加一层session manager,负责客户端和服务器的连接管理,session manager维护一个read set和一个write set。都是写操作的集合。read set表示当前时刻session读到的相关写操作。write set表示当前时刻这个session写成功的写操作。

通过检查服务器的写集合是否包含reat set和write set就可以判断服务器节点能够提供以上四种一致性保证。


注意:

一个会话是一系列读写操作的抽象


会话不是为了保证原子性和可串行性。而是为单个应用提供一致的数据库状态。


为了满足一个会话的强一致,为这个会话提供服务的服务器为A,A需要限制提供一致数据副本的服务器集合。因为这样会对可用性产生影响,所以应用必须在一致性和可用性之间平衡。


一致性可以在每个单独的session中提供。在一个session中要求的保证不会影响其他会话的可用性。


这几种一致性可以被加在弱一致的数据副本上,通过版本向量可以简单实现,不用改或很少改变服务器的代码。

一个客户端每次连接服务器可能选择不同的节点,取决于cost和限制

提供服务的服务器的写顺序可以和接收到的不一样,只要结果不变就行 

版权声明:欢迎交流讨论,转载请注明出处

相关文章推荐

Foundation of Machine Learning 笔记第二部分——Guarantees for Finite Hypothesis Sets in Consistent Case

翻译自书本《Foundation of Machine Learning》2.2节。 证明了假设集有限且一致情况下的PAC保证...

翻译 CRUSH: Controlled, Scalable,Decentralized Placement of Replicated Data

CRUSH: Controlled, Scalable,Decentralized Placement of Replicated DataCEPH 的 CRUSH 算法原理概要新兴的的大规模分布式存...

Foundation of Machine Learning 笔记第三部分——Guarantees for Finite Hypothesis Sets in Inconsistent Case

《Foundation of Machine Learning》个人翻译 这篇文章来自该书2.3节

论文笔记--STC: A Simple to Complex Framework for Weakly-supervised Semantic Segmentation

---------------------- 论文是作为组内论文报告为大家讲述的,现在将一些重要思想摘录如下。 ---------------------- 论文是9月份NUS的发表在arXiv上...

#424 – 使ListBox 中每一项保持一致大小(Getting Data-Bound Items in a ListBox to Be a Consistent Size)

 之前演示了如何通过数据绑定向ListBox 中添加丰富的内容。 但问题是在垂直方向上各项的内容并没有对齐。我们在数据模板中使用的是StackPanel ,它会自动根据内容调整大小。 ...

Session Data Unit

本译文翻译自Net Services Administrator's Guide的第14章Optimizing Performance中对于SDU的介绍。 在一个典型数据库配置中,Oracle Ne...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Session Guarantees for Weakly Consistent Replicated Data
举报原因:
原因补充:

(最多只允许输入30个字)