Quorum (分布式系统)

✍ dations ◷ 2025-11-28 01:59:56 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 法医毒理学法医毒理学(Forensic toxicology)是一门主要应用毒理学及有关学科的理论和技术,研究与法律有关的自杀、他杀和意外或灾害事故引起中毒的学科。药物滥用、环境污染、医源性药物
  • 冯守华冯守华,中国无机化学家。生于吉林磐石。1978年毕业于吉林大学化学系,1983年和1986年先后获得该校硕士、博士学位。现任吉林大学化学学院院长,无机合成与制备化学国家重点实验室
  • 群体平均平均数(英语:Mean,或称平均值)是统计中的一个重要概念。为集中趋势的最常用测度值,目的是确定一组数据的均衡点。在统计中算术平均数常用于表示统计对象的一般水平,它是描述数据集
  • 发电机假说发电机理论或发电机原理(英语:Dynamo theory)是一个关于天体磁场的假说,人们相信地球磁场是由于地球外核中熔融铁、镍的对流以及整个行星自转的科里奥利力作用造成的。当导电流
  • TAS2R14味觉感受器,类型2,成员14,TAS2R14 是一个人类基因组中基因编码的蛋白质,是苦味味觉感受器的一员。该基因所属的味觉感受器家族是G蛋白偶联受体超家族中的一员,其蛋白主要表达在舌
  • 阿联酋中央银行阿联酋中央银行(阿拉伯语:مصرف الإمارات العربية المتحدة المركز‎)是阿拉伯联合酋长国的中央银行,发行货币迪拉姆(ISO 4217:AED)。银行于1980年1
  • 南北货南北货,涉及柴、米、油、盐、酱、醋、茶等料理所需,或称“南北杂货”、“杂货”,偶兼售五金或日用品。说法不一,是指满清时代的商人,多透过同业公会方式于南、北“郊”等进行买卖
  • 第一次圣萨尔瓦多城战役第一次圣萨尔瓦多城战役(First Battle of San Salvador),台湾荷兰统治时期南台湾荷兰人驻军与台湾西班牙统治时期北台湾西班牙人驻军之间的一次战役,发生于于1641年8月,主要战
  • 济州航空航点下表为韩国济州航空之飞航航点列表:
  • 格兰特纪念币格兰特纪念币(英语:Grant Memorial coinage)是美国铸币局1922年生产的一美元金币和半美元银币,旨在纪念南北战争联邦军总司令、第18任美国总统尤利西斯·辛普森·格兰特诞辰一百