Facebook为何选择Hadoop和HBase

数据库 其他数据库 Hadoop
前段时间Facebook的新版消息系统发布,Facebook对HBase的成功使用也使得很多的HBase案例得以出现,下文是 Facebook的Hadoop工程师Dhruba Borthakur发表的Hadoop系列文章中的一篇,对Facebook选择Hadoop和HBase的原因做了一个说明。

前段时间Facebook的新版消息系统发布,Facebook对HBase的成功使用也使得很多的HBase案例得以出现,下文是 Facebook的Hadoop工程师Dhruba Borthakur发表的Hadoop系列文章中的一篇,对Facebook选择Hadoop和HBase的原因做了一个说明。

Dhruba Borthakur首先总结了Hadoop和HBase的优势。他认为HBase横向扩展性强。对Facebook这种少量数据存储场景来说,扩容几乎是家常便饭,HBase能够使数据扩容非常容易。并且支持很高的写吞吐。Facebook的消息数据很庞大,每天的写量也很大。同时在同一个数据中心,能够保证有较强的一致性。Facebook用HBase来存储消息数据,业务上需要一个能够保证一致性的数据存储(这也是Facebook并没有采用 Cassandra的原因之一)。HBase还具有良好的随机读性能。消息系统的业务逻辑导致会有很多穿透缓存层的随机读操作。

由于数据量大,分布的机器也可能很多,出故障或者进行一些日常升级工作会比较频繁。所以高可用性和故障可恢复性也显得极其重要。错误隔离性是指一个结点的错误不会影响到其它结点,磁盘故障只会对相应的小规模的数据产生影响。同时提供原子性的read-modify-write操作。原子性的increment或者对比后修改的操作,对很多业务上的处理非常方便。***提供获取某个范围的数据的功能。比如像获取某人最近100条消息这样的功能,在消息系统里也是很常见的需求。

当然,下面几个Hadoop和HBase不太擅长的方面也值得一说。首先是同一个数据中心网络割裂下的容灾性。同一个数据中心的网络出现问题了,导致各结点之间无法正常沟通,这种情况通常可以通过配置一些备用的网络设备来避免。其次某个数据中心故障不会影响服务。这个情况更是少之又少。***在多个数据中心间的实时数据交换。这个不太现实,通常这一点是用Cache层来实现用户对无端数据的实时访问的。

【编辑推荐】

  1. Facebook对MySQL依赖的后果将是“比死还糟”
  2. Facebook是怎么做MySQL备份的?
  3. Facebook实时信息系统:HBase每月存储1350亿条信息
  4. Facebook数据库工具Flashcache初探
  5. Facebook近期两次宕机 祸起数据库集群?
责任编辑:艾婧 来源: 比特网
相关推荐

2018-01-22 08:33:28

SparkHadoop计算

2020-11-19 10:30:28

Linux

2012-03-14 08:54:27

Flash

2010-06-03 13:55:38

Hbase和Hadoo

2010-06-03 13:08:51

2012-11-14 09:20:00

大数据PrismHadoop

2020-12-31 13:26:37

FacebookPrestoSQLTrino

2023-02-21 16:54:19

2017-01-17 09:38:52

ZooKeeperHadoopHBase

2011-08-01 16:44:43

WEC7

2016-11-04 19:58:39

vue.js

2012-02-13 09:52:00

Linux企业

2020-10-12 14:37:38

数据库HiveSpark

2012-02-13 10:07:52

Linux服务器

2012-07-03 11:38:32

FacebookHadoop

2018-07-13 16:24:02

2012-05-26 23:31:25

Facebook

2013-11-04 09:43:34

FacebookHadoop大数据

2010-06-03 14:08:56

Hadoop创建Hba

2022-05-02 17:34:25

大数据数据分析
点赞
收藏

51CTO技术栈公众号