Quorum (分布式系统)

✍ dations ◷ 2025-11-11 11:37:38 #投票,算法

Quorum 机制,是一种分布式系统中常用的,用来保证数据冗余和最终一致性的投票算法,其主要数学思想来源于鸽巢原理。

在有冗余数据的分布式存储系统当中,冗余数据对象会在不同的机器之间存放多份拷贝。但是同一时刻一个数据对象的多份拷贝只能用于读或者用于写。

该算法可以保证同一份数据对象的多份拷贝不会被超过两个访问对象读写。

算法来源于。 分布式系统中的每一份数据拷贝对象都被赋予一票。每一个读操作获得的票数必须大于最小读票数(read quorum)(Vr),每个写操作获得的票数必须大于最小写票数(write quorum)(Vw)才能读或者写。如果系统有V票(意味着一个数据对象有V份冗余拷贝),那么最小读写票数(quorum)应满足如下限制:

第一条规则保证了一个数据不会被同时读写。当一个写操作请求过来的时候,它必须要获得Vw个冗余拷贝的许可。而剩下的数量是V-Vw 不够Vr,因此不能再有读请求过来了。同理,当读请求已经获得了Vr个冗余拷贝的许可时,写请求就无法获得许可了。

第二条规则保证了数据的串行化修改。一份数据的冗余拷贝不可能同时被两个写请求修改。

在分布式系统中,冗余数据是保证可靠性的手段,因此冗余数据的一致性维护就非常重要。一般而言,一个写操作必须要对所有的冗余数据都更新完成了,才能称为成功结束。比如一份数据在5台设备上有冗余,因为不知道读数据会落在哪一台设备上,那么一次写操作,必须5台设备都更新完成,写操作才能返回。

对于写操作比较频繁的系统,这个操作的瓶颈非常大。Quorum算法可以让写操作只要写完3台就返回。剩下的由系统内部缓慢同步完成。而读操作,则需要也至少读3台,才能保证至少可以读到一个最新的数据。

Quorum的读写最小票数可以用来做为系统在读、写性能方面的一个可调节参数。写票数Vw越大,则读票数Vr越小,这时候系统读的开销就小。反之则写的开销就小。

相关

  • 梵(梵语:ब्रह्मन्,bráhman),印度宗教概念,源于自祭祀仪式所得的神秘力量,指宇宙的超越本体和终极实在,现世相对来说则只是不真的现象。又如:梵心(清净之心)、梵志(以清静为志)、
  • 固体物理学固体物理学是凝聚态物理学中最大的分支。它研究的对象是固体,特别是原子排列具有周期性结构的晶体。固体物理学的基本任务是从微观上解释固体材料的宏观物理性质,主要理论基础
  • 冬季防线冬季防线,是德军于第二次世界大战期间在意大利建立的一系列防御工事,它是在大战中由托特机构建设而成,其中最重要的防御工事,叫古斯塔夫防线,由从北面而来流入西面第勒尼安海的加
  • 3月3月是公历年中的第三个月,是大月,共有31天。在北半球,3月是春季的第一个月,本月节气有:惊蛰、春分;在南半球,3月是秋季的第一个月。英文中的3月(March)来源于古罗马战神玛尔斯。
  • TBSTBS可以指:
  • 萧尔斯·曼宁切尔西·伊丽沙白·曼宁(英语:Chelsea Elizabeth Manning,1987年12月17日-),本名布拉德利·爱德华·曼宁(英语:Bradley Edward Manning),生于美国俄克拉荷马州,曾为美国陆军上等兵,于201
  • 肥皂 (电影)《肥皂》(丹麦语:En Soap)是2006年的电影作品,为丹麦导演佩妮莱·费雪·克里斯藤森(丹麦语:Pernille Fischer Christensen)执导的第一部剧情长片。本片使用了许多带有逗马风格的手
  • 小施雷克峰坐标:46°36′06″N 8°06′08.6″E / 46.60167°N 8.102389°E / 46.60167; 8.102389小施雷克峰(Kleines Schreckhorn),是瑞士的山峰,位于该国南部,由伯恩州负责管辖,属于伯尔尼兹
  • 查尔斯·伯捷查尔斯·苏德斯·伯捷(英语:Charles Souders Paget;1874年-1933年),美国建筑师、土木工程师,是19世纪末至20世纪初的广州知名建筑师,被誉为广州近代建筑之父。生于美国新泽西州,20世
  • 守夜人国家守夜人国家(night-watchman state)是一种国家形式,其以小政府为特点。在守夜人国家,政府的唯一角色就是透过军队、警察、法院来确保每位公民皆在遵守互不侵犯原则,以让他们免受侵