Session Guarantees for Weakly Consistent Replicated Data
这篇论文介绍了四种会话一致性的定义以及实现方法。这里的会话不仅表示一次连接,而是广义的,比如一个客户,多次连接也算一个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和限制

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

阅读更多
版权声明:转载请注明出处 https://blog.csdn.net/qiaojialin/article/details/53993787
个人分类: 论文笔记
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

不良信息举报

Session Guarantees for Weakly Consistent Replicated Data

最多只允许输入30个字

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