1

在HDFS 架构指南的简单一致性模型部分下,它指出(强调我的):

HDFS 应用程序需要一个一次写入多次读取的文件访问模型。文件一旦创建、写入和关闭就无需更改。这种假设简化了数据一致性问题并实现了高吞吐量数据访问。Map/Reduce 应用程序或网络爬虫应用程序非常适合此模型。有计划在未来支持对文件的追加写入。

我对这里使用“不需要”感到困惑。它们的真正意思是“不得”或“不应该”吗?如果是这样,像 HBase 这样的程序如何提供更新支持?如果它们确实意味着“不需要”(即“不必”),那么试图传达什么?哪些文件系统要求您在写入后更改文件?

4

1 回答 1

1

据我所知,这是“简化数据一致性问题以实现高......”的假设need not的一部分。其实意思。但是您可以删除并重新创建孔文件。can't

在 hadoop 0.20.2-append 之后(如此处所示),您可以附加数据。

对于我所阅读的所有内容,我了解 HBase 主要使用内存(WAL?第 11.8.3 节)并且修改被附加为标记。例如,要删除一列,它会创建一个墓碑(参见第 5.8.1.5 节),只是标记删除和定期压缩。

也许我错了。我学习确切解释的好时机:)

于 2013-05-10T22:36:53.043 回答