前段时间Facebook的新版消息系统发布,Facebook对HBase的成功使用也使得超来超多的HBase案例得以出现,下文是Facebook的Hadoop工程师Dhruba Borthakur同学发表的Hadoop系列文章中的一篇,对Facebook选择Hadoop和HBase的原因做了一个说明。
原文链接:Realtime Hadoop usage at Facebook — Part 1
- 横向扩展性强。对Facebook这种少量数据存储场景来说,扩容几乎是家常便饭,HBase能够使数据扩容非常容易。
- 支持很高的写吞吐。Facebook的消息数据很庞大,每天的写量也很大。
- 在同一个数据同中心,能够保证有较强的一致性。Facebook用HBase来存储消息数据,业务上需要一个能够保证一致性的数据存储(这也是Facebook并没有采用Cassandra的原因之一。
- 有良好的随机读性能。消息系统的业务逻辑导致会有很多穿透缓存层的随机读操作。
- 高可用性,故障可恢复性。由于数据量大,分布的机器也可能很多,出故障或者进行一些日常升级工作会比较频繁,需要能够有很高可用性的系统。
- 错误隔离性。一个结点的错误不会影响到其它结点,磁盘故障只会对相应的小规模的数据产生影响。
- 提供原子性的read-modify-write操作。原子性的increment或者对比后修改的操作,对很多业务上的处理非常方便。
- 提供获取某个范围的数据的功能。比如像获取某人最近100条消息这样的功能,在消息系统里是很常见的需求。
当然,下面几个Hadoop和HBase不太擅长的方面也值得一说:
- 同一个数据中心网络割裂下的容灾性。同一个数据中心的网络出现问题了,导致各结点之间无法正常沟通,这种情况通常可以通过配置一些备用的网络设备来避免。
- 某个数据中心故障不会影响服务。这个情况更是少之又少。
- 在多个数据中心间的实时数据交换。这个不太现实,通常这一点是用Cache层来实现用户对无端数据的实时访问的。
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
作者
相关推荐
-
OpenWorld18大会:Ellison宣布数据库的搜寻和破坏任务
在旧金山举行的甲骨文OpenWorld 2018大会中,甲骨文首席技术官(CTO)兼创始人Larry Elli […]
-
Cloudera-Hortonworks合并或将减少Hadoop用户的选择
近日大数据领域两家顶级供应商达成交易协议,这可能会影响Hadoop和其他开源数据处理框架,并使大数据用户的技术 […]
-
ObjectRocket着力发展Azure MongoDB服务
MongoDB吸引了微软公司的注意力,微软公司计划针对运行于该公司2017年发布的Azure Cosmos D […]
-
Azure数据湖分析从U-SQL中获得提升
大数据的发展已经让许多精通SQL的数据专业人员不知所措。微软的U-SQL编程语言试图让这些人回归数据查询游戏。