第6章 HBase 《大数据技术基础》
《大数据技术基础》 第6章 HBase
提纲 61概述 62 HBase访问接口 63 HBase数据模型 64 HBase的实现原理 65 HBase运行机制 66 HBase编程实践
提纲 • 6.1 概述 • 6.2 HBase访问接口 • 6.3 HBase数据模型 • 6.4 HBase的实现原理 • 6.5 HBase运行机制 • 6.6 HBase编程实践
6.1概述 6.1.1 从 Big table说起 6.1.2 HBase简介 6.1.3 HBase与传统关系数据库的对比分析
6.1 概述 • 6.1.1 从BigTable说起 • 6.1.2 HBase简介 • 6.1.3 HBase与传统关系数据库的对比分析
611从 Big table说起 Big Table是一个分布式存储系统 利用谷歌提岀的 MapReduce分布式并行计算模型来处理海量数据 使用谷歌分布式文件系统GFS作为底层数据存储 釆用 Chubby提供协同服务管理 可以扩展到PB级别的数据和上千台机器,具备广泛应用性、可扩展性、 高性能和高可用性等特点 ·谷歌的许多项目都存储在 Big Table中,包括搜索、地图、财经、打印、 社交网站 Orkut、视频共享网站 You tube和博客网站 Blogger等
6.1.1 从BigTable说起 •BigTable是一个分布式存储系统 •利用谷歌提出的MapReduce分布式并行计算模型来处理海量数据 •使用谷歌分布式文件系统GFS作为底层数据存储 •采用Chubby提供协同服务管理 •可以扩展到PB级别的数据和上千台机器,具备广泛应用性、可扩展性、 高性能和高可用性等特点 •谷歌的许多项目都存储在BigTable中,包括搜索、地图、财经、打印、 社交网站Orkut、视频共享网站YouTube和博客网站Blogger等
612 HBase简介 HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌 Big Tab|e的 开源实现,主要用来存储非结构化和半结构化的松散数据。 HBase的目标是处理非常 庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和 数百万列元素组成的数据表 Hadoop生态系统 ETL工具 BI报表 RDBMS Pig Hive goop HBase HDFS (Hadoop Distributed File System) 图6-1 Hadoop生态系统中 HBase与其他部分的关系
6.1.2 HBase简介 HBase是一个高可靠、高性能、面向列、可伸缩的分布式数据库,是谷歌BigTable 的 开源实现,主要用来存储非结构化和半结构化的松散数据。HBase的目标是处理非常 庞大的表,可以通过水平扩展的方式,利用廉价计算机集群处理由超过10亿行数据和 数百万列元素组成的数据表 图6-1 Hadoop生态系统中HBase与其他部分的关系
Hbase使用场景和成功案例 BigTable的 Intemet BigTable Web搜索 爬虫 MapReduce 建立互联网索引 ①爬虫持续不断地抓取新页面,这些 页面每贞一行地存储到 BigTable里。 ② MapReduce计算作业运行在整张表上, 生成索引,为网络搜索应用做准备。 搜索 索引 扫wb搜索 搜索互联网 ③用户发起网络搜索请求 用户 ④网络搜索应用查询建立好的索引,直接从 ⑤搜索结果提交给用户 使用 Big Table提供网络搜索结果 《大数据技术基础》
《大数据技术基础》 Hbase使用场景和成功案例 使用BigTable提供网络搜索结果
Hbase使用场景和成功案例 HBase设计初衷是用来存储互联网持续更新的网页副本,但用在互 联网相关的其他方面也是很合适的。例如, HBase在社交网络公司内部 和周围各种各样的需求中找到了用武之地。从存储个人之间的通信信息 ,到通信信息分析, HBase成为了 Facebook、 Twitter等公司的关键基础 设施。 在这个领域, HBase有3种主要使用场景(但不限于这3种) 1抓取增量数据 使用 HBase作为数据存储,抓取来自各种数据源的增量数据,如抓取用户交互数据, 以备之后进行分析、处理 内容服务 传统数据库最主要的使用场合之一是为用户提供内容服务,如URL短链接服务,可以 HBase为基础,存储大量的短链接以及和原始长链接的映射关系。 3信息交换 Facebook的短信平台每天交换数十亿条短信, HBase可以很好的满足该平台的需 求:高的写吞吐量,极大的表,数据中心的强一直性。 《大数据技术基础》
《大数据技术基础》 Hbase使用场景和成功案例 HBase设计初衷是用来存储互联网持续更新的网页副本,但用在互 联网相关的其他方面也是很合适的。例如,HBase在社交网络公司内部 和周围各种各样的需求中找到了用武之地。从存储个人之间的通信信息 ,到通信信息分析,HBase成为了Facebook、Twitter等公司的关键基础 设施。 在这个领域,HBase有3种主要使用场景(但不限于这3 种): 1.抓取增量数据 使用HBase 作为数据存储,抓取来自各种数据源的增量数据,如抓取用户交互数据, 以备之后进行分析、处理。 2.内容服务 传统数据库最主要的使用场合之一是为用户提供内容服务,如URL短链接服务,可以 HBase为基础,存储大量的短链接以及和原始长链接的映射关系。 3.信息交换 Facebook的短信平台每天交换数十亿条短信,HBase可以很好的满足该平台的需 求:高的写吞吐量,极大的表,数据中心的强一直性
抓取增量数据 1.抓取监控指标: Open TSDB ·2.抓取用户交互数据: Facebook和 StumbleUpon ·3.遥测技术: mozilla和 Trend micro 4.广告效果和点击流
抓取增量数据 • 1.抓取监控指标:OpenTSDB • 2.抓取用户交互数据:Facebook 和 StumbleUpon • 3.遥测技术:Mozilia 和 Trend Micro • 4.广告效果和点击流 2019/5/16
内容服务 内容管理系统( Content management System, cMS)可以集中管理一切,可以用来存储内容 和提供内容服务。但是,当用户越来越多,生 成的内容越来越多的时候,就需要一个更具可 扩展性的CMS解决方案。可扩展的 Lily CMs使 用 HBase作为基础,加上其他开源框架,如 Solr,构成了一个完整的功能组合。 1.URL短链接 2.用户模型服务
内容服务 • 内容管理系统(Content Management System, CMS)可以集中管理一切,可以用来存储内容 和提供内容服务。但是,当用户越来越多,生 成的内容越来越多的时候,就需要一个更具可 扩展性的 CMS 解决方案。可扩展的 Lily CMS 使 用 HBase 作为基础,加上其他开源框架,如 Solr,构成了一个完整的功能组合。 • 1.URL 短链接 • 2.用户模型服务 2019/5/16
信息交换 · Facebook短信系统经常被公开讨论,它也可能极大地推 动了 HBase的发展。当你使用 Facebook时,某个时候 你可能会收到或者发送短信给你的朋友。 Facebook的这 个特性完全依赖于 HBase。用户读写的所有短信都存储 在 HBase里。 Facebook短信系统要求:高的写吞吐量, 极大的表,数据中心内的强一致性。除了短信系统之外 其他应用系统要求:高的读吞吐量,让数器昋吐量,自 动分库。工程师们发现 HBase是一个理想的解决方案, 因为它支持所有这些特性,它拥有个活跃的用户社区 Facebow0k运营团队在 Hadoop部署上有丰富经验等等 在“ Hadoop goes realtime at Facebook"这篇文章里, Facebook工程师解释了这个决定背后的逻辑并展示了他 们使用 Hadoop和 HBase构建在线系统的经验
信息交换 • Facebook 短信系统经常被公开讨论,它也可能极大地推 动了 HBase 的发展。当你使用 Facebook 时,某个时候 你可能会收到或者发送短信给你的朋友。Facebook 的这 个特性完全依赖于 HBase。用户读写的所有短信都存储 在 HBase 里。Facebook 短信系统要求:高的写吞吐量, 极大的表,数据中心内的强一致性。除了短信系统之外, 其他应用系统要求:高的读吞吐量,计数器吞吐量,自 动分库。工程师们发现 HBase 是一个理想的解决方案, 因为它支持所有这些特性,它拥有一个活跃的用户社区, Facebook 运营团队在 Hadoop 部署上有丰富经验等等。 在“Hadoop goes realtime at Facebook”这篇文章里, Facebook 工程师解释了这个决定背后的逻辑并展示了他 们使用 Hadoop 和 HBase 构建在线系统的经验。 2019/5/16