《HBase企业应用开发实战》—— 第3章 数 据 模 型

第3章 数 据 模 型

在开始使用HBase之前非常有必要先学习HBase的特性,因此本章将介绍HBase的逻辑模型、物理模型和访问HBase的方法等。和传统的关系型数据库类似,HBase以表(Table)的方式组织数据,应用程序将数据存入HBase的表中。HBase的表由行(Row)和列(Column)共同构成,与关系型数据库不同的是HBase有一个列族(Column Family)的概念,它将一列或者多列组织在一起,HBase的列必须属于某一个列族。
行和列的交叉点称为单元格(Cell),单元格是版本化的。单元格的内容也就是列的值是不可分割的字节数组,以二进制形式存储。HBase没有数据类型,任何列值都被转换成字节数组进行存储。HBase表中的行是通过行键(Rowkey)进行区分的,行键也是用来唯一确定一行的标识,不同的行键代表不同的行,行键也是一段字节数组,不论是字符串还是数字,最终都会被转换成字节数组进行存储。HBase表中的行是按Rowkey排序的,排序方式采用字典顺序,所有表中的行都必须要有Rowkey。
同时HBase是一种面向列的分布式的数据库,其物理模型和逻辑模型与传统的关系型数据库有很大的不同。下面我们将详细讲述HBase数据模型中的一些重要概念。

时间: 2024-08-04 12:57:51

《HBase企业应用开发实战》—— 第3章 数 据 模 型的相关文章

《HBase企业应用开发实战》—— 3.6 本章小结

前 言 为什么要写这本书 大数据是继云计算.物联网之后IT行业又一次颠覆性的技术革命.大数据在互联网.军事.金融.通信和物理学等领域已经有不少落地案例,而Hadoop技术的快速发展也引起业界广泛关注.可以说,现在Hadoop是大数据处理的关键技术,也是迄今为止,最成熟.应用最广泛的技术. HBase原型是Google的BigTable论文,从基因上讲,HBase已经是Hadoop生态系统不可或缺的一部分.HBase是完全开源的,同时存在多个版本,并且版本升级非常快,其学习成本比较高,学习周期比较

《HBase企业应用开发实战》—— 1.2 HBase是什么

1.2 HBase是什么 HBase(Hadoop Database)是一个高可靠.高性能.面向列.可伸缩的分布式数据库,利用HBase技术可在廉价PC上搭建起大规模结构化存储集群.HBase参考Google的BigTable建模,使用类似GFS的HDFS作为底层文件存储系统,在其上可以运行MapReduce批量处理数据,使用ZooKeeper作为协同服务组件. HBase的整个项目使用Java语言实现,它是Apache基金会的Hadoop项目的一部分,既是模仿Google BigTable的开

《HBase企业应用开发实战》—— 第1章 认识HBase

第1章 认识HBase 本章将介绍大数据背景和HBase的基本概念,从大数据引申到NoSQL,并阐述HBase出现的契机.随后,将介绍HBase的概念.发展历史.发行版本和基本特性.其中,HBase的核心功能模块将作为一个小节单独重点介绍,最后通过介绍HBase的使用场景和经典案例,让读者朋友能够清晰地了解HBase可以做什么.作为NoSQL家庭的一员,HBase的出现弥补了Hadoop只能离线批处理的不足,同时能够存储小文件,提供海量数据的随机检索,并保证一定的性能.而这些特性也完善了整个Ha

《HBase企业应用开发实战》—— 第2章 HBase安装与配置

第2章 HBase安装与配置 本章将讲述如何安装.部署.启动和停止HBase集群,以及如何通过命令行的方式对HBase进行基本操作,例如:插入.查询.删除数据.在安装HBase之前强烈建议各位读者仔细阅读2.1节,确定这些基本需求都已经满足,否则可能遇到各种棘手的问题,比如查询不到数据甚至丢失数据.配置HBase的方式与Hadoop类似,都是通过修改安装包的conf目录下的配置文件完成的.在对一台机器修改配置文件后要记得同步到集群中所有节点,此时可以使用scp或rsync命令,在大多数情况下,需

《HBase企业应用开发实战》—— 1.6 本章小结

1.6 本章小结 本章主要介绍了HBase上下文相关的知识,包括大数据背景.HBase的发展历史.发行版本.特性.核心功能模块以及使用场景和经典案例等知识点,并且详细介绍了HBase是什么和HBase能做什么两个要点,方便读者快速理解和掌握HBase框架.任何一种框架或者软件都有其特定的应用场景,类似"万金油"的框架是10年前大家追求的设计理念,所以HBase有其特定的使用场景.通过本章学习,初学者可以迅速掌握HBase能用来做什么,不能用来做什么,最大程度上缩短读者的学习和使用成本.

《HBase企业应用开发实战》—— 2.1 先决条件

2.1 先决条件 在开始安装HBase之前需要做一些准备工作,这涉及操作系统设置.分布式模式Hadoop的部署及HBase自身的配置,因此要确保在运行HBase之前这些条件已经具备.以下将介绍HBase依赖的一些重要的中间件.系统服务或配置. 1.?运行时环境JDK 和Hadoop一样,HBase需要JDK1.6或者更高版本,推荐采用Oracle公司的版本,对于JDK1.6不要使用u18及以前的版本,因为这些版本Java的垃圾收集器会遇到"jvm crash"的问题(可以通过Goolg

《HBase企业应用开发实战》—— 1.3 HBase与Hadoop的关系

1.3 HBase与Hadoop的关系 HBase参考了Google的BigTable建模,且将下面三篇博文作为HBase实现的理论基础:BigTable by Google(2006)HBase and HDFS Locality by Lars George(2010)No Relation:The Mixed Blessings of Non-Relational Databases by Ian Varley(2009)从上面的博文列表中也可以看出,HBase和HDFS有着非常紧密的关系

《HBase企业应用开发实战》—— 1.5 HBase的使用场景和经典案例

1.5 HBase的使用场景和经典案例 了解软件产品的最好方法是如何使用,解决什么问题以及如何适用于大型应用架构.接下来的内容将详细介绍一些业界成功使用HBase的场景.但是,不要认为HBase只能解决下面的这些使用场景,因为它是一个正在发展和完善的技术框架,根据使用场景进行的创新正驱动着系统的发展.下面是对HBase适用场景的一些抽象概括,从需求角度进行抽象,涵盖存储量级.性能.扩展.数据格式和关联关系等方面.存储大量的数据(PB级数据)且能保证良好的随机访问性能.需要很高的写吞吐量,瞬间写入

《HBase企业应用开发实战》—— 2.2 HBase运行模式

2.2 HBase运行模式 HBase有两种运行模式:单机模式和分布式模式.在默认情况下HBase运行在单机模式下,如果要运行分布式模式的HBase,需要编辑安装目录下conf文件夹中相关的配置文件. 不管运行在什么模式下,都需要编辑安装包的conf目录下的hbase-env.sh文件来告知HBase Java的安装路径.在这个文件中还可以设置HBase的运行环境,诸如Heap Size和其他有关JVM的选项,还有日志文件保存目录.进程优先级等.最重要的是设置JAVA_HOME指向Java安装的