和nosql和RMDBS的区别:
HBAseRMDBS数据类型只有字符串丰富的数据类型数据类型数据类型数据类型hbase表模型
一个表(表名) rowkey,行键不重复 多个colum family cell 对应一个kv 存储多个历史版本 数据如果太大,会被横向切分成脱肛额region(用rowkey范围标识),不同region的数据存储在不同的文件中 hbase会对插入的数据按顺序存储:首先按照行键排序;同一行礼的kv会按照列簇排序,再按照kv排序
监控master。保证一个集群中有且仅有一台hmaster是存活的,为了高可用 存储所有region的寻址入口。 实时监控region server的状态。感知regionserver的上下限,实时通知hmaster.还会存储hbase的部分元数据。
hmaste:整个hbase主机。为regionmaster分配region。负责regionserver的负载均衡。 负责region的重新分配。 hdfs的垃圾回收 schema的更新请求
regionserver维护master分配给他的region 负责处理client对region的读写请求并和HDFS进行交互 负责具体的关于region的切分
hlog会对HBASE所有操作进行记录,当有插入操作,先将操作写入到日志,然后再写源数据库
region表的一部分 hbase分布式存储和负载均衡的最小单元
store列簇
memorystore内存缓冲区。专门用于将数据批量刷新到HDFS中。默认为128M(内存缓冲区)
hfile/storefilehbase中的文件都会以hfile的形式存储到HDFS中。
1)Client 向 HregionServer 发送写请求; 2)HregionServer 将数据写到 HLog(write ahead log)。为了数据的持久化和恢复; 3)HregionServer 将数据写到内存(MemStore); 4)反馈 Client 写成功。