`

【原创】HBase中列族设计的原则

阅读更多

    HBase表在进行模式设计时,首先考虑的一个问题是,这个表应该有多少个列族。一张表设计多少列族合理呢?相信这个问题困扰着不少HBase初学者。让我们来先简单分析一下HBase的实现原理。

    HBase中的表和其数据库一样,也是由行和列组成的,虽说模式有些不同。HBase中的表可能达到数十亿行和数百万列,表的大小可能达到TB级,显然不可能在一台机器上存放整张表。相反,一张表在存储时会切分成小一点儿的数据单位,然后分配到多台服务器上。这个小一点儿的数据单位叫region。HBase表中数据的访问是通过其对应region来进行管理的,region内对列族的管理如下图:

 
    每个列族都会MemStore和BlockCache,数据在硬盘中以HFile形式存储。HFile不会存储跨列族的数据。
    因此,根据上图可以得出,HBase表中列族设计的原则是:
    一、同一个列族里存储相似访问模式的所有有数据。
    可以理解为关系数据库中一对一关系,一对一关系的两张表,在HBase中可以存储在一张表中,放到不同的列族。
    二、大多数的表,设计一个列族就够了。
    在HBase中,高表比宽表性能好,可以设计多张表来满足需求。
 
  • 大小: 64.8 KB
分享到:
评论

相关推荐

    Hbase 删除某一列

    删除Hbase中某个表的一列值 命令 java -jar deleteOneColumn.jar(这个文件的路径) '表名' '列簇名' '列名'

    HBase数据库设计.doc

    HBase的模式Schema设计的一些概念和原则 5 1)模式的创建与更新 5 2)列族的数量 6 3)行键设计RowKey 6 5. HBase的拓扑结构是什么? 7 1)拓扑结构 7 2)HBase与ZooKeeper的关系是什么? 7 3)HBase的内部结构管理...

    HBase最佳实践-列族设计优化

    随着大数据的越来越普及,HBase也变得...笔者总结至少有如下几个方面:HDFS相关配置优化,HBase服务器端优化(GC优化、Compaction优化、硬件配置优化),列族设计优化,客户端优化等,其中客户端优化在前面已经通过超

    hbase的Rowkey设计方案.pdf

    HBase中设计有MemStore和BlockCache,分别对应列族/Store级别的写⼊缓存,和RegionServer级别的读取缓存。如果RowKey过 长,缓存中存储数据的密度就会降低,影响数据落地或查询效率。 1.2 hbase的设计原则以及解决...

    hbase原理和设计

    hbase原理和设计,包括二级索引,rowkey设计,常见的坑.

    java大数据作业_3HBase

    2. 请简述HBase中数据写入最后导致Region分裂的全过程 3. 如果设计一个笔记的表,表中要求有笔记的属性和笔记的内容,怎么做 4. HBase部署时如何指定多个zookeeper 5. HBase shell是基于哪种JVM运行的语言实现的 6. ...

    大数据开发之Hbase基本使用及存储设计实战教程(视频+笔记+代码)

    │ Day1502_Hbase中的特殊概念.mp4 │ Day1503_Hbase与MYSQL的存储比较.mp4 │ Day1504_Hbase部署环境准备.mp4 │ Day1505_Hbase伪分布式配置文件的修改.mp4 │ Day1506_Hbase伪分布式的启动及hbase命令的使用.mp4 ...

    Hbase 表设计与操作

    HBase – Hadoop Database,是一...Google运行MapReduce来处理Bigtable中的海量数据,HBase同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable利用 Chubby作为协同服务,HBase利用Zookeeper作为对应。

    hbase-1.1.5-bin版本的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL数据库

    不同的是,HBase 有列族的概念,它将一列或者多列组织在一起,HBase 的每一个列都必须属于某个列族。 HBase 是一个可以进行随机访问的存取和检索数据的存储平台,存储结构化和半结构化的数据,因此一般的网站可以将...

    HBASE数据库.docx

    HBASE数据库全文共7页,当前为第1页。HBASE数据库全文共7页,当前为第1页。HBASE数据库 HBASE数据库全文共7页,当前为第1页。...不支持复杂的事务(行级的事务) Hbase 中支持的数据类型: byte[] 与 hadoop 一样,

    Hbase中文文档

    5.5. 列族 5.6. Cells 5.7. Data Model Operations 5.8. 版本 5.9. 排序 5.10. 列元数据 5.11. Joins 6. HBase 和 Schema 设计 6.1. Schema 创建 6.2. column families的数量 6.3. Rowkey 设计 6.4. Number 数量 6.5...

    nosql实验二-HBase的表结构设计.docx

    nosql实验二-HBase的表结构设计

    hbase-1.2.1-bin.tar的压缩包,下载到本地解压后即可使用 HBase 是一个开源的、分布式的NoSQL 数据库

    不同的是,HBase 有列族的概念,它将一列或者多列组织在一起,HBase 的每一个列都必须属于某个列族。 HBase 是一个可以进行随机访问的存取和检索数据的存储平台,存储结构化和半结构化的数据,因此一般的网站可以将...

    Hbase 官方中文文档

    Hbase中文文档。想0分分享,结果不能设置0分了;坑爹了。

    HBase(hbase-2.4.9-bin.tar.gz)

    HBase(hbase-2.4.9-bin.tar.gz)是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System...

    大数据书籍-Hbase架构设计(高清)

    这本书对于想学习大数据Hbase的程序爱好者非常有用,深入介绍了从Hbase原理、生态圈到项目中架构设计和相关问题优化的各方面

    hbase中文官方文档

    hbase中文官方文档,非常不错,值得推荐

    Hbase应用开发实验报告及代码

    (3) 向已经创建好的表添加和删除指定的列族或列;(4) 清空指定的表的所有记录数据(5) 统计表的行数。2. 现有以下关系型数据库中的表和数据,要求将其转换为适合于HBase存储的表并插入数据:

    HBase 0.97 中文文档

    HBase 0.97 中文文档 HBase 0.97 中文文档 HBase 0.97 中文文档

    Python-HBase中文参考指南

    HBase 中文参考指南

Global site tag (gtag.js) - Google Analytics