由 S3 支持的 HBase
我刚刚读到能够使用 S3 支持的 HBase 作为文件系统。 我还在其他地方读到,S3 是 blob 存储,缺乏附加到文件的功能。现在减去任何附加功能,我无法理解 HBase 如何使用 S3 作为底层文件系统。例如,当我向 HBase 添加单个新列时,S3 层会发生什么?
请帮助我解决困惑!
谢谢,
维韦克
I just read about being able to use HBase that is backed by S3 as the filesystem.
I also read elsewhere that S3 is blob storage and lacks functionality to append to a file. Now minus any append functionality I am unable to understand how HBase can use S3 as the underlying filesystem. For e.g. what happens at S3 layer when I add a single new column to HBase?
Please help with my confusion!
Thanks,
Vivek
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果添加一个小列,我的理解是HBase不会立即修改底层存储。
相反,hbase 将 (1) 将添加的列/单元持久写入预写日志 WAL,然后 (2) 还修改内存缓存。
当memcache刷新到磁盘时,HBase才会以相对较大的块修改底层数据(这非常适合S3和HDFS等存储实现)。
If you add a small column, my understanding is that HBase will not immediately modify the underlaying storage.
Instead, hbase will (1) write the addition of a column / cell into a write ahead log WAL persistently and then (2) also modify the memcache.
When the memcache gets flushed to disk, only then will HBase modify the underlying data in relatively large chunks (which is well suitable to storage implementations such as S3 and HDFS).