HBase概念解读:Hadoop数据库 | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
HBase概念解读:Hadoop数据库 | 大数据百科 | 数据观 | 中国大数据产业观察_大数据门户
导航切换 资讯 观点 案例 专栏 报告 企业 自媒 贵州 标签 热门标签: 大数据政策·区块链·人工智能·图文直播·非常数据观· 登录 | 注册 投稿 首页 大数据百科正文 HBase概念解读:Hadoop数据库 来源:数据观 时间:2015-09-06 16:23:59 作者: HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为Java。它是Apache软件基金会Hadoop项目的一部分,运行于HDFS文件系统之上,为Hadoop提供类似于BigTable规模的服务。HBase在列上实现了BigTable论文提到的压缩算法、内存操作和布隆过滤器。HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来存取数据,也可以通过REST、Avro或者Thrift的API来访问。HBase虽然性能有显着的提升,但还不能直接取代SQL数据库。现今它已经应用于多个数据驱动型网站。 HBase来源于Hadoop database,简单地可以理解为Hadoop数据库。那么在了解HBase之前,我们先认识一下Hadoop。 Hadoop是一个由Apache基金会所开发的分布式系统基础架构。 用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。 Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。 Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
项目起源 Hadoop由 Apache Software Foundation 公司于 2005 年秋天作为Lucene的子项目Nutch的一部分正式引入。它受到最先由 Google Lab 开发的 Map/Reduce 和 Google File System(GFS) 的启发。 2006 年 3 月份,Map/Reduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。 Hadoop 是最受欢迎的在 Internet 上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题。例如,如果您要 grep 一个 10TB 的巨型文件,会出现什么情况?在传统的系统上,这将需要很长的时间。但是 Hadoop 在设计时就考虑到这些问题,采用并行执行机制,因此能大大提高效率。 HBase访问接口 1. Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据 2. HBase Shell,HBase的命令行工具,最简单的接口,适合HBase管理使用 3. Thrift Gateway,利用Thrift序列化技术,支持C++,PHP,Python等多种语言,适合其他异构系统在线访问HBase表数据 4. REST Gateway,支持REST 风格的Http API访问HBase, 解除了语言限制 5. Pig,可以使用Pig Latin流式编程语言来操作HBase中的数据,和Hive类似,本质最终也是编译成MapReduce Job来处理HBase表数据,适合做数据统计 6. Hive,当前Hive的Release版本尚没有加入对HBase的支持,但在下一个版本Hive 0.7.0中将会支持HBase,可以使用类似SQL语言来访问HBase HBase系统架构 Client HBase Client使用HBase的RPC机制与HMaster和HRegionServer进行通信,对于管理类操作,Client与HMaster进行RPC;对于数据读写类操作,Client与HRegionServer进行RPC Zookeeper Zookeeper Quorum中除了存储了-ROOT-表的地址和HMaster的地址,HRegionServer也会把自己以Ephemeral方式注册到 Zookeeper中,使得HMaster可以随时感知到各个HRegionServer的健康状态。此外,Zookeeper也避免了HMaster的 单点问题,见下文描述 HMaster HMaster没有单点问题,HBase中可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,HMaster在功能上主要负责Table和Region的管理工作: 1. 管理用户对Table的增、删、改、查操作 2. 管理HRegionServer的负载均衡,调整Region分布 3. 在Region Split后,负责新Region的分配 4. 在HRegionServer停机后,负责失效HRegionServer 上的Regions迁移 HRegionServer HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。 HRegionServer内部管理了一系列HRegion对象,每个HRegion对应了Table中的一个Region,HRegion中由多 个HStore组成。每个HStore对应了Table中的一个Column Family的存储,可以看出每个Column Family其实就是一个集中的存储单元,因此最好将具备共同IO特性的column放在一个Column Family中,这样最高效。 HBase存储格式 HBase中的所有数据文件都存储在Hadoop HDFS文件系统上,主要包括上述提出的两种文件类型: 1. HFile, HBase中KeyValue数据的存储格式,HFile是Hadoop的二进制格式文件,实际上StoreFile就是对HFile做了轻量级包装,即StoreFile底层就是HFile 2. HLog File,HBase中WAL(Write Ahead Log) 的存储格式,物理上是Hadoop的Sequence File 为什么采用HBase? HBase 不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库.所谓非结构化数据存储就是说HBase是基于列的而不是基于行的模式,这样方面读写你的大数据内容。 HBase是介于Map Entry(key & value)和DB Row之间的一种数据存储方式。就点有点类似于现在流行的Memcache,但不仅仅是简单的一个key对应一个 value,你很可能需要存储多个属性的数据结构,但没有传统数据库表中那么多的关联关系,这就是所谓的松散数据。 简单来说,你在HBase中的表创建的可以看做是一张很大的表,而这个表的属性可以根据需求去动态增加,在HBase中没有表与表之间关联查询。你只需要 告诉你的数据存储到Hbase的那个column families 就可以了,不需要指定它的具体类型:char,varchar,int,tinyint,text等等。但是你需要注意HBase中不包含事务此类的功 能。 Apache HBase 和Google Bigtable 有非常相似的地方,一个数据行拥有一个可选择的键和任意数量的列。表是疏松的存储的,因此用户可以给行定义各种不同的列,对于这样的功能在大项目中非常实用,可以简化设计和升级的成本。 如何运行HBase? 从 Apache的HBase的镜像网站上下载一个稳定版本的HBase http://mirrors.devlib.org/apache/hbase/stable/hbase-0.20.6.tar.gz, 下载完成后,对其进行解压缩。确定你的机器中已经正确的安装了Java SDK、SSH,否则将无法正常运行。 $ cd /work/hbase 进入此目录 $ vim conf/hbase-env.sh export JAVA_HOME=/JDK_PATH 编辑 conf/hbase-env.sh 文件,将JAVA_HOME修改为你的JDK安装目录 $ vim conf/regionservers 输入你的所有HBase服务器名,localhost,或者是ip地址 $ bin/start-hbase.sh 启动hbase, 中间需要你输入两次密码,也可以进行设置不需要输入密码,启动成功, 相关阅读 hadoop是什么:分布式系统基础架构 MapReduce概念及实例讲解 HBase在腾讯大数据的应用实践 海量大数据庞晓曦:基于Hadoop和HBase的大数据存储实践(附视频) 本文为数据观原创精编,转载请注明来源:www.cbdio.com 百度一下“数据观”,获取更多大数据相关资讯 分享: 延伸阅读 热门标签 大数据政策 区块链 人工智能 图文直播 非常数据观 数字经济 数据观专访 数博会 贵州大数据 工业大数据 大数据分析 大数据概念 大数据资讯 大数据应用 可视化效果 大数据门户 大数据百科
1科普贴丨大数据产业链构成分析
2一文搞清楚大数据试验区/示范区/示范基地/示范园区/产业园区
3一图简述大数据技术生态圈
4浅层次科普丨一图秒懂数据挖掘、大数据、OLAP、数据统计的区别 更多
贵州 贵州大数据产业政策
《贵阳市健康医疗大数据应用与服务条例(征求意见稿)》发布为了加强和规范健康医疗大数据应用与服务,提 ... 详细 贵州大数据产业动态
贵阳将建智慧环卫管理大数据监管平台为进一步提高城市管理水平,贵阳市城管局将深 ... 详细 贵州大数据企业
贵阳大数据交易所会员突破2000家 可交易数据产品近4000个被业内誉为“中国大数据交易领域先锋”的贵阳 ... 详细 更多
专栏
赵国栋
田溯宁
连玉明
王彦博
车品觉
涂子沛 更多 企业
小i机器人CEO朱频频:如何让高大上的AI技术产业化通过与各个行业的深度结合,小i机器人的行业覆... 详细
从仓储到运输,传化智联是如何实现物流全流程数字化的?传化智联和菜鸟网络的模式本质上是相通的,都 ... 详细
贵阳大数据交易所会员突破2000家 可交易数据产品近4000个被业内誉为“中国大数据交易领域先锋”的贵阳 ... 详细 更多 关于数据观 | 联系数据观 | 广告服务 | 隐私权政策 | 常见问题 友情链接 数据观 贵阳网 中国数谷 数据分析师 互联网招聘 web开发者 央广网科技 科技快报 深蓝财经记者社区 环球科技 中原财经 网络大数据 贵州网 IT资讯 IT那些事 贵阳市纪委 艾媒网 数据小兵 数邦客 软曼网 更多... Copyright © 2014-2017 Cbdio, All Rights Reserved 中国大数据产业观察 版权所有 黔ICP备13002985号-3
。