Quorum (分布式系统)

✍ dations ◷ 2024-12-23 03:58:42 #投票,算法

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

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

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

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

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

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

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

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

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

相关

  • 变量在初等数学里,变量或变元、元是一个用来表示值的符号,该值可以是随意的,也可能是未指定或未定的。在代数运算时,将变量当作明确的数值代入运算中,可以于单次运算时解出多个问题。
  • 陈文泰县陈文泰县(越南语:Huyện Trần Văn Thời),又译作“陈文时县”,是越南金瓯省下辖的一个县。陈文泰县是金瓯省革命烈士陈文泰的故乡。该县即以陈文泰的名字命名。陈文泰县下辖2市
  • 弗雷德里克·莱因斯弗雷德里克·莱因斯(英语:Frederick Reines,1918年3月16日-1998年8月26日),美国物理学家,加州大学尔湾分校教授,因为对中微子检测的贡献获1995年获诺贝尔物理学奖。1918年3月16日,出
  • 马格里布马格里布(al-Maġrib al-ʿArabī,المغرب العربي‎),非洲西北部一地区,阿拉伯语意为“日落之地”。宋代《诸蕃志》译为“默伽猎”。该词在古代原指阿特拉斯山脉至地
  • 克果纳杰氏症克果纳杰氏症是一遗传性胆血红素代谢疾病,因肝脏葡萄糖醛酸转移酵素(英语:Glucuronosyltransferase)缺乏引起高胆红素血症。如未能在婴儿期予以治疗,则会发展为核黄疸。其发生率
  • 荷尔德林约翰·克里斯蒂安·弗里德里希·荷尔德林(Johann Christian Friedrich Hölderlin ,1770年3月20日-1843年3月7日),是一名德国浪漫派诗人。他将古典希腊诗文移植到德语中。其作品
  • 自拍棒自拍杆,也被称作自拍棒或自拍神器,是可以将智能手机或相机固定在超越手臂正常范围的棒端,来支持自拍的一种独脚架。有些型号的自拍杆在观察屏对面立有一面镜子,以便于拍摄 。自
  • 宣福礼宣福礼(拉丁语:Beatificatio;英语:Beatification,字根来自拉丁语:beatus,受祝福的),又称为宣福、列真福品、列福式,是天主教会追封已过世人的一种仪式,用意在于尊崇其德行,认定其信仰足
  • 约翰·罗伯特·安德生约翰·罗伯特·安德生(英语:John Robert Anderson,1947年8月27日-),出生于加拿大温哥华,卡内基梅隆大学的心理学和计算机科学教授,以其认知架构(cognitive architecture)ACT-R(Anderso
  • 吴重达吴重达,台湾医生、医学研究者,著有《运动伤害小百科》等书。在国立台湾大学医学院医学系(医科)取得医学学位,在台大医院接受完整的住院医师训练。考取公职医师高等考试后分发到卫