首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

轻松理解Hbase面向的存储

官方介绍 Apache Hbase是Hadoop数据库,一个分布式、可扩展、大数据存储。 当你需要随机地实时读写大数据时使用Hbase。它的目标是管理超级大表-数十亿行X数百万。...Hbase世界 Hbase虽然弱化了结构,但并不等于放任不管。传统关系型数据库在插入数据前表结构(即所有的数据类型)已经是严格确定的。...Hbase的表在放入数据前也有需要确定下来的东西,那就是Column Family(常译为族/簇)。单词Family就是家庭的意思,所以族就是的家庭。...下图中所有1001的数据合起来相当于Hbase中的一行,1002的相当于另一行: ? row.png 在Hbase中,只要确定了族(具体的不用管),表(Table)就确定了。...table.png 官方文档中提醒:把传统数据库中的表/行/的概念用在Hbase中不是一个有帮助的类比。相反可以把Hbase的表想象成一个多(两)维Map(Map套Map)。

2.9K10

分布式NoSQL存储数据库Hbase_MR集成Hbase:读写Hbase规则(九)

分布式NoSQL存储数据库Hbase(九) 知识点01:课程回顾 知识点02:课程目标 MapReduce读写Hbase 重点:记住读写的规则 Spark中读写Hbase规则与MapReduce...是族的一个属性,用于数据查询时对数据的过滤,类似于ORC文件中的布隆索引 实现 族属性:BLOOMFILTER => NONE | ‘ROW’ | ROWCOL NONE :不开启布隆过滤器...自动判断是否包含需要的rowkey,如果包含就读取这个文件,如果不包含就不读这个文件 ROWCOL:行列级布隆过滤 生成StoreFile文件时,会将这个文件中有哪些Rowkey的以及对应的族和的信息数据记录在文件的头部...当读取StoreFile文件时,会从文件头部或者这个StoreFile中的所有rowkey以及的信息,自动判断是否包含需要的rowkey以及,如果包含就读取这个文件,如果不包含就不读这个文件 总结...Hbase通过布隆过滤器,在写入数据时,建立布隆索引,读取数据时,根据布隆索引加快数据的检索 知识点15:Hbase优化:族属性 知识点16:Hbase优化:其他优化 附录一:Maven依赖

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

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

    但是region不是HBase物理存储的最小单元,它由一个或者多个store组成,每个store保存一个column family即族。...每个族在文件层面上是以单独的文件存储的。但是不同的族,却可能会共享一个region。这就会导致一个问题: HBase 表中族A的数据有100万行,但是族B可能才1000行。...如果一个HBase表中设置过多的族,则可能引起以下问题: 一个region中存有多个store,当region分裂时导致多个族数据存在于多个region中,查询某一族数据会涉及多个region导致查询效率低...(这一点在多个族存储的数据不均匀时尤为明显) 多个族则对应有多个store,那么Memstore也会很多,因为Memstore存于内存,会导致内存的消耗过大 HBase中的压缩和缓存flush是基于...当一个族出现压缩或缓存刷新时,因为关联效应会引起临近的其他族做同样的操作,在族过多时会涉及大量的IO开销 所以,我们在设计HBase表的族时,遵循以下几个主要原则,以减少文件的IO、寻址时间:

    1.8K11

    分布式NoSQL存储数据库Hbase_族的设计(五)

    分布式NoSQL存储数据库Hbase_族的设计(五) 知识点01:课程回顾 Hbase存储原理 存储架构 Hbase:对外提供分布式内存 Master:集群管理 RegionServer...目录:/hbase Hbase数据:/hbase/data NS目录 Table的目录 Region的目录 族的目录...Rowkey会构建索引:内存的占用越大,比较就越慢 知识点02:课程目标 知识点03:Hbase设计:族的设计 知识点04:聊天系统案例:需求分析 知识点05:聊天系统案例:Hbase表设计...(img-XPxKWFGg-1616666919964)(20210322_分布式NoSQL存储数据库Hbase(五).assets/image-20210322105117623.png)]...随机取某一的一个值 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9a9g0u0B-1616666919964)(20210322_分布式NoSQL存储数据库Hbase

    1.3K20

    分布式NoSQL存储数据库Hbase(六)

    文章目录 分布式NoSQL存储数据库Hbase(六) 知识点01:回顾 知识点02:目标 知识点03:SQL on Hbase 知识点04:Hive on Hbase 介绍 知识点05:Hive on...族设计 长度原则:名称没有别的意义,满足标识以后,越短越好 个数原则:族的个数不超过3个 1个:如果的个数比较少 2个或者3个:如果的个数达到30个及以上 2....数据构建结构化的数据形式 可以用SQL来实现处理 实现 将Hbase表中每一行对应的所有构建一张完整的结构化表 如果这一行没有这一,就补null Hive:通过MapReduce来实现 Phoenix...:通过Hbase API封装实现的 总结 原因:满足各种应用场景下,对于Hbase使用的方式,基于SQL方式会更加通用 实现:将整张表的数据构建结构化形式,每一行没有就补null 原理:将SQL转换成了...中创建Hbase的关联表,关联成功后,使用SQL处理关联表 如果Hbase中表不存在,默认使用Hive的第一作为rowkey 如果Hbase中表已存在,只能建外部表,使用:key来表示rowkey HIve

    3K20

    存储相关概念和常见列式存储数据库(Hbase、德鲁依)

    Table of Contents 列式存储数据库 Examples of Column Store DBMSs Hbase Table Row Column Column Family Column...Examples of Column Store DBMSs HbaseHBase 中,数据存储在具有行和的表中。这是一个与关系数据库(rdbms)重叠的术语,但这不是一个有用的类比。...相反,将 HBase 表看作多维映射是合理的。 Table HBase 表由多行组成。 Row HBase 的行由一个 rowkey 和一个或多个 column 组成,其中的值与它们相关联。...Column HBase 中的由一个族和一个限定符组成,它们由一个:(冒号)字符分隔。 Column Family 出于性能原因,族在物理上共使用一组及其值。...参考 https://searchdatabase.techtarget.com.cn/7-20958/ http://hbase.apache.org/book.html#datamodel https

    8.5K10

    分布式NoSQL存储数据库Hbase Java API(四)

    文章目录 分布式NoSQL存储数据库Hbase(四) 知识点01:课程回顾 知识点02:课程目标 知识点03:存储设计:存储架构 知识点04:存储设计:Table、Region、RegionServer...表设计:Rowkey设计 分布式NoSQL存储数据库Hbase(四) 知识点01:课程回顾 知识点02:课程目标 Hbase存储设计 整个Hbase中的存储结构?...,建议将图片保存下来直接上传(img-yYfd67AX-1616633798599)(20210319_分布式NoSQL存储数据库Hbase(四).assets/image-20210317190105892...)(20210319_分布式NoSQL存储数据库Hbase(四).assets/image-20210319091417912.png)] [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传...(img-WvMurhSI-1616633798606)(20210319_分布式NoSQL存储数据库Hbase(四).assets/image-20210319091609104.png)] 知识点

    1.2K20

    分布式NoSQL存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想

    主键的概念 MySQL主键:可以没有,唯一标记一行、作为主键索引 Hbase行健:自带行健这一【行健这一的值由用户自己设计】,唯一标识一行,作为Hbase表中的唯一索引 Hbase...整个数据存储都是按照Rowkey实现数据存储的 2、族设计 ColumnFamily:族,对除了Rowkey以外的进行分组,将划分不同的组中 注意:任何一张Hbase的表,都至少要有一个族...如果没有族:找一个人,告诉你这个人就在这栋楼 如果有了族:找一个人,告诉你这个人在这栋楼某个房间 3、数据设计 4、版本设计 功能:某一行的任何一存储时,只能存储一个值,Hbase...普通与对应的值 【timestamp】与对应的值【支持多版本】 知识点08:HBASE中的按存储 1、功能 Hbase的最小操作单元是,不是行,可以实现对每一行的每一进行读写 2、问题 Hbase...……100,每一10M】:select id from table ; 先找到所有符合条件的行,将整行的数据所有全部读取:1000M数据 再过滤id这一:10M Hbase中读取数据

    1.7K30

    rowkey散和预分区设计解决hbase热点问题(数据倾斜)

    Hbase的表会被划分为1....n个Region,被托管在RegionServer中。...存在的缺点比较明显:首先是热点写,我们总是向最大的start key所在的region写数据,因为我们的rowkey总是会比之前的大,并且hbase的是按升序方式排序的。...随机散与预分区二者结合起来,是比较完美的。...预分区一开始就预建好了一部分region,这些region都维护着自己的start-end keys,在配合上随机散,写数据能均衡的命中这些预建的region,就能解决上面的那些缺点,大大提供性能。...以上我们只是显示了部分region的信息,可以看到region的start-end key还是比较随机散的。同样可以查看hdfs的目录结构,的确和预期的38个预分区一致:  ?

    1.9K30

    HBase篇--初始Hbase

    一.前述 1.HBase,是一个高可靠性、高性能、面向、可伸缩、实时读写的分布式数据库。...3.主要用来存储非结构化和半结构化的松散数据(存 NoSQL 数据库)。 二.Hbase数据模型 ? 2.1 ROW  KEY(相当于关系型数据库中的ID) 决定一行数据 按照字典顺序排序的。...Row key只能存储64k的字节数据 2.2 Column Family族 & qualifier HBase表中的每个都归属于某个族,族必须作为表模式(schema)定义的一部分预先给出...如 create ‘test’, ‘course’; 列名以族作为前缀,每个“族”都可以有多个列成员(column);如course:math, course:english, 新的族成员()可以随后按需...HBase把同一族里面的数据存储在同一目录下,由几个文件保存。 2.3 Timestamp时间戳(相当于版本!!!)

    4.4K20

    HBase中Memstore存在的意义以及多族引起的问题和设计

    族引起的问题和设计 HBase集群的每个region server会负责多个region,每个region又包含多个store,每个store包含Memstore和StoreFile。...HBase表中,每个族对应region中的一个store。默认情况下,只有一个region,当满足一定条件,region会进行分裂。...如果一个HBase表中设置过多的族,则可能引起以下问题: 一个region中存有多个store,当region分裂时导致多个族数据存在于多个region中,查询某一族数据会涉及多个region导致查询效率低...(这一点在多个族存储的数据不均匀时尤为明显) 多个族则对应有多个store,那么Memstore也会很多,因为Memstore存于内存,会导致内存的消耗过大 HBase中的压缩和缓存flush是基于...region的,当一个族出现压缩或缓存刷新时会引起其他族做同样的操作,族过多时会涉及大量的IO开销 所以,我们在设计HBase表的族时,遵循以下几个主要原则,以减少文件的IO、寻址时间: 族数量

    1.5K10

    HBaseHBase之what

    数据模型 逻辑模型 表(table):只能存字符串,以字节码形式存储 行(row):由行键(rowkey)唯一标识 族(column failmy):行的数据按族分组,创建表时定义 限定符(...(2)族(column family):HBase所谓的列式存储就是根据column failmy (3)限定符(column qualifier):限定符定位单元,限定符可以在存储时动态添加...(9)HFile:存储族数据,HBase中的最小单位了。但也可以进行拆分,也就是所谓的分区,让数据更加分散,读取数据的时候更加效率。...特点 ---- 大表:普通计算机处理10亿条数据(数十亿行*数百万*数千个版本 = TB级或PB级的存储) 可伸缩:Hbase的伸缩性主要体现在两个方面,一个是基于上层处理能力(RegionServer...列式存储:这里的指的是族,面向族的存储和权限控制,族独立检索。族固定,可以动态扩展。 稀疏:对于为空(null)的,并不占用存储空间,因此,表可以设计的非常稀疏。

    3.4K40

    HBaseHBase之how

    (3)Column Family:HBase可以将一行数据分成不同的集合,这些的集合称为Column Family,不同的Column Family文件被存储在不同的路径中。...HBase的所有数据文件都存放在HDFS中。 关于Column Family,前面提到它是的集合。每个Column Family里面关联了一个MemStore,关联了多个HFile文件。...设置多个族时一行数据可能存在于两个路径中。整行读取的时候,需要将两个路径中的数据合并在一起才可以获取到完整的一行记录。 尽管我们在使用HBase表存放数据的时候,需要预先做好设计。...然HBase中并没有Schema信息,那么每一行中的,也可以是任意添加的。 2.快速浏览读写流程 读写数据的简单路由机制。...例如在上面的场景基础上,还需要单独基于Phone进行查询。这是HBase二级索引出现的背景。即二级索引是为了让HBase能够提供更多维度的查询能力。

    3.2K20

    Hbase(四):Hbase原理

    上 region是分布式存储的基本单元 但不是存储的基本单元 内部还具有结构 一个region由多个Store来组成 有几个store取决于表的族的数量 一个族对应一个store 之所以这么设计...是因为 一个族中的数据往往数据很类似 方便与进行压缩 节省存储空间 表的一个族对应一个store store的数量由表中族的数量来决定 一个store由一个memstore 和零个或多个storefile...将其上线下线信息通知mater 存储所有Region的寻址地址 存储hbase的元数据信息 包括 有哪些表 有哪些族等等 Mater 为RegionServer分配Region 为RegionServer...可以存储很多数据 ​ 基于hdfs,所以支持可扩展性,可以通过增加大量的廉价的硬件提高存储容量 ​ 按存储,空的数据不占用空间,当存储稀疏数据时,不会浪费空间 ​ 按例存储,同一的数据存放在一起...,而同一的数据一般都是同样的类型的内容相似的数据,可以实现非常高效的压缩,节省空间 为什么Hbase的数据是可靠的 ​ 基于hdfs,由hdfs的可靠性保证了hbase的可靠性–即数据可以有多个备份

    4K10

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

    hbase是一个KeyValue型的数据库,在《hbase实战》描述它的逻辑模型【行键,族,限定符,时间版本】,物理模型是基于族的。但实际情况是啥?还是上点代码吧。     ...REPLICATION_SCOPE_LOCAL就不能被复制了 colDesc.setScope(HConstants.REPLICATION_SCOPE_GLOBAL);      //存储的时候使用压缩算法,这个基本是必备的,hbase...; //进行compaction的时候使用压缩算法         colDesc.setCompactionCompressionType(Algorithm.SNAPPY);   hbase...的表在hdfs上面的是这么存储的,/hbase-root/tableName/regionName/familyName/HFile, 在tableName这一级目录会有一个名.tabledesc的文件...rowkey、族这些信息,在很多的情况下,rowkey和族越长,消耗的内存和族都会很大,所以它们都要尽量的短。

    1.1K60

    扫码

    添加站长 进交流群

    领取专属 10元无门槛券

    手把手带您无忧上云

    扫码加入开发者社群

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭
      领券