Facebook下一代数据存储只宕机5分钟

来源: CSDN
2014/6/10 11:48:32
可用率4个9到5个9的提升对任何一个服务都不是件简单的事情,而在Facebook的规模,这点就更不容易了。近日,社交巨头揭露了HBase的内部衍生版本HydraBase,称其可以将服务的年宕机时间缩短到5分钟。

分享到: 新浪微博 腾讯微博
本文关键字: Facebook HBase 大数据
自2010年将SMS、chat、email及Facebook Messages整合到1个收件箱后,我们就开始使用HBase。自此之后,社交巨头Facebook就一直扩展这个基于HDFS的分布式键值存储系统以满足自己的业务需求。基于其高写入和低随机读取延时,那个时候HBase被选择作为Messages平台的潜在持久 数据存储系统。此外,HBase还具备一些其他优点,比如纵向扩展、强一致性以及自动故障转移带来的高可用。从那时起,Facebook就开始重度使用HBase,比如Messages这样的在线事务处理以及一些经常用到在线分析的地方,当下HBase已用于内部监视系统、Nearby Friends功能、索引查询、流数据分析以及为内部数据仓库抓取数据。
HBase可靠性
在Facebook通常会出现这样一个情况,选择一个潜在满足需求的技术堆栈,然后不停的去优化。对于Facebook来说,可靠性尤为重要,而当下我们使用HBase需求面临的挑战是单主机失败、机架级故障以及密集存储之间的细微差别。解决这些方法的途径之一就是使用主从设置,在两个集群之间做异步更新。然而,这样做的话,我们需要面对集群级别的故障转移,如此主从故障转移将会花费数分钟的时间,而异步操作毫无疑问会带来数据丢失,HydraBase帮我们解决了这一问题。
HBase基础
在了解HydraBase之前,首先解释一些HBase的基础概念。在HBase中,数据是物理共享的,也就是所说的regions。regions通过region 服务器管理,每个region服务器会负责一个或以上的region。当数据被添加到HBase,它首先会被写到一个write-ahead log(WAL),即HLog。一旦写入,这个数据会被存储到一个内存MemStore中。一旦数据超过了某个阈值,它们就被持久化到磁盘。随着MemStore持久化到磁盘的HFiles数量增多,HBase会将几个小的文件合到一些大的文件中,来减少读的开销,这就是所谓的压缩。
当某个region服务器发生故障,这个服务器负责的所有region都会转移到另一个服务器,执行故障转移。鉴于HBase故障转移中的实现方式,这将需要做WAL的分割和复制,这将大大的延长故障转移的时间。
HydraBase相关
上文所说正是HydraBase与之最大的区别,取代region都只被单一的region服务器控制,在HydraBase中,每个region可以被一群region服务器控制。当某个region服务器发生故障,备用的region服务器会立刻接手服务它所控制的region,这些备用的region服务器可能横跨不同的机架甚至是数据中心,通过不同的故障域来提供高可用。控制每个region的服务器会形成一个quorum,每个quorum都有1个负责region服务器来处理来自客户端的读和写请求。HydraBase使用RAFT一致协议来保证跨quorum的一致性,每个quorum都使用2F+1,HydraBase可以承受F级故障。region server通过同步写入WAL来保障一致性,但是只有一部分的region server需要完全的写入来保证一致性。
quorum中的成员只存在active或witness两个模式,active模式成员会写入到HDFS,期间会执行数据持久化和压缩。witness成员只会参与复制WAL,但是在负责region服务器失败时可以立刻使用。
HydraBase部署模型
HydraBase部署
在这个情况下,HydraBase的部署跨越了3个数据中心,quorum的大小为5。通过这样的设置,负责region server可以转移到该区域的任何一个成员。如果只是图1中的Active Leader失败,同一个数据中心的Witness Follower将取而代之,客户端的请求将给它发送。如果丢失的是整个数据中心,见第二张图,第二个数据中心的Active Follower会取而代之,鉴于数据中心2的region server仍然可以给HDFS中写数据,因此即使是数据中心1不可见,数据仍然可以访问。
图1
图2
HydraBase的另一个好处是有效的解耦逻辑和物理备份,此外,因为不需要分割日志,故障转移将会很快速的执行,HydraBase能将Facebook全年的宕机时间缩减到不到5分钟。Facebook目前正在测试HydraBase,并计划在生产集群中逐步开始部署。
责编:李玉琴
vsharing 微信扫一扫实时了解行业动态
portalart 微信扫一扫分享本文给好友
著作权声明:kaiyun体育官方人口 文章著作权分属kaiyun体育官方人口 、网友和合作伙伴,部分非原创文章作者信息可能有所缺失,如需补充或修改请与我们联系,工作人员会在1个工作日内配合处理。
最新专题
流动存储 为大数据而生

伴随信息技术的突飞猛进,更大量级的非结构化数据与结构化数据构成的大数据成为企业级存储所面临的最大挑战:一方..

磁盘阵列及虚拟化存储

利用数组方式来作磁盘组,配合数据分散排列的设计,提升数据的安全性。虚拟化存储,对存储硬件资源进行抽象化表现。

    畅享
    首页
    返回
    顶部
    ×
    畅享IT
      信息化规划
      IT总包
      供应商选型
      IT监理
      开发维护外包
      评估维权
    客服电话
    400-698-9918
    Baidu
    map