最近因为项目需要,开始接触Hbase。学习的过程中遇到了一些问题,也找到了一些方法和好的资料,通过本文总结一下,同时也与大家分享。
按照顺序,总结如下:
什么是Hbase
概况的讲,Hbase是bigtable的开源山寨版本,是建立的hdfs之上,提供高可靠性、高性能、列存储、可伸缩、实时读写的数据库系统。高存储、便于横向扩展的特性,也是我们项目选择Hbase进行存储的主要原因。
学习Hbase需要了解到Hbase的逻辑视图和物理存储。
逻辑视图:
一行(row) 对应 多个列族(family),一个family对应多个列(Column),每一个列对应一个存储单元(cell),而每一个单元格保存着一份数据的多个版本,版本之间通过时间戳(version)来做区分,不同版本的数据按照时间的倒叙排序,即最新的数据排在最前面。
物理存储:
Hbase的table在行的方向上分割为多个Hregion,Hregion增大到一定程度时,会自动分割为两个新的Hregion。不同Hregion会分布在不同的Hregion Server上面。因此HRegion是Hbase中分布式存储和负载均衡的最小单元。
不过HRegion不是存储的最小单元,下面可以细分为Store,StoreFile。
关于Hbase的更详细的内容,可以参考淘宝数据平台的博客“Hbase 介绍”,写得非常的好和全面。
如何使用Hbase
Hbase的环境搭建目前是公司DBA来弄的,还没有自己动手实践,以后有机会自己安装一次试试。这里的使用就是使用
Java Client API连接Hbase数据库,通过程序操纵数据库的增删改查。
Hbase的API设计的蛮简单的,简单功能的使用只需要掌握下面几个类就OK了,如下:
Configuration、HBaseAdmin、HTableDescriptor、HTable、HTablePool、ResultScanner、KeyValue、Scan、Get、Result
具体实例,可以参考HBase编程api介绍、H.E.'s Blog关于Hbase的系列文章,其中HBase入门篇2-Java操作HBase例子这篇文章写和详细。
Hbase的写入性能
测试了Hbase在单线程和多线程的读写性能,测试文档如附件。
关于影响Hbase性能的因素,可以参考文章:
影响HBase insert性能的几个因素
Hbase的封装访问类
目前Hbase比较成熟的封装类不多,比较好的就是Hbase-dsl,项目地址:https://github.com/nearinfinity/hbase-dsl/wiki
常用链接:
Hbase的中文API
Apache HBase Book
这篇文章只是简单罗列了一些找到的关于Hbase的资料,方便自己和他人,欢迎讨论
Hbase挺强大的,还要不断的学习。
文 by 中亭
分享到:
相关推荐
HBASE的主要原理解读:包括HBase 读写逻辑、HBase region拆分和合并
本文首先简单介绍了HBase,然后重点讲述了HBase的高并发和实时处理数据 、HBase数据模型、HBase物理存储、HBase系统架构,HBase调优、HBase Shell访问等。
【标题】"Hadoop之HBase学习笔记"主要聚焦于Hadoop生态中的分布式数据库HBase。HBase是一个基于Google Bigtable理念设计的开源NoSQL数据库,它运行在Hadoop之上,提供高性能、高可靠性以及可水平扩展的数据存储能力...
HBase是一种分布式的、面向列的开源...这些资源为学习和掌握HBase提供了全面的指导,从理论到实践,从基础到高级,帮助读者深入理解HBase在大数据环境中的作用和价值,以及如何有效地利用它来处理和分析大规模数据。
在本分享总结中,我们将深入探讨...总的来说,这个分享涵盖了HBase的基础知识、云存储的应用以及源码解读,是学习和掌握HBase的宝贵资料。通过阅读和研究,你将能够更好地理解和利用HBase解决大数据存储和处理的问题。
社区动态部分突出了中国HBase技术社区的重要性,这是HBase爱好者和专业人士交流技术经验、分享最佳实践的平台。社区成员积极贡献知识,共同推动HBase技术在中国的发展。 在学习HBase的过程中,理解其生态系统的多个...
《HBase企业应用开发实战》是一本深度剖析HBase在实际业务场景中应用的专业书籍,旨在帮助读者理解和掌握HBase的核心功能、...通过学习这本书,你将能够更好地利用HBase解决实际问题,构建高效稳定的大数据解决方案。
通过阅读《Hbase架构设计》这本书,读者不仅可以掌握Hbase的基本概念和技术细节,还能学习到如何在实际项目中有效地应用和优化Hbase,从而在大数据处理领域建立起坚实的Hbase技术基础。书中的《HBase应用架构.pdf》...
作者分享了他在早期采用HBase时的经验,包括遇到的问题和解决策略,以及随着时间推移,HBase不断成熟,被众多知名公司如Facebook、Adobe、Twitter和StumbleUpon广泛采用的过程。作者也成为了HBase开发团队的全职贡献...
通过以上解析可以看出,《HBase 官方文档》覆盖了 HBase 的各个方面,从基础入门到高级应用,再到故障排除,是一份非常全面的技术文档,对于学习和使用 HBase 的技术人员来说具有极高的参考价值。
### Apache HBase™ 参考指南关键知识点解析 #### 一、引言 Apache HBase 是一个分布式...通过阅读这份指南,用户不仅可以深入了解HBase的工作原理,还能学习到如何有效利用HBase来解决大规模数据存储和处理的问题。
6. **HBase监控与故障排查**:作者分享了如何使用ZooKeeper、HBase Master和RegionServer的监控工具,以及如何诊断和解决常见的运行时问题。 7. **高级特性**:书中涵盖了HBase的高级特性,如Coprocessor(协处理器...
这个压缩包文件包含的"**Hbase中文文档和官方英文文档PDF**"是学习和理解HBase的重要资源,无论是对于初学者还是经验丰富的开发者来说,都是不可或缺的参考资料。 **Hbase中文文档**: 中文文档通常会提供更易懂的...
【Hadoop2.2.0】 Hadoop2.2.0是Apache Hadoop项目的一个稳定版本,提供了改进的性能和稳定性。它引入了YARN(Yet Another Resource Negotiator)...对于学习和实践大数据处理的人员来说,这样的经验分享是非常宝贵的。
此外,博客链接(https://zhengzhuangjie.iteye.com/blog/1820646)可能包含作者分享的关于HBase使用或优化的经验和技术文章。 深入学习HBase,你需要理解HBase的核心概念,如Region、Table、Column Family、Row ...
通过本文的学习,读者可以掌握 HBase 的基本安装方法,并能进行简单的操作和配置。此外,还介绍了如何通过浏览器访问 HBase 的用户界面,以便更好地管理和监控 HBase 集群。对于希望深入了解和使用 HBase 的开发者来...
综上所述,通过这篇分享,我们可以了解到HBase在阿里巴巴搜索推荐中的重要角色,其规模的扩展,以及在处理大数据、高并发访问场景下的优化方法,这些对维护和提升线上服务的性能至关重要。同时,对于HBase社区的贡献...