Hbase的存储逻辑整理
Posted junke
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hbase的存储逻辑整理相关的知识,希望对你有一定的参考价值。
最近整理了一下hbase,刚好在导数据就来一篇~
什么是hbase?
我画了一张图:
hbase是建立在zookeeper(分布式协调管理系统)和hdfs(分布式文件系统)之上的这么一个分布式 面向列的 非关系型数据库。
首先他是一个数据库 其次特点:分布式、面向列、非关系型。
为什么说hbase建立与zookeeper和hdfs之上呢?
首先zookeeper非常重要的一环,他是hbase节点的管理协调中心,因为habse是分布式的而zookeeper在分布式管理正好满足条件(都是apache自家产品 肯定不用别人的)。 好了 分布式管理好了,那我的数据存储怎么办呢?hbase是什么?hadoop的组件之一。hadoop核心什么?hdfs(存储),mapreduce(计算)。既然用到了存储自然而然就会选择hdfs。
我们一直再说hbase是建立在zookeeper 和hdfs之上的,大家会说 我直接zookeeper+hdfs 不久好了,为啥还有hbase呢?其实不然,hbase之所以能独立成都hadoop的独立组件,肯定不止这些秘密!即使脱离了 zookeeper和hdfs
hbase还是hbase,底层换一套分布式协调管理系统 和文件存储,依然不会改变hbase的核心!
hbase的成功,在于他的数据存储逻辑。
他的存储 我也画了一张图:
(hbase的产生源于google的著名论文bigTable,当年谷歌的两篇论文可以说不亚于苹果手机的诞生!)
在存储上 M,S节点构成了众多regionServer 而regionServer上有个很多的region。region是分布式存储的最小单位!但并不是存储的最小的单位!
一张表开始只有一个region 随着表数据的增多 当region大于256m的时候会分裂成两个,也就是说region会慢慢的增多。但是每个region只能存储在一个regionServer上!
如图所示 region下面有着store,store才是存储的最小单位,它里面放着列族,并且他还是文件的指向!指向该数据在hdfs中存放的位置!
综上其实hbase是一个思想,是一个大表存储的逻辑。当然这只是一个概述,但是相对于上千亿的数据来说 也确实如此!
他是一个可以让数据变得简单的超大容量数据库!
以上是关于Hbase的存储逻辑整理的主要内容,如果未能解决你的问题,请参考以下文章