1. 列族数据库的基本组件

键空间,行键,列,列族

2. 什么是键空间 keyspace?

键空间 keyspace 是列族数据库的顶级数据结构,它在逻辑上能够容纳列族,行键以及与之相关的其他数据结构。

一般来说,每个数据库应用都会有自己的一套键空间。

键空间有些类似于关系型数据库的 schema

3. 什么是 row key ?

行键用来分辨列族数据库中各个数据行的身份,其用途与关系数据库的主键有些相似。

要想准确的定位某个数值,除了 row key,还需要用到列族的名称列的名称,以及时间戳等版本排序机制。

row key 还可用来对数据进行分区排序

HBase 中各个数据行是按照行键的字典顺序来保存的。

4.  什么是列?

列是数据库用来存放单个数值的数据结构。

HBase 只是把列值简单的表示成字节串,由于不需要验证数据类型,可以尽量降低数据库的开销。

5. 什么是列族?

列族是相关的列所构成的集合

经常需要同时使用的列应该放在同一个列族之中,如客户的地址信息,诸如街道,城市,州,邮编

应该合在一起放在同一个列族里面。

列族数据库的各个数据行之间可以有所变化,而不需要像关系型数据库那样必须把每列都填满

6. 列族数据库的列与关系数据库的列有何区别?

关系型数据库表格中的列没有列族数据库的列那样灵活。

1) 向关系数据库中添加新列必须修改 schema definition 纲要定义,而向列族数据库中添加新列则只需要在客户端程序里给出列名即可。

2) 列族数据库的各个数据行之间可以有所变化,而不需要向关系数据库那样必须把每列填满

3)关系型表格中所存放的数据不一定非要按照某种预先定义好的顺序来维护

7. 什么样的列应该归入同一个列族里面?

经常需要一起使用的那些列应该放到同一个列族里面,如客户的地址信息,街道、城市、州等就应该合在一起放在同一个列族里面

8. 分区在列族数据库中的用途是什么?

分区是数据库的一种逻辑子集。数据库通常会根据数据的某个属性来把一组数据存放在某个分区中。

列族数据库集群中的每个节点或服务器可以维护一个或者多个分区。

很多台服务器上面可能都分别存放着同一个分区的多份拷贝,这样能够提升读取和写入操作的成功率,即便在服务器出现故障时,

这些操作也依然可能成功。

HBase—列族数据库的术语的更多相关文章

  1. 数据源、数据集、同步任务、数据仓库、元数据、数据目录、主题、来源系统、标签、增量识别字段、修改同步、ES索引、HBase列族、元数据同步、

    数据源.数据集.同步任务.数据仓库.元数据.数据目录.主题.来源系统.标签. 增量识别字段.修改同步.ES索引.HBase列族.元数据同步.DS.ODS.DW.DM.zk集群地址 == 数据源 数据源 ...

  2. HBase列族高级配置

    转自:http://blog.sina.com.cn/s/blog_ae33b83901018euz.html ------------------ HBase有几个高级特性,在你设计表时可以使用.这 ...

  3. HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store)

    HRegionServer内部管理了一系列HRegion对象,每个HRegion对 应了table中的一个region,HRegion中由多 个HStore组成.每个HStore对应了Table中的一 ...

  4. 从HBase底层原理解析HBASE列族不能设计太多的原因?

    在之前的文章<深入探讨HBASE>中,笔者详细介绍了: HBase基础知识(包括简介.表结构).系统架构.数据存储 WAL log和HBase中LSM树的应用 HBase寻址机制 mino ...

  5. HBase 列族数量为什么越少越好

    http://blog.csdn.net/r1soft/article/details/63253985 http://www.cnblogs.com/nucdy/p/5965113.html

  6. NoSQL 列族数据库

  7. Hbase之必要时取出请求的行(列族所有数据)

    import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CellScanner; import org. ...

  8. Hbase与Oracle比较(列式数据库与行式数据库)

    Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间.   Hbase本质上只 ...

  9. hbase源码系列(四)数据模型-表定义和列族定义的具体含义

    hbase是一个KeyValue型的数据库,在<hbase实战>描述它的逻辑模型[行键,列族,列限定符,时间版本],物理模型是基于列族的.但实际情况是啥?还是上点代码吧. HTableDe ...

随机推荐

  1. Linux安装yum的痛苦路程(失败,慎入)

    1,在网上下载了一个yum 的 rpm文件(yum-3.2.29-81.el6.centos.noarch.rpm),我在 http://www.rpmfind.net/linux/rpm2html/ ...

  2. javascript高逼格代码实现数组去重,JSON深度拷贝,匿名函数自执行,数字取整等

    1.如何装逼用代码骂别人傻逼 (!(~+[])+{})[--[~+""][+[]]*[~+[]] + ~~!+[]]+({}+[])[[~!+[]]*~+[]] 2.如何优雅的用代 ...

  3. AngularJS入门讲解2:过滤器和双向绑定

    我们在上一课做了很多基础性的训练,接下来,我们讲一些难点的知识点,首先,讲一下如何实现一个全文检索功能: <html ng-app> <head> ... <script ...

  4. LINUX中软RAID的实现方案

    转自linux就该这么学 应用场景 Raid大家都知道是冗余磁盘的意思(Redundant Arrays of Independent Disks,RAID),可以按业务系统的需要提供高可用性和冗余性 ...

  5. set,env和export命令显示shell变量其区别,与环境变量扫盲(一)

    种类: ♦ set     :  用来显示本地变量,显示当前shell的变量,包括当前用户的变量 ♦ env    :  用来显示环境变量,显示当前用户的变量. ♦ export:  用来显示和设置环 ...

  6. 06-图2 Saving James Bond - Easy Version (25 分)

    This time let us consider the situation in the movie "Live and Let Die" in which James Bon ...

  7. 内核诊断(1)interrupt took too long

    The linux kernel gathers samples using 'perf' performance monitor without affecting the latencies. T ...

  8. WCF系列教程之WCF客户端调用服务

    1.创建WCF客户端应用程序需要执行下列步骤 (1).获取服务终结点的服务协定.绑定以及地址信息 (2).使用该信息创建WCF客户端 (3).调用操作 (4).关闭WCF客户端对象 二.操作实例 1. ...

  9. MVC,MVP,MVVM的区别

    MVC模型关注的是Model的不变,所以,在MVC模型里,Model不依赖于View,但是 View是依赖于Model的.不仅如此,因为有一些业务逻辑在View里实现了,导致要更改View也是比较困难 ...

  10. 浅谈js中的垃圾两种回收机制

    一.标记清除 标记清除的主要思想是先建立各个对象的关联,然后从根节点出发,使用广度优先搜索依次标记所有对象,那些不能被标记的对象就应该作为垃圾回收. 这种方式的主要缺点就是如果某些对象被清理后,内存是 ...