我刚刚读到能够使用S3支持的HBase作为文件系统。我在其他地方也读到S3是blob存储,并且缺乏附加到文件的功能。现在,除去任何附加功能,我无法理解HBase如何使用S3作为底层文件系统。例如,当我向HBase添加一个新列时,S3层会发生什么
请帮我解决困惑!
谢谢,
Vivek
如果添加一个小列,我的理解是HBase不会立即修改底层存储。相反,hbase将(1)将添加的列/单元格持久地写入预写日志WAL,然后(2)还修改memcache。当memcache被刷新到磁盘时,HBase才会以相对较大的块修改底层数据(这非常适合S3和HDFS等存储实现)。