《HBase实战》一第一部分 HBase基础

第一部分 HBase基础

HBase实战
本书前三章介绍HBase的基本原理。第1章大体上回顾一下数据库技术的演变,并介绍HBase出现的特定背景。

第2章通过建立一个应用示例——TwitBase来讲授HBase的基础知识。通过这个示例,你可以学习如何访问HBase以及如何设计HBase的模式(schema),你会简单地了解到在应用系统中如何有效使用HBase。

HBase是一种分布式系统,我们在第3章会探讨分布式架构。你将学习到HBase如何在集群中管理你的数据以及如何使用MapReduce访问HBase。到第一部分结束,你就能掌握搭建HBase应用系统所需的基本知识了。

时间: 2024-07-30 14:15:36

《HBase实战》一第一部分 HBase基础的相关文章

《TensorFlow技术解析与实战》——第一篇 基础篇

第一篇 基础篇 TensorFlow技术解析与实战著名历史学家斯塔夫里阿诺斯在<全球通史>中,曾以15世纪的航海在"物理上"连通"各大洲"作为标志将人类历史划分为两个阶段.在我正在写作的<互联网通史>中,我把互联网这个"信息上"连通"人类个体"的物件作为划分人类历史的标志.而随着人工智能最近的崛起,我们又该思考重新划分了,因为人工智能将会在"信息上"连通"各个物体"

《HBase实战》一导读

前 言 HBase实战 2008年秋季我开始和HBase结缘,当时它还是一个新生项目,一年前刚刚发布.早期版本出来时,HBase表现很不错,但是也不是没有令人尴尬的缺陷.HBase项目当时有近10个软件Commiffer,作为一个Apache子项目还算不错.接下来是NoSQL宣传的高潮.当时专有名词NoSQL还没有出现,但是随后的一年这个术语变成了通俗用语.没有人能够说清楚为什么NoSQL重要,只知道它就是重要,反正数据领域开源社区的每个人都对这个概念很着迷.社区中有两种声音,有人批评关系型数据

《HBase实战》一2.6 表扫描

2.6 表扫描 HBase实战你可能发现,没有查询(query)命令.到目前为止,你都找不到这样的命令.查找包含某个特定值的记录的唯一办法是,使用扫描(Scan)命令读出表的某些部分,然后再使用过滤器(filter)来得到有关记录.可以想到,扫描返回的记录是排好序的.HBase设计上支持这种方式,因此速度很快. 要扫描得到整个表的内容,单独使用Scan构造函数即可: 但是,你经常只对整张表的一个子集感兴趣.比如,你想得到所有以字母T开头的ID的用户.给Scan构造函数增加起始行和结束行的信息即可

《HBase实战》一2.5 数据模型

2.5 数据模型 HBase实战正如你看到的那样,HBase进行数据建模的方式和你熟悉的关系型数据库有些不同.关系型数据库围绕表.列和数据类型--数据的形态使用严格的规则.遵守这些严格规则的数据称为结构化数据.HBase设计上没有严格形态的数据.数据记录可能包含不一致的列.不确定大小等.这种数据称为半结构化数据(semistructured data). 在逻辑模型里针对结构化或半结构化数据的导向影响了数据系统物理模型的设计.关系型数据库假定表中的记录都是结构化的和高度有规律的.因此,在物理实现

《HBase实战》一2.8 ACID语义

2.8 ACID语义 HBase实战如果使用过数据库系统,你会听说过各种数据库系统提供的ACID语义.ACID是当你搭建使用数据库系统做存储的应用系统时需要掌握的一组要素.当应用系统访问承载它的数据库时,遵循这些要素可以使应用系统的行为更加合理.为简单起见,让我们再次定义ACID.记住,ACID不同于之前我们简要介绍过的CAP. Atomicity(原子性)- 原子性是指原子不可分的操作属性,换句话说,要么全部完成,要么全部不完成.如果操作成功,整个操作成功.如果操作失败,整个操作失败,系统会回

《HBase实战》一2.3 数据坐标

2.3 数据坐标 HBase实战在逻辑数据模型里,时间版本的数字也是数据的坐标之一.你可以想象,在关系型数据库里存储数据使用的是二维坐标系统,先是行后是列.照此类推,HBase在表里存储数据使用的是四维坐标系统. HBase使用的坐标依次是行键.列族.列限定符和时间版本.users表的坐标如图2-4所示. 当使用HBase API检索数据时,你不需要提供全部坐标.如果你在Get命令中省略了时间版本,HBase返回数据值多个时间版本的映射集合.HBase允许你在一次操作中得到多个数据,它们按照坐标

《HBase实战》一2.4 小结

2.4 小结 HBase实战现在知道了如何访问HBase,让我们在一个实际例子中练习已经学到的东西.首先为User实例定义一个简单模型对象,如代码清单2-1所示. 代码清单2-1 User的数据模型 然后在一个类中封装所有HBase访问操作.先声明普遍使用的字节数组byte[]常量,然后定义封装操作命令的方法,接下来是User模型的公有接口和私有实现,如代码清单2-2所示. 代码清单2-2 在UsersDAO.java里的CRUD操作 声明一次常用的 字节数组常量 省略导入细节 让调用环境来管理

《HBase实战》一2.7 原子操作

2.7 原子操作 HBase实战HBase操作库里的最后一个命令是列值递增(Increment Column Value).它有两种使用方式,像其他命令那样使用Increment命令对象,或者作为HTableInterface的一个方法来使用.我们使用HTableInterface的方式,因为语义更直观.我们使用它来保存每个用户发布推帖的总数,如下所示: 该命令不用先读出HBase单元就可以改变存储其中的值.数据操作发生在HBase服务器上,而不是在你的客户端,所以速度快.当其他客户端也在访问同

HBase学习总结(2):HBase介绍及其基本操作

(HBase是一种数据库:Hadoop数据库,它是一种NoSQL存储系统,专门设计用来快速随机读写大规模数据.在已成功安装并正常启动的前提下,本文介绍HBase的基本操作.) 一.HBase简介 什么是HBase(Hadoop Database)呢?有以下两种常见的说法: 第一,它是一种稀疏的.分布式的.持久化的.多维有序映射,它基于行键(row key).列键(column key)和时间戳(timestamp)建立索引. 第二,它是一种键值(key value)存储,面向列族的数据库,有时也