一、查询方式:
1、根据单个rowkey查询;
2、根据rowkey范围查询;
3、全表扫描。
注:通过 rowkey+列族+列+时间戳 来唯一确定一个单元格。
二、物理储存模型
table在行方向上被分割为多个HRegion,每个HRegion分配在一个HRegionServer上;
每个HRegion由一个或多个Store组成;
每个Store由一个MemStore和0到多个StoreFile组成,一个列族就有有个Store;
一个StoreFile是以HFile的形式储存在HDFS上。
三、储存架构
主要包括内容:HMaster、HRegion、HRegionServer、Store、StoreFiIe、MenStore、Hlog、HFile
HMaster:
1)负责将HRegion分配到HRegionServer;
2)负责HRegion在HRegionServer上的负载均衡;
3)负责分配失败的HRegion重新分配;
4)负责HDFS上文件的垃圾回收。
HRegionServer:
1)负责接收HMaster分配的HRegion;
2)负责将正在运行的变得过大的HRegion进行分割。
注:Client与HBase的交互不需要HMaster的参与,寻址访问zookeeper和HRegionServer,数据读写访问HRegionServer,HMaster仅仅是维护table和region的元数据信息,将其保存在zookeeper上。
HRegion:
1)将表在行方向上且分为HRegion;
2)HRegion是进行负载均衡和数据储存的最小单元;
3)一个HRegion只在一个HRegionServer上;
4)一个HRegion达到一定大小后被分割为两个HRegion;
5)由一个或多个Store组成。
Store:
1)一个Store对应一个列族;
2)一个Store由一个MEMStore和0到多个StoreFile组成。
MemStore
1)位于内存中,保存修改的数据
2)默认大小64M,达到阈值后会进行刷新到文件操作
StoreFile:
1)MenStore刷新的文件就是StoreFile;
2)一HFile的形式储存在HDFS上;
HFile
1)数据格式为KV格式,Hadoop的二进制文件。
HLog
1)又称WAL Log,WAL:write ahead log;
2) 记录了数据的所有变更,一旦region server宕机,可从HLog中进行恢复