HBase—列族数据库的术语
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—列族数据库的术语的更多相关文章
- 数据源、数据集、同步任务、数据仓库、元数据、数据目录、主题、来源系统、标签、增量识别字段、修改同步、ES索引、HBase列族、元数据同步、
数据源.数据集.同步任务.数据仓库.元数据.数据目录.主题.来源系统.标签. 增量识别字段.修改同步.ES索引.HBase列族.元数据同步.DS.ODS.DW.DM.zk集群地址 == 数据源 数据源 ...
- HBase列族高级配置
转自:http://blog.sina.com.cn/s/blog_ae33b83901018euz.html ------------------ HBase有几个高级特性,在你设计表时可以使用.这 ...
- HBASE列族不能太多的真相 (一个table有几个列族就有几个 Store)
HRegionServer内部管理了一系列HRegion对象,每个HRegion对 应了table中的一个region,HRegion中由多 个HStore组成.每个HStore对应了Table中的一 ...
- 从HBase底层原理解析HBASE列族不能设计太多的原因?
在之前的文章<深入探讨HBASE>中,笔者详细介绍了: HBase基础知识(包括简介.表结构).系统架构.数据存储 WAL log和HBase中LSM树的应用 HBase寻址机制 mino ...
- HBase 列族数量为什么越少越好
http://blog.csdn.net/r1soft/article/details/63253985 http://www.cnblogs.com/nucdy/p/5965113.html
- NoSQL 列族数据库
- Hbase之必要时取出请求的行(列族所有数据)
import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.CellScanner; import org. ...
- Hbase与Oracle比较(列式数据库与行式数据库)
Hbase与Oracle比较(列式数据库与行式数据库) 1 主要区别 Hbase适合大量插入同时又有读的情况 Hbase的瓶颈是硬盘传输速度,Oracle的瓶颈是硬盘寻道时间. Hbase本质上只 ...
- hbase源码系列(四)数据模型-表定义和列族定义的具体含义
hbase是一个KeyValue型的数据库,在<hbase实战>描述它的逻辑模型[行键,列族,列限定符,时间版本],物理模型是基于列族的.但实际情况是啥?还是上点代码吧. HTableDe ...
随机推荐
- 3XX重定向
3XX响应结果表明浏览器需要执行某些特殊的处理以正确处理请求 301 Moved Permanently 永久性重定向 该状态码表示请求的资源已经被分配了新的URI,以后应使用资源现 ...
- python获取aliyun ECS实例
#!/usr/bin/env python #-*- coding:utf-8 -*- # Description : get ecs from aliyun # Author : quke # Da ...
- 苹果的 Metal 工程
Basic Buffers 当向顶点着色器传递数据过多(大于 4096 字节)时, setVertexBytes:length:atIndex: 方法不允许使用,应该使用 setVertexBytes ...
- mysql5.7.20多实例编译安装
好记性不如烂笔头! MySQL多实例 实际上就是在同一台服务器上运行多个mysql服务进程. 相同点:公用同一套MySQL安装程序. 不同点:使用不同的配置文件(也可以相同).启动程序(也可以相同). ...
- 42.oracle物化视图
写在前面 先大概列一下数据库表设计的常规流程.方案.要遵循的规则 根据业务切分设计表 逻辑分层(数据库分层) 数据库结构设计与拆分:水平拆分(mysql分片)oracle分区物化视图中间表设计方案 优 ...
- ES6之新增const命令使用方法
hi,我又回来了,今天学习一下const命令. 声明一个常量 const声明一个只读常量,一旦声明,常量的值便不可改变. 例子如下: const food = 12; food = 23; // Un ...
- String相关练习
1.用代码演示String类中的以下方法的用法 (1)boolean isEmpty(): 判断字符串是不是空串,如果是空的就返回true (2)char charAt(int index): 返回索 ...
- HttpURLConnection发送GET、POST请求
HttpURLConnection发送GET.POST请求 /** * GET请求 * * @param requestUrl 请求地址 * @return */ public String get( ...
- spring定时任务详解
(一)在spring.xml里加入task的命名空间 xmlns:task="http://www.springframework.org/schema/task" http:// ...
- Ubuntu+Mac使用飞鸽传书iptux进行互通
iptux不能直接与Mac版的IPMessage进行文件传输,但是可以和Windows的IPMessage进行互通.如果要实现Ubuntu和Mac下互通,就必须编译同一套代码,因为使用C++写的,所以 ...