Hbase架构的经典三提问

在这里插入图片描述

1)、hdfs数据是不能随机修改的,但是hbase却能做到修改数据?

当向store写入一个修改值的时候,她并没有直接删除原数据增加新数据,store里面其实是一个内存+磁盘的混合体,内存(MemStore)中存最新的数据,每次我们写数据的时候,先写入内存中,当内存满了后再落盘到磁盘中成为一个StoreFile,StoreFile再存于hdfs上。所以在内存中是可以修改的。

2)、内存可以修改,那落盘后的数据怎么修改呢?

会在内存中写一条新的数据,要修改的数据不删除,读取的时候以内存的数据为准。

3)、内存数据不安全,有什么保障呢?

引入HLog文件,将写的动作追加,所以写数据先写入HLog,写完再往MemStore写,当MemStore落盘,HLog默认就会删除一批,HLog在hdfs上面。

已标记关键词 清除标记
©️2020 CSDN 皮肤主题: 黑客帝国 设计师:白松林 返回首页