HBase学习入门之HBase前生今世

举报
zhy1003 发表于 2021/12/14 15:06:18 2021/12/14
【摘要】 1. HBase历史发展要说清楚HBase的来龙去脉,还得从Google当年风靡一时的“三篇论文”——GFS、MapReduce、BigTable说起。 1.1.《 GFS: The Google File System 》2003年Google在SOSP会议上发表了大数据历史上第一篇公认的革命性论文——《 GFS: The Google File System 》,之所以称其为“革命性”...

1. HBase历史发展

要说清楚HBase的来龙去脉,还得从Google当年风靡一时的“三篇论文”——GFS、MapReduce、BigTable说起。

1.1.《 GFS: The Google File System 》

2003年Google在SOSP会议上发表了大数据历史上第一篇公认的革命性论文——《 GFS: The Google File System 》,之所以称其为“革命性”是有多方面原因的:

首先,Google在该论文中第一次揭示了如何在大量廉价机器基础上存储海量数据,这让人们第一次意识到海量数据可以在不需要任何高端设备的前提下实现存储,换句话说,任何一家公司都有技术实力存储海量数据,这为之后流行的海量数据处理奠定了坚实的基础。

其次,GFS体现了非常超前的设计思想,以至于十几年之后的今天依然指导着大量的分布式系统设计,可以说,任何从事分布式系统开发的人都有必要反复阅读这篇经典论文。

1.2.《 MapReduce: Simplefied Data Processing on Large Clusters 》

2004年,Google又发表了另一篇非常重要的论文——《 MapReduce: Simplefied Data Processing on Large Clusters 》,这篇论文论述了两个方面的内容,其中之一是MapReduce的编程模型,在后来的很多讨论中,人们对该模型褒贬不一,该编程模型在之后的技术发展中接受了大量的架构性改进,演变成了很多其他的编程模型,例如DAG模型等。当然,MapReduce模型本身作为一种基础模型得到了保留并依然运行在很多特定领域(比如,Hive依然依赖MapReduce处理长时间的ETL业务)。MapReduce在GFS的基础上再一次将大数据往前推进了一步,论文论述了如何在大量廉价机器的基础上稳定地实现超大规模的并行数据处理,这无疑是非常重要的进步。这篇论文无论在学术界还是在工业界都得到了极度狂热的追捧。原因无非是分布式计算系统可以套用于大量真实的业务场景,几乎任何一套单机计算系统都可以用MapReduce去改良。

1.3.《 BigTable: A Distributed StorageSystem for Structured Data 》

2006年,Google发布了第三篇重要论文——《 BigTable: A Distributed StorageSystem for Structured Data 》,用于解决Google内部海量结构化数据的存储以及高效读写问题。与前两篇论文相比,这篇论文更难理解一些。这是因为严格意义上来讲,BigTable属于分布式数据库领域,需要读者具备一定的数据库基础,而且论文中提到的数据模型(多维稀疏排序映射模型)对于习惯了关系型数据库的工程师来说确实不易理解。但从系统架构来看,BigTable还是有很多GFS的影子,包括Master-Slave模式、数据分片等。

这三篇论文在大数据历史上,甚至整个IT界的发展历史上都具有革命性意义。但真正让大数据“飞入寻常百姓家”,是另一个科技巨头——Yahoo。Google的三篇论文论证了在大量廉价机器上存储、处理海量数据(结构化数据、非结构化数据)是可行的,然而并没有给出开源方案。2004年,Doug Cutting和Mike Cafarella在为他们的搜索引擎爬虫(Nutch)实现分布式架构的时候看到了Google的GFS论文以及MapReduce论文。他们在之后的几个月里按照论文实现出一个简易版的HDFS和MapReduce,这也就是Hadoop的最早起源。最初这个简易系统确实可以稳定地运行在几十台机器上,但是没有经过大规模使用的系统谈不上完美。所幸他们收到了Yahoo的橄榄枝。在Yahoo,Doug领导的团队不断地对系统进行改进,促成了Hadoop从几十台到几百台再到几千台机器规模的演变,直到这个时候,大数据才真正在普通公司实现落地。

2. HBase使用现状

HBase在国外起步很早,包括Facebook、Yahoo、Pinterest等大公司都大规模使用HBase作为基础服务。在国内HBase相对起步较晚,但现在各大公司对于HBase的使用已经越来越普遍,包括阿里巴巴、小米、华为等公司都使用HBase存储海量数据,服务于各种在线系统以及离线分析系统,其中阿里巴巴、小米以及京东更是有着数千台HBase的集群规模。业务场景包括订单系统、消息存储系统、用户画像、搜索推荐、安全风控以及物联网时序数据存储等。最近,阿里云、华为云等云提供商先后推出了HBase云服务,为国内更多公司低门槛地使用HBase服务提供了便利。

另外,相比其他技术社区,HBase社区非常活跃,每天都会有大量的国内外工程师参与HBase系统的开发维护,大部分问题都能在社区得到快速积极的响应。近几年,HBase社区中,国内开发者的影响力开始慢慢扩大,在某些功能领域甚至已经占据主导地位。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。