本节书摘来异步社区《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,了解大背景很重要,让我们先从数据库的演变历史开始。

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

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

    本节书摘来异步社区<MapReduce 2.0源码分析与编程实战>一书中的第1章,第1.5节,作者: 王晓华 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公 ...

  2. 《MapReduce 2.0源码分析与编程实战》一1.6 本章小结

    本节书摘来异步社区<MapReduce 2.0源码分析与编程实战>一书中的第1章,第1.6节,作者: 王晓华 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公 ...

  3. 《MapReduce 2.0源码分析与编程实战》一第2章 入门

    本节书摘来异步社区c书中的第2章,第2.1节,作者: 王晓华 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. 第2章 入门 HBase实战 本章涵盖的内容 连 ...

  4. SRS4.0源码分析-序言

    <SRS4.0源码分析>专栏,会从 configure(配置),makefile(编译规则),main (入口函数), 带你一步一步了解 SRS 的主干代码逻辑. 这里分享一个本人阅读开源 ...

  5. Tomcat7.0源码分析——Session管理分析(下)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/beliefer/article/details/52451061 前言 在<Tomcat7.0 ...

  6. vue-cli 3.0 源码分析

    写在前面 其实最开始不是特意来研究 vue-cli 的源码,只是想了解下 node 的命令,如果想要了解 node 命令的话,那么绕不开 tj 写的 commander.js.在学习 commande ...

  7. Tomcat7.0源码分析——Session管理分析(上)

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/beliefer/article/details/52450268 前言 对于广大java开发者而言, ...

  8. Android6.0源码分析—— Zygote进程分析(补充)

    原文地址: http://blog.csdn.net/a34140974/article/details/50915307 此博文为<Android5.0源码分析-- Zygote进程分析> ...

  9. android6.0源码分析之Zygote进程分析

    在android6.0源码分析之Runtime的初始化一文中,对Zygote进程的初期的Runtime初始化过程进行了分析,在Runtime启动结束后,会对Zygote进程进行初始化,其它Java进程 ...

最新文章

  1. pycharm设置回退功能
  2. JAVA线程本地变量ThreadLocal和私有变量的区别
  3. 数学之美 系列一 -- 统计语言模型
  4. java数组最大下标_【Java视频教程】day09-面向对象
  5. 树状数组之区间修改单点查询
  6. java getjsonarray_无法在Java中访问getJSONArray
  7. 905. 按奇偶排序数组
  8. [LCT动态树] [NOI2014]魔法森林,[ZJOI2018]历史
  9. ios 查询mysql数据库操作系统_iOS数据库FMDB--增删改查(模糊查询)详细介绍
  10. python的整数类型_Python int 数字整型类型 定义int()范围大小转换
  11. angularjs增删改查数据_MongoDB数据读写操作(增删改查)总结
  12. python第五章课后作业_python 入门到实践第五章课后练习
  13. 如何用Baas快速在腾讯云上开发小程序-系列3 :实现腾讯云COS API调用
  14. Linux之判断socket是否断开
  15. js修改css样式的方法,js如何设置css样式?js修改css样式的方法
  16. matlab johnson变换,johnson算法是什么?
  17. MTK如何烧录IMEI码(俗称串号)
  18. k8s停止服务_Kubernetes 优雅停止Pod
  19. 零基础玩转树莓派(六)—遥控小车
  20. 记录安装Node.js一直提示:The feature you are trying to use is on a network resource

热门文章

  1. Spread for Windows Forms高级主题(3)---单元格的编辑模式
  2. CentOS 7 Galera Cluster安装全攻略
  3. Python学习——反射
  4. 《C语言程序设计:问题与求解方法》——3.8节不同类型数据之间的类型转换
  5. C#forUnity快速入门(连载2)-C#语言入门
  6. md5加密用户登陆遇到的问题及解决办法
  7. Android 资源保护问题——探索
  8. Spring MVC 解决日期类型动态绑定问题
  9. python之6-3嵌套函数
  10. winform中的webbrowser里面操作html代码问题