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企业应用开发实战》
适合HBase应用开发人员阅读,本书强调HBase在企业的实际应用,立足于企业的实际生产环境,旨在帮助企业切实解决大数据技术如何落地的问题
《HBase实战》
适合HBase应用开发人员阅读, 基于经验提炼而成的指南,它教给读者如何运用HBase设计、搭建及运行大数据应用系统
《HBase权威指南》
适合HBase数据库的研发人员阅读,介绍内部原理为主,也适合学习分布式数据库原理的同学,内容比较全面。2012年出版,个别具体的设计内容可能已与目前版本不符
相关论文
HBase的最初理论原型Bigtable
Bigtable: A Distributed Storage System for Structured Data
https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/bigtable-osdi06.pdfBigtable中文翻译版
http://blog.bizcloudsoft.com/wp-content/uploads/Google-Bigtable中文版_1.0.pdf
HBase底层存储HDFS的理论原型GFS
The Google Filesystem
https://static.googleusercontent.com/media/research.google.com/zh-CN//archive/gfs-sosp2003.pdf
No Relation: The Mixed Blessings of Non-Relational Databases
http://ianvarley.com/UT/MR/Varley_MastersReport_Full_2009-08-07.pdf
Storage Infrastructure Behind Facebook Messages
Using HBase at Scale]http://sites.computer.org/debull/a12june/facebook.pdf
HBase 官方社区推荐必读好文