《HBase实战》一2.3 数据坐标

2.3 数据坐标

HBase实战
在逻辑数据模型里,时间版本的数字也是数据的坐标之一。你可以想象,在关系型数据库里存储数据使用的是二维坐标系统,先是行后是列。照此类推,HBase在表里存储数据使用的是四维坐标系统。

HBase使用的坐标依次是行键、列族、列限定符和时间版本。users表的坐标如图2-4所示。

当使用HBase API检索数据时,你不需要提供全部坐标。如果你在Get命令中省略了时间版本,HBase返回数据值多个时间版本的映射集合。HBase允许你在一次操作中得到多个数据,它们按照坐标的降序排列。那么你可以把HBase看做是这样一种键值数据库,它的数据值是映射集合或者映射集合的集合。该思想如图2-6所示。

等本章后面我们介绍了HBase数据模型再详细讨论这个概念。

时间: 2024-10-26 22:43:51

《HBase实战》一2.3 数据坐标的相关文章

《HBase实战》一导读

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

《HBase实战》一2.5 数据模型

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

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

第一部分 HBase基础 HBase实战 本书前三章介绍HBase的基本原理.第1章大体上回顾一下数据库技术的演变,并介绍HBase出现的特定背景. 第2章通过建立一个应用示例--TwitBase来讲授HBase的基础知识.通过这个示例,你可以学习如何访问HBase以及如何设计HBase的模式(schema),你会简单地了解到在应用系统中如何有效使用HBase. HBase是一种分布式系统,我们在第3章会探讨分布式架构.你将学习到HBase如何在集群中管理你的数据以及如何使用MapReduce访

《HBase实战》一2.8 ACID语义

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

《HBase实战》一2.6 表扫描

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

《HBase实战》一2.7 原子操作

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

基于.NET平台的分层架构实战(九)—数据访问层的第三种实现:基于NBear框架

基于.NET平台的分层架构实战(九)-数据访问层的第三种实现:基于NBear框架的ORM实现 前面的文章讨论了使用SQL语句和存储过程两种数据访问层的实现方式,这一篇里,将讨论使用ORM方式实现数据访问层的方法. 对象-关系映射(Object/Relation Mapping,简称ORM),是随着面向对象的软件开发方法发展而产生的.面向对象的开发方法是当今企业级应用开发环境中的主流开发方法,关系数据库是企业级应用环境中永久存放数据的主流数据存储系统.对象和关系数据是业务实体的两种表现形式,业务实

基于.NET平台的分层架构实战(八)—数据访问层的第二种实现:SQLServer+存储

基于.NET平台的分层架构实战(八)-数据访问层的第二种实现:SQLServer+存储过程 在上一篇中,讨论了使用SQL构建数据访问层的方法,并且针对的是Access数据库.而这一篇中,将要创建一个针对SQLServer数据库的数据访问层,并且配合存储过程实现. 曾经有朋友问我使用SQL和存储过程在效率上的差别,惭愧的是我对这方面没有研究,也没有实际做过测试.通过查阅资料,发现在一般情况下,存储过程的效率由于使用SQL,但是也不绝对,也发现有的朋友测试时发现在特定情况下SQL的效率优于存储过程,

vb6.0的listview怎么通过适配器获得屏幕数据坐标

问题描述 vb6.0的listview怎么通过适配器获得屏幕数据坐标 vb6.0的listview怎么通过适配器获得屏幕数据坐标?怎么得到当前单元格相对屏幕坐标呢?