Quorum (分布式系统)

✍ dations ◷ 2025-11-26 06:35:26 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 祈祷祷告,或称祈祷,是主动和上帝(天主)、神灵或灵性的个体沟通来赞美、祈求、忏悔或者表达自己的思想或愿景的行为。不同信仰传统有不同祷告形式,例如早祷晚祷、谢饭祷和相关的身体姿
  • 反应性离子蚀刻法反应离子刻蚀(英文:Reactive-Ion Etching,或简写为RIE)是一种半导体生产加工工艺,它利用由等离子体强化后的反应离子气体轰击目标材料,来达到刻蚀的目的。气体在低压(真空)环境下由
  • 王鼎昌王鼎昌,GCMG(Ong Teng Cheong,1936年1月22日-2002年2月8日),是新加坡首任民选总统,也是华人世界史上首位民选总统。1936年1月出生于新加坡,1955年毕业于华侨中学之后曾留学于南澳大
  • 清初五大师明末清初五大师是指明末清初的五大学者,他们分别是:黄宗羲、顾炎武、方以智、王夫之、朱之瑜(朱舜水)。五位学者均参加过明朝末年的抗清战争,失败后均致力于学术。其中黄宗羲、顾
  • 河滨-圣贝纳迪诺 (内陆帝国)内陆帝国(英语:Inland Empire,当地简称I.E.,中国大陆来的海外华人时称“爱伊”或“埃伊”),美国人口调查局所使用的官方称呼为里弗赛德-圣贝纳迪诺-安大略都会区(Riverside-San Berna
  • 临颍县临颍县(拼音:Lín Yǐng Xiàn)是中国河南省漯河市下辖的一个县。汉高祖六年(前201年)析许县置,因濒临颍河得名。临颍位于河南省中部,黄河南岸。县境西与襄城县交界,北与许昌县毗邻,
  • 国际希勒尔希勒尔:犹太校园生活基金会(英语:The Foundation for Jewish Campus Life),简称国际希勒尔或希勒尔,是世界上最大的犹太校园组织。其组织遍布全球五百多所大学,并与上千名学生合作
  • 陈伯平陈伯平(1885年-1907年7月6日),原名师礼,改名渊,字墨峰,号白萍生、光复子。籍贯浙江绍兴。清末光复会会员,安庆起义参与者。少时生活在福建福州,1898年进入福建武备学堂。1901年进入福
  • 星际之门 (电影)《星际之门》(英语:,另译:星际奇兵)是一部于1994年发行的美国科幻电影,由狄恩·德夫林(英语:Dean Devlin)(Dean Devlin)及罗兰·艾默瑞奇(Roland Emmerich)编剧,艾默瑞奇执导,库尔特·拉塞
  • 虎纹刺尻鱼虎纹刺尻鱼,为辐鳍鱼纲鲈形目鲈亚目盖刺鱼科的其中一个种。本鱼分布于印度西太平洋区,包括马尔代夫、印度、斯里兰卡、圣诞岛、澳洲等海域。水深10至30米。本鱼体椭圆形,体色大