vlambda博客
学习文章列表

HBase社区|Apache HBase从入门到精通

用户福利

新用户9.9元即可使用6个月云数据库HBase,更有低至1元包年的入门规格供广大HBase爱好者学习研究,更多内容请参考链接:

https://developer.aliyun.com/article/737804

文末有技术交流群可以添加。


前言

HBase是大数据架构中最常用的面向半结构、非结构化的存储系统,是Google三驾马车之一Bigtable的开源实现(Apache顶级项目),具备高可靠、高性能、可伸缩能力。

伴随着互联网时代数据的澎湃增长,HBase在国内外知名公司(Facebook、LinkedIn、Pinterest、雅虎、阿里、小米、腾讯、滴滴等)中进行了大规模应用,并与Cloudera、AWS、微软等商业公司一起推动建设HBase生态与社区,使得HBase成为Apache基金会下最活跃的项目之一。

值得骄傲的是,HBase是国内同学参与贡献最有影响力之一的国际项目,截至目前,国内共有6位HBase PMC,10多位HBase Committer,中国力量已成为HBase生态积极壮大的核心源动力。

过去几年,围绕HBase的生态体系也正在蓬勃发展。Phoenix是基于HBase的SQL引擎,帮助解决HTAP和OLAP场景的问题;OpenTSDB是基于HBase的时序数据库,成为IoT场景的首选开源方案;JanusGraph是基于HBase的图数据库,在面向关系分析、安全风控的大数据场景成为必备品;GeoMesa是基于HBase的时空数据库,在共享出行、自动驾驶、城市大脑、智慧物流等新兴行业拥有广阔的前景空间。

学习HBase、使用HBase、开发HBase正在成为大数据领域从业者的必选项。作为HBase较早参与者之一,希望能将过去看到的很多优秀资料做一些梳理汇总,方便新手老鸟按需阅读,后续将会更新,也欢迎大家一起补充。


发展历史

  • 2006年11月:Google发布BigTable论文

  • 2007年2月:HBase宣布在Hadoop项目中成立

  • 2008年1月:Hadoop成为Apache的顶级项目,HBase成为Hadoop的子项目

  • 2010年5月:HBase成为Apache的顶级项目

  • 2010年6月:HBase-0.89发布,Facebook开始使用

  • 2011年1月:HBase-0.90发布,阿里巴巴开始使用

  • 2012年5月:HBase-0.94发布,开始广泛使用

  • 2015年2月:HBase-1.0发布

  • 2018年5月:HBase-2.0发布


产品能力

  • 产品对比

    • HBase与关系型数据库的异同:MySQL vs HBase

    • https://yq.aliyun.com/articles/702323

    • 三大NoSQL数据库的区别与定位:HBase、Mongodb、Redis

    • https://www.zhihu.com/question/30219620

    • 大数据之HBase和Hive的差别是什么

    • https://www.zhihu.com/question/21677041

  • 功能特性

    • 核心功能

      • 基本数据模型

        https://www.docs4dev.com/docs/zh/apache-hbase/2.1/reference/book.html

      • 过期自动删除:TTL

        https://www.w3cschool.cn/hbase_doc/hbase_doc-x41d2mmo.html

      • 多版本与多列簇

      • 数据压缩及编码:特性介绍、使用指南

        https://yq.aliyun.com/articles/618633

        https://yq.aliyun.com/articles/702370

    • 高级特性

      • 中小对象实时存储:HBase MOB特性

        https://yq.aliyun.com/articles/656638

      • 全链路offheap

        https://yq.aliyun.com/articles/653642

      • 冷热分离

        https://developer.aliyun.com/article/718395

      • 二级索引


