在《hdfs架构指南》的“简单一致性模型”一节中,它指出(重点):
hdfs应用程序需要一种一次写入多读取的文件访问模型。文件一旦创建、写入和关闭就不需要更改。这种假设简化了数据一致性问题,并支持高吞吐量数据访问。map/reduce应用程序或web爬虫应用程序非常适合此模型。有一个计划支持在将来向文件追加写操作。
我被这里“不需要”的用法弄糊涂了。他们的意思是“不得”还是“不应该”?如果是这样,像hbase这样的程序如何提供更新支持?如果他们真的是指“不需要”(即“不必”),那他们想要传达什么呢?哪些文件系统要求您在写入后更改文件?
1条答案
按热度按时间sczxawaw1#
据我所知
need not
是“简化数据一致性问题,从而实现高……”假设的一部分。实际上意味着can't
. 但可以删除并重新创建孔文件。在hadoop0.20.2-append(如图所示)之后,您可以附加数据。
据我所知,hbase主要使用内存(wal?第11.8.3)节)和修改作为标记附加。例如,要删除一列,它会制作一个墓碑(见第5.8.1.5节),只标记删除,并定期压缩。
也许我错了。好时机让我学习确切的解释:)