脸书Messenger资料库从HBase换成MyRocks节省90%储存空间
由于早期设计的脸书Messenger架构已经开始不敷使用,而且也难以扩增新功能,因此脸书决定将Messenger的资料库从基于HDFS的开源分散式资料库HBase,转移到自家的开源资料库MyRocks,而且为了让系统转移的过程不影响用户的正常使用,特地规画了两套搬移流程,在两周的时间完成99.9%的帐户迁移,新系统带来的先进压缩方法让储存量减少90%,在使用快闪储存系统后读取延迟更是比过去少了50倍。
Messenger的用户现在高达10亿人,透过Messenger即时的分享文字、照片与影片等,但随着服务发展与扩增新功能,脸书发现是时候改变支援Messenger的基础架构了。脸书提到,最初Messenger被设计成类似电子邮件的功能,用户会在登入脸书网站时,看到在收件箱的讯息,但是现在的Messenger已经不一样了,被发展成了即时通讯系统,脸书为Messenger这一路的转变,更新了许多后端系统,并把原本单一的整体服务拆开成不同独立的系统,以支援行动优先的服务。
现在脸书还要对Messenger的储存基础架构进行大翻修,除了要提供更快更可靠的储存服务外,还要方便未来扩充新功能。这次的更新主要有三部分,第一是重新设计并简化资料格式。第二是将原本使用基于HDFS的开源分散式资料库HBase,转移到由脸书开发的开源资料库MyRocks上,而这是脸书耕耘许久将RocksDB资料库引擎整合进MySQL的开源专案。第三则是将储存装置从传统硬碟转移到快闪储存上。
为了确保在资料库转移时不影响所有用户的使用经验,脸书为搬移过程设计了两套流程,区分为一般搬移以及缓冲搬移。一般搬移针对一般的单一使用者帐号,这个搬移的成立条件需要在搬移的过程没有资料写入帐户中,因此脸书为此定义了状态机,帐户在任何时间都会处于未搬移、双重写入或是已完成的状态。搬移工作开始时,会先储存一个旧系统最后一笔资料的位置,接着将资料搬到新系统中,完成资料複製后检查旧系统资料有无增加,没有增加就让未来新流量写进新系统中,并进入双重写入状态。假如在搬移的过程,仍有资料写进旧资料库,搬移系统便会将该帐号标记为失败,清除MyRocks中的资料,待下次再次进行搬移工作直到成功。
高流量帐号则无法使用一般的搬移流程,因为会不停的遭遇搬移失败,脸书表示,大型企业可能会用Messenger机器人来服务客户,所以没有空闲的时刻可以用来搬移资料,而且这种帐号的资料也会比典型的帐号大的多。脸书会为这些帐号设置一个开始搬移时间,并将这个时间的资料进行快照,并将快照複製进缓冲区层(Buffer Tier),再将缓冲区层的资料写入MyRocks,而複製旧资料的同时,新写入的资料则会被暂时快取在Iris中(下图步骤D),一旦来自HBase的资料都被写到新系统后,该帐号便会进入双重写入状态,把快取的资料接着写进MyRocks中。
脸书在两周内以一般搬移流程,转移了99.9%的帐号到新系统上,另外花了两周,以缓冲搬移处理完剩下的帐号。脸书表示,由于脸书在MyRocks中使用先进的无损资料压缩演算法Zstandard,使资料副本(Replication Factor)数量可以从6个下降到3个,整体节省了90%的储存空间。他们也认为,与HBase相比,MyRocks能更成熟和更自动化的处理灾难恢复。而且MyRocks在读取和写入方面都进行了最佳化,尤其用在快闪储存系统上,读取延迟明显大降50倍,用户在读取历史讯息的时候会非常有感。
由于HBase存在I/O限制,使得历史讯息搜寻这类读取任务繁重的功能难以实现,而脸书现在能直接将搜寻基础架构建立在MySQL上,让用户可以快速的在桌面以及行动装置上,搜寻他们的Messenger历史对话。
免责声明:本文由用户上传,如有侵权请联系删除!
猜你喜欢
- 庆余年哪集是范闲背诗的(庆余年范闲背诗第几集简介介绍)
- 西游记里面的故事简介(西游记的故事有哪些简介介绍)
- dnf男街霸三觉(dnf86级男街霸\/千手罗汉\/暗街之王二觉刷图加点)
- 产品整体概念的主要内容是什么(什么是产品整体概念简介介绍)
- 英雄联盟手游内测怎么申请内测申请攻略(LOL英雄联盟手游内测在哪申请)
- 剑灵一个南天国金币可以换多少银币(剑灵南天国铁币,银币在哪获得)
- 凯里欧文到底多高(凯里欧文的身高体重是多少简介介绍)
- 申请工伤认定所必需的材料是什么(申请工伤认定所必需的材料是)
- 生日歌歌词(蝶变新生的主题歌歌词)
- 中餐与西餐有什么区别(中餐与西餐有什么区别)
- 索爱k506c(用索爱k510的进一下)
- 我们结婚了初恋夫妇表演舞台(我们结婚了初恋夫妇(泰民)
最新文章
- 中国好声音如果没有你李昊瀚(山野中国好声音李昊瀚唱的那么好为什么淘汰)
- 被套的尺寸是多少(被套尺寸一般是多少简介介绍)
- 怪物x联盟复刻版攻略(怪物x联盟复刻祥云马)
- 阳历是快的还是慢得(快的和慢的哪个是阳历简介介绍)
- 英雄联盟赵信特战先锋(特战先锋德邦总管赵信)
- 凤凰传奇有一首歌叫什么(凤凰传奇有一首歌歌词有)
- 为什么腾讯视频看不了直播(腾讯lpl视频看不了怎么办)
- Blue(Da(Ba Dee) 歌词)
- 联想z475开机黑屏(联想Z475开机超慢怎么回事)
- 吴建豪舞林大会跳的舞(2011舞林大会吴建豪怎么没有看见进复赛)
- 海清结婚了吗现在怎么样了(海清结婚了吗)
- 开十字绣店到哪里进货(开十字绣店在哪里进货怎么进货呢)
- 卫庄大战六剑奴是哪一集(卫庄哪集说的六剑奴是值得一战的对手)
- 微信六年来第一次开始“变脸”为什么
- iphone怎么看已连接wifi密码(iPhone怎么越狱啊)
- 求K233次列车(15车厢的座位号)
- 能链综合能源港里的充电站为何成为香饽饽
- 鸡蛋怎么做比较有营养(鸡蛋怎么做比较好吃)
- lol手游霞怎么出装(LOL新英雄霞与洛逆羽霞如何出装霞怎么出装)
- 穿越火线什么时候上架(穿越火线什么时候能玩)
- 北比臼舅怎么读(北比臼日怎么读)
- 创世之柱任务有什么用(创世之柱任务怎么做)
- 徐磊的歌曲(写给你的歌 徐磊乐演唱作品)
- 广州市经济适用住房准购证明怎么办理(如何取得广州市经济适用住房准购证明)