应用实践

  • 关于Rowkey设计

    • 如何合理的设计HBase RowKey?:来自毕姥爷的分享,介绍RowKey设计的常见技巧、原则,分析时序、时空、图场景下的三个典型案例(OpenTSDB/JanusGraph/GeoMesa)

    • http://www.nosqlnotes.com/technotes/hbase/hbase-rowkey/

  • 社交Feed流场景

    • 基于HBase的Feed流存储架构设计:介绍Feed流的常见架构及背后考虑,并以HBase为例给出详细设计

    • https://yq.aliyun.com/articles/707097

    • Pinterest的基于HBase的Smart Feed架构与算法

    • https://mp.weixin.qq.com/s/RwXyzLvfVUZjx2chNBbkTw

  • 监控系统场景

    • 基于HBase的58监控平台设计与实践

    • https://mp.weixin.qq.com/s/cTLax5eIKeJ7eWgNsyHkCQ 

    • HBase在新能源汽车监控系统中的应用

    • https://mp.weixin.qq.com/s/kmiA5Lw0ZV01h9kzUbjz0Q

    • 百度智能监控场景下的HBase实践

    • https://mp.weixin.qq.com/s/GIdzt1Zn_wOaiDKoHNITfw

  • 搜索与推荐场景

    • HBase在阿里搜索推荐中的应用,介绍HBase如何作为阿里搜索与推荐系统中的核心存储

    • https://yq.aliyun.com/articles/346444

    • HBase在搜狐内容推荐系统中的应用,介绍搜狐的推荐系统及HBase存储使用

      https://mp.weixin.qq.com/s/EakT1tIP1sWDfmSIboUsDg

  • 风控场景

    • HBase在挖财风控系统的应用和高可用实践

    • https://mp.weixin.qq.com/s/UijlEydYV84OGgebCGQoPg 

    • 爱奇艺业务安全风控体系的建设实践

    • https://mp.weixin.qq.com/s/2gcNY0LmgxpYT1K6uDaWtg

    • 美团点评业务风控系统构建之道

    • https://mp.weixin.qq.com/s/Rn_saCNYYkYdZYkE8L10ew

  • 用户画像

    • 40 亿移动设备的用户画像和标签架构实践,分享TalkingData公司对于画像标签系统架构的设计实践,其中存储部分主要使用HBase

    • https://www.infoq.cn/article/4-billion-mobile-device-user-portrait-and-tag-architecture

    • 阿里HBase在用户画像领域的实践,分享阿里在画像领域的HBase实践

    • https://developer.aliyun.com/article/739167

    • 小米用户画像的演进及应用解读,分享了小米的用户画像,及其如何应用,驱动业务增长,产生价值,其中主要使用HBase作为画像数据的存储

    • https://mp.weixin.qq.com/s/95Zklj8ovheQV3Gnc-2h-Q

    • 一号店用户画像系统实践,介绍一号店画像系统的技术架构,以及HBase的在离线分离存储设计

    • https://blog.qiniu.com/archives/5138

    • 关于用户画像产品构建和应用的几点经验,来自贝聊的用户画像产品构建的详细经验分享,存储部分主要使用HBase+ES的组合

    • https://mp.weixin.qq.com/s/V1oU7tUDSlJYf-sU4HJWxQ 

  • 物联网/车联网

    • 车纷享:基于阿里云HBase构建车联网平台实践,介绍汽车终端数据如何上传、存储、计算分析等

    • https://yq.aliyun.com/articles/563203

    • HBase实践案例:车联网监控系统,介绍百万车辆的监控系统设计实践

    • https://www.cnblogs.com/felixzh/p/10252052.html 

  • 数据大屏

  • 订单类场景

    • 有赞亿级订单同步的探索与实践,介绍有赞亿级订单的存储架构设计和实践,使用HBase存储订单详情,使用ES检索订单

    • https://www.infoq.cn/article/QxFxSOt5UuH1-WqJwMQg

  • 地理与时空

    • HBase与时空索引:介绍时空场景下的索引技术,以及基于HBase如何实现

    • http://www.nosqlnotes.com/technotes/hbase/hbase-spatial-index/

    • 基于HBase的海量GIS数据分布式处理实践, 介绍基于HBase的GIS数据处理设计

    • https://mp.weixin.qq.com/s/wQco8e6DF_y_-4eFCO0Dpg

  • 数据迁移

    • HBase集群之间的迁移:BDS - HBase数据迁移同步方案的设计与实践

    • https://developer.aliyun.com/article/704977

    • MySQL同步至HBase

      • 全量同步 : 使用Sqoop从Mysql向HBase同步数据

        https://yq.aliyun.com/articles/176524

      • 实时同步:  RDS实时数据同步至云HBase、Phoenix

        https://help.aliyun.com/document_detail/120881.html


