首页 / 数码百科 / 正文

hbase底层的数据存储在

时间:2024-10-28 22:02:25

导读:hbase的数据存储在哪的?  HBase的数据主要存储在Hadoop的HDFS文件系统上,主要包括两种文件类型:HFile和HLogFile。 1. HFile:HBase中KeyValue数据的存储格式,......

hbase的数据存储在哪的? 

HBase的数据主要存储在Hadoop的HDFS文件系统上,主要包括两种文件类型:HFile和HLogFile

1. HFile:HBase中KeyValue数据的存储格式,是Hadoop的二进制格式文件。HFile是不定长的,长度固定的只有其中的两块:Trailer和FileInfo。Trailer中有指针指向其他数据块的起始点,FileInfo中记录了文件的一些Meta信息。DataBlock是HBaseI/O的基本单元,每个Data块的大小可以在创建一个Table的时候通过参数指定。每个Data块除了开头的Magic以外就是一个个KeyValue对拼接而成。

2. HLogFile:HBase中WAL(WriteAheadLog)的存储格式,物理上是Hadoop的SequenceFile。HLog文件就是一个普通的HadoopSequenceFile,SequenceFile的Key是HLogKey对象,HLogKey中记录了写入数据的归属信息,包括table和region名字,sequencenumber和timestamp等。

HBase的数据存储在HDFS上,可以通过简单的调用HDFS的API来创建文件。HDFS足够聪明,它知道如何将文件写到最合适的地方,使得RegionServer用起来最方便。

版权声明:转载此文是出于传递更多信息之目的。若有来源标注错误或侵犯了您的合法权益,请作者持权属证明与本网联系,我们将及时更正、