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

第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,了解大背景很重要,让我们先从数据库的演变历史开始。

时间: 2024-09-28 02:38:46

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

《MapReduce 2.0源码分析与编程实战》一导读

前 言 MapReduce 2.0源码分析与编程实战 我们处于一个数据大爆炸的时代.每时每刻.各行各业都在产生和积累海量的数据内容.这些数据中蕴含着进行业务活动.获取商业信息.做出管理决策的重要信息.如何处理这些数据并获取有价值的信息,是众多组织和单位面临的共同问题.而这个问题的解决又依赖两项技术,一是能够对产生的业务数据进行统一管理和综合,并且能够无限扩展存储空间:二是能够有效处理获得的海量数据,在限定时间内获得处理结果的处理程序. 因此,寻求一个合理可靠的大数据处理决方案是目前数据处理的热点

《MapReduce 2.0源码分析与编程实战》一第1章 大象也会跳舞

第1章 大象也会跳舞 MapReduce 2.0源码分析与编程实战大象能跳舞吗?当我们被庞大而臃肿的数据压垮,常常会不停地问自己是否真的有必要收集那么多的数据吗?对于这个问题,我回答是 "一切都取决于你自己".对于庞大的数据来说,在不同人的眼中,既可以是一座无用的垃圾山,也可以是一座未经开凿的金山,这一切都取决于使用者的能力与眼界.

《MapReduce 2.0源码分析与编程实战》一1.2 HBase使用场景和成功案例

1.2 HBase使用场景和成功案例 HBase实战有时候了解软件产品的最好方法是看看它是怎么用的.它可以解决什么问题和这些解决方案如何适用于大型应用架构,这些能够告诉你很多.因为HBase有许多公开的产品部署案例,我们正好可以这么做.本节将详细介绍一些成功使用HBase的使用场景. 注意不要自我限制,认为HBase只能在这些使用场景下使用.它是一个很新的技术,根据使用场景进行的创新正推动着该系统的发展.如果你有新想法,认为HBase提供的功能会让你受益,那就试试吧.社区很乐于帮助你,也会从你的

《MapReduce 2.0源码分析与编程实战》一1.3 你好HBase

1.3 你好HBase HBase实战HBase搭建在Apache Hadoop和Apache ZooKeeper上面.就像Hadoop家族其他产品一样,它是用Java编写的.HBase可以以3种模式运行:单机.伪分布式和全分布式.下面我们将使用的是单机模式.这意味着在一个Java进程里运行HBase的全部内容.这种访问模式用于研究HBase和做本地开发. 伪分布式模式需要在一台机器上运行多个Java进程.最后的全分布模式需要一个服务器集群.这两种模式需要安装相关联的软件包以及合理地配置HBas

《MapReduce 2.0源码分析与编程实战》一1.4 MapReduce与Hadoop

1.4 MapReduce与Hadoop 如果将Hadoop比作一头大象的话,那么MapReduce就是那头大象的大脑.MapReduce是Hadoop核心编程模型.在Hadoop中,数据处理核心为MapReduce程序设计模型.MapReduce把数据处理和分析分成两个主要阶段,即Map阶段和Reduce阶段.Map阶段主要是对输入进行整合,通过定义的输入格式获取文件信息和类型,并且确定读取方式,最终将读取的内容以键值对的形式保存.而Reduce是用来对结果进行后续处理,通过对Map获取内容中

《MapReduce 2.0源码分析与编程实战》一1.3 简单、粗暴、有效——这就是Hadoop

1.3 简单.粗暴.有效--这就是Hadoop 2005年,IT界先锋Apache基金会率先提出了一种先进的不以关系型数据为基础的大数据处理模型--Hadoop. Hadoop就是解决面向互联网及其他来源的大数据分析和并行处理的计算模型.它的诞生引起了学术界.金融界以及商业界的广泛关注.Hadoop创建之初的宗旨就是让使用者能够通过使用大量普通的服务器搭建相应的服务器集群来实现大数据的并行处理,其优先考虑的是数据扩展性和系统的可用性. 简单.粗暴.有效--这就是Hadoop. Hadoop是一个

《MapReduce 2.0源码分析与编程实战》一1.2 大数据分析时代

1.2 大数据分析时代 如果我们把大数据比作一块未经开发的沃土,那么只有经过耕耘收获的果实才能够算得上是真正获得了沃土的回报.换言之,如果把大数据比作一块沃土,那么只有强化对土地的"耕耘"能力,才能通过"加工"实现数据的"增值". 随着"大数据时代"的开启,对大数据本身的处理和分析越来越为生产者和商业者所看重.但是问题在于,相比于拥有较长历史的数据库分析和传统数据分析,大数据分析具有待数据量特别巨大.算法分析特别复杂等特点.

《MapReduce 2.0源码分析与编程实战》一2.1 从头开始

2.1 从头开始 HBase实战TwitBase存储3种简单的核心数据元素,即用户(user).推帖(twit)和关系(relationship).用户是TwitBase的中心.用户登录进入应用系统,维护用户信息,通过发帖与其他用户互动.推帖是TwitBase中用户公开发表的短文.推帖是用户间互动的主要模式.用户通过互相转发产生对话.所有互动的"粘合剂"就是关系.关系连接用户,使用户很容易读到其他用户的推帖.本章关注点是用户和推帖,下一章将讨论关系. 关于Java 本书绝大部分代码都是

《MapReduce 2.0源码分析与编程实战》一1.1 数据管理系统:速成

1.1 数据管理系统:速成 HBase实战关系型数据库系统已经存在几十年了,多年来在解决数据存储.服务和处理问题方面取得了巨大的成功.一些大型公司使用关系型数据库建立了自己的系统,比如联机事务处理系统和后端分析应用系统. 联机事务处理(OLTP)系统用来实时记录交易信息.对这类系统的期望是能够快速返回响应信息,一般是在毫秒级.例如,零售商店的收银机在客户购买和付款时需要实时记录相应信息.银行拥有大型OLTP系统,用来记录客户之间转账之类的交易信息,但OLTP不仅仅用于资金交易,像LinkedIn

《MapReduce 2.0源码分析与编程实战》一1.5 看,大象也会跳舞

1.5 看,大象也会跳舞 大象也会跳舞.当人们还在争论大数据处理能否为自己所在的行业带来革命的时候,部分行业领袖已经在享用大数据处理给自己带来的非凡好处. Hadoop一个最为普遍的应用是为获得的海量数据提供处理程序,从而能够获得其中包含的各种信息.例如经常使用的聚类推荐,向感兴趣的顾客推荐相关商品和服务:或者为广告供应商提供具有针对性的广告服务,并且通过点击率的反馈获得统计信息,进而有效地帮助他们调整相应的广告投放能力. 长期以来,互联网巨头,包括Yahoo!.Google等广告商为其投放的标