大公司案例

HBase在大公司常使用于安全、风控、推荐、搜索、用户画像、订单存储、社交Feed流、物联网、车联网、监控、 数据大屏、日志处理、行为分析、大数据存储等各个场景

  • 阿里巴巴

    • 大数据时代的结构化存储-HBase在阿里的应用实践:讲述在阿里巴巴集团的实践,HBase在阿里集团已经超过10000台,主要在订单、监控、风控、消息、大数据计算等领域使用

    • https://yq.aliyun.com/articles/70467

    • HBase在阿里搜索推荐中的应用:讲述HBase在阿里搜索场景下的应用及相关的改进

    • https://yq.aliyun.com/articles/346444

  • 腾讯

    • HBase在腾讯大数据的应用实践:在游戏营销、广告处理、监控、日志等领域的HBase应用

    • https://yq.aliyun.com/articles/335214

    • 日均采集1200亿数据点,腾讯千亿级服务器监控数据存储实践:介绍使用HBase存储TMP服务器海量监控数据的实践历程

    • https://cloud.tencent.com/developer/article/1005338

    • 互联网金融行业HBase实践与创新:介绍HBase在腾讯金融支付场景的实践与挑战

    • http://blog.itpub.net/31547542/viewspace-2213514/

  • Facebook

    • HBase在消息系统的应用:介绍Facebook消息系统选择HBase存储的原因,包括电子邮件、即时通讯、短信、文本信息、Facebook站内信息

    • https://www.iteye.com/news/18685-Hbase-Hadoop-Facebook-Hive

  • Pinterest

    • 基于HBase的Feed架构设计:介绍了Pinterest的智能Feed架构设计及如何基于HBase设计存储

    • https://timyang.net/architecture/pinterest-feed/

    • HBase在Pinterest的应用及版本升级实战:主要场景包括主页Feed流、搜索、发现、用户元数据等

    • http://hbase.group/slides/139

  • 滴滴

    • HBase在滴滴出行的应用场景和最佳实践:统计结果、报表类数据、原始事实类数据、中间结果数据、线上系统的备份数据的一些应用

    • https://yq.aliyun.com/articles/201173

  • 网易

    • 网易HBase实践: 在报表、监控、日志类业务、消息类业务、推荐类业务、风控类业务有所使用,另外讲述了一些优化的点。

    • https://mp.weixin.qq.com/s/NN-f2jAPzKnJ-w0yGA81bg

    • Apache HBase at Netease:  HBase在网易的实践与改进

    • http://hbase.group/slides/123#page=25

  • 京东

    • HBase在京东的实践 :介绍HBase在罗盘(商家、供应商、品牌)、个性化推荐、商品评价、风控/白条/支付/资管(金融)、订单/青龙、MDC/UMP/CAP/JDH/监控大屏等场景的应用与挑战

    • https://yq.aliyun.com/download/3050

    • 基于HBase的大数据存储在京东的应用场景

    • https://mp.weixin.qq.com/s/Aribj3SoZVBiuow5IQGdZg

  • 小米

    • HBase在小米的实践:HBase在米聊、MiCloud、Push服务、离线分析等场景的应用及挑战改进

    • http://bigdata-blog.net/wp-content/uploads/2013/12/xiaomi-hbase-slides.pdf

  • 百度

    • 百度智能监控场景下的HBase实践:基于HBase的监控系统设计

    • https://mp.weixin.qq.com/s/GIdzt1Zn_wOaiDKoHNITfw

  • 快手

    • 快手HBase在千亿级用户特征数据分析中的应用与实践:使用HBase存储的用户特征数据

    • https://www.infoq.cn/article/dX5J8ykbGe59zc-iCyem

  • Hulu

    • HBase在Hulu的使用和实践:用户画像、订单存储系统、日志存储系统的使用

    • https://yq.aliyun.com/download/3043

  • 中国人寿

    • 中国人寿基于HBase的企业级大数据平台:使用一个大跨表存储所有的保单,HBase宽表的实践

    • http://hbase.group/article/141

  • G7

    • hbase 在物联网领域的实践及解决方案 讲述了怎么使用spark及hbase来满足物联网的需求

    • https://zhuanlan.zhihu.com/p/25543238


