问题
我一直在开发一个应用程序,它需要支持对数据对象进行异步读取,并附加写。换句话说,缓冲区。在任何给定的时间都会有许多数据对象。
我一直在对可用的分布式文件系统进行研究,以找到一个支持在写入文件时读取文件的系统,但我的搜索没有得到任何结果。我知道亚马逊S3从经验上不支持这一点,而我对其他人(如HadoopDFS )则不确定。
解决方案:块状?
我已经考虑过将数据块作为解决方案,这将涉及将传入的写入分割为n字节块,以便作为一个整体写入DFS。不再需要的块可以在不干扰正在写入的新数据的情况下被删除,因为它们是DFS上的单独文件。
这种策略的问题是,当缓冲区读取器使用数据的速度比缓冲器创建的数据更快时,就会导致暂停。较小的块可以减轻这种影响,但并不完美。
总结问题
发布于 2013-01-30 20:09:12
Lustre (lustre.org)支持并发、连贯的读写,包括O_APPEND写入。并发性由Lustre分布式锁管理器(LDLM)控制,该管理器向客户端授予范围锁,并在冲突时撤销锁。支持同一个文件的多个读取器和多个并发写入器,它们将看到一致的文件数据,就像本地文件系统的情况一样。
https://stackoverflow.com/questions/14167395
复制相似问题