加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

当数据库碰着漫衍式,你会怎么做?

发布时间:2020-03-08 03:46:43 所属栏目:编程 来源:站长网
导读:副问题#e# 数据库凡是有着完美的事宜支持,可是范围于单机的存储和机能,于是就呈现了各类漫衍式办理方案。最近读了《Designing Data-Intensive Applications》这本书,以是做一个总结,供各人做个参考,有什么差池的请各人指正,一路接头。 数据模子 数据

我们知道漫衍式体系中,各个呆板拥有沟通的时钟(全局时钟)是不太也许的。1978年Lamport在一篇论文中提出了一种逻辑时刻戳,来办理漫衍式体系中区分变乱产生的时序题目。这篇论文是漫衍式辖档挽域被引用最多的论文之一。

当数据库碰着漫衍式,你会怎么做?

Lamport时刻戳就是两者的简朴团结:时刻戳/计数器 + 节点ID,法则如下:

每个变乱对应一个Lamport时刻戳,初始值为0

假如变乱在节点内产生,当地历程中的时刻戳加1

假如变乱属于发送变乱,当地历程中的时刻戳加1并在动静中带上该时刻戳

假如变乱属于吸取变乱,当地历程中的时刻戳 = Max(当地时刻戳,动静中的时刻戳) + 1

变乱的次序凭证时刻戳排序,时刻戳沟通则凭证节点ID巨细排序

上图,ABC节点的全部变乱的全序相关如下:

当数据库碰着漫衍式,你会怎么做?

Lamport时刻戳背后的头脑是:两个变乱可以成立时序(因果)相关的条件是两个变乱之间是否产生过信息转达。因此Lamport时刻戳只担保因果相关(偏序)的正确性,不担保绝对时序的正确性。

全序广播

Lamport时刻戳通过动静的转达来确定变乱的时序相关,引出了全序广播(在节点间互换动静的协议)。全序广播必要满意两个安详属性:

靠得住交付 (reliable delivery),没有动静丢失:假如动静被转达到一个节点,它将转达到全部节点

全序交付(total ordered delivery),动静以沟通的次序转达给每个节点

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读