活动与圈子

  • HBaseCon:HBase官方会议,在中国和美国举办

    https://hbase.apache.org/hbasecon-archives.html 

  • 国内HBase Meetup,不定期举行,2018年总结

    https://www.jianshu.com/p/b4109447e8d5

  • 钉钉 技术交流群,群号:23351677

  • 阿里云HBase开发者社区

    https://developer.aliyun.com/group/hbasespark


生态

  • 成为贡献

    • Apache HBase拥有一个非常活跃和开放的社区,如果你对HBase有任何小的改进或Bug修复,都可以反馈到社区。你也可以通过参与mail list、issue的讨论、文档的补充或翻译,去进行各种形式的贡献。

    • 目前国内有多达10多位的HBase Committer,这个队伍还在继续扩大,如果你有意成为其中一员,大家是非常乐意培养的,欢迎联系。


  • 推荐书籍

    • 《HBase原理与实践》

    • 适合HBase数据库的研发人员阅读,2019出版,国内资深HBase专家著作,介绍HBase的内部原理,比较全面,也适合对分布式数据库架构感兴趣的同学

    • 《HBase不睡觉书》

    • 适合HBase应用开发人员和系统管理人员学习使用,原理和应用都有涉及,比较综合
      HBase社区|Apache HBase从入门到精通

    • 《HBase企业应用开发实战》

    • 适合HBase应用开发人员阅读,本书强调HBase在企业的实际应用,立足于企业的实际生产环境,旨在帮助企业切实解决大数据技术如何落地的问题
      HBase社区|Apache HBase从入门到精通

    • 《HBase实战》

    • 适合HBase应用开发人员阅读, 基于经验提炼而成的指南,它教给读者如何运用HBase设计、搭建及运行大数据应用系统
      HBase社区|Apache HBase从入门到精通

    • 《HBase权威指南》

    • 适合HBase数据库的研发人员阅读,介绍内部原理为主,也适合学习分布式数据库原理的同学,内容比较全面。2012年出版,个别具体的设计内容可能已与目前版本不符


相关论文

  1. HBase的最初理论原型Bigtable

    • Bigtable: A Distributed Storage System for Structured Data
      https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/bigtable-osdi06.pdf

    • Bigtable中文翻译版

    • http://blog.bizcloudsoft.com/wp-content/uploads/Google-Bigtable中文版_1.0.pdf 

  2. HBase底层存储HDFS的理论原型GFS

    • The Google Filesystem

    • https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/gfs-sosp2003.pdf

  3. No Relation: The Mixed Blessings of Non-Relational Databases

    http://ianvarley.com/UT/MR/Varley_MastersReport_Full_2009-08-07.pdf

  4. Storage Infrastructure Behind Facebook Messages
    Using HBase at Scale]

    http://sites.computer.org/debull/a12june/facebook.pdf



HBase 官方社区推荐必读好文