《MapReduce 2.0源码分析与编程实战》一第1章 HBase介绍

简介:

本节书摘来异步社区《MapReduce 2.0源码分析与编程实战》一书中的第1章,作者: 王晓华 责编: 陈冀康,更多章节内容可以访问云栖社区“异步社区”公众号查看。

第1章 HBase介绍

HBase实战
本章涵盖的内容

  • Hadoop、HBase和NoSQL的起源
  • HBase的常见使用场景
  • HBase的基本安装
  • 使用HBase存储和查询数据

HBase 是一种数据库:Hadoop数据库。它经常被描述为一种稀疏的、分布式的、持久化的、多维有序映射,它基于行键(rowkey)、列键(column key)和时间戳(timestamp)建立索引。人们会说它是一种键值(key value)存储、面向列族的数据库,有时也是一种存储多时间戳版本映射的数据库。所有这些描述都是正确的。但是从根本上讲,它是一个可以随机访问的存储和检索数据的平台,也就是说,你可以按照需要写入数据,然后再按照需要读取数据。HBase可以自如地存储结构化和半结构化的数据,所以你可以录入微博、解析好的日志文件或者全部产品目录及其用户评价。它也可以存储非结构化数据,只要不是特别大。它不介意数据类型,允许动态的、灵活的数据模型,并不限制存储的数据的种类。

HBase不同于你可能已经习惯的关系型数据库。它不用SQL语言,也不强调数据之间的关系。HBase不允许跨行的事务,你可以在一行的某一列存储一个整数而在另一行的同一列存储字符串。

HBase被设计成在一个服务器集群上运行,而不是单台服务器。集群可以由普通硬件构建;当把更多机器加入集群时,HBase可以相应地横向扩展。集群中的每个节点提供一部分存储空间、一部分缓存和一部分计算能力,因此HBase难以想象地灵活和宽容。因为没有独一无二的节点,所以某一台机器坏了,只需简单地用另一台机器替换即可。这意味着一种强大的、可扩展的使用数据的方式,到现在为止,一直没有官方数据说明它的扩展上限。

加入社区

遗憾的是,在生产环境中使用的最大的HBase集群没有官方的公开数据。这种信息容易被认为是商业机密而受到限制,经常不能分享。眼下,你只能在用户群组、聚会和会议上通过出版物的脚注、幻灯片内容或者是友好的非正式的八卦里满足一下好奇心了。

那么加入社区吧!这是正确的选择,我们也是这样参与进来的。HBase是一个非常专业领域里的开源项目。尽管HBase面对世界上最大几家软件公司的竞争,但是该项目的财务状况良好。是社区创造了HBase,也是社区使它保持竞争能力和创新能力。另外,这是一个智慧的、友好的群体。最好的开始方式是加入邮件列表1。你可以从JIRA网站2得到进展中的产品特性、增强和Bug等情况的信息。这是个开源的、协作的项目,正是像你这样的用户决定着项目的方向和发展。

走上前去,告诉他们,你来了!

HBase是设计和目标都与传统关系型数据库不同的系统,使用HBase构建应用也需要不同的方法。本书就是专门教你怎样使用HBase提供的特性来构建处理海量数据的应用的。在开始学习使用HBase之前,我们先从历史的角度来看看HBase是怎么出现的,以及其背后的驱动力。然后我们再看看人们使用HBase解决问题的成功案例。可能你和我们一样,在深入研究之前想试用一下HBase。最后我们会指导你在自己的笔记本电脑上安装HBase,存些数据进去,跑跑看看。学习HBase,了解大背景很重要,让我们先从数据库的演变历史开始。

相关实践学习
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
4月前
|
存储 分布式计算 分布式数据库
对给定的数据利用MapReduce编程实现数据的清洗和预处理,编程实现数据存储到HBase数据库,实现数据的增删改查操作接口
对给定的数据利用MapReduce编程实现数据的清洗和预处理,编程实现数据存储到HBase数据库,实现数据的增删改查操作接口
27 0
|
5月前
|
分布式计算 分布式数据库 Hbase
99 MapReduce操作Hbase
99 MapReduce操作Hbase
42 0
|
缓存 分布式计算
MapReduce执行机制之Map和Reduce源码分析
MapReduce执行机制之Map和Reduce源码分析
138 0
|
分布式计算 分布式数据库 Hbase
当HBase遇上MapReduce头歌答案
当HBase遇上MapReduce头歌答案
511 0
|
存储 分布式计算 分布式数据库
【HBase】(九)MapReduce 操作 Hbase
【HBase】(九)MapReduce 操作 Hbase
371 0
|
分布式数据库 Hbase Java
hbase region split源码分析
hbase region split : split执行调用流程: 1.HbaseAdmin发起split:### 2.RSRpcServices实现类执行split(Implements the regionserver RPC services.)### 3.CompactSplitThread类与SplitRequest类用来执行region切割:### 4.splitRequest执行doSplitting操作### 4.1初始化两个子region### 4.2执行切割#### 4.2.1:(创建子region。
1754 0
|
分布式计算 分布式数据库 Apache
|
分布式数据库 Hbase
hbase snapshot源码分析
snapshot操作在硬盘上形式: /hbase/.snapshots /.tmp <---- working directory /[snapshot name] <---...
1336 0
|
分布式计算 Java
MapReduce中map并行度优化及源码分析
mapTask并行度的决定机制   一个job的map阶段并行度由客户端在提交job时决定,而客户端对map阶段并行度的规划的基本逻辑为:将待处理数据执行逻辑切片(即按照一个特定切片大小,将待处理数据划分成逻辑上的多个split),然后每一个split分配一个mapTask并行实例处理。
1225 0