1

我是 NoSQL 的新手,现在我正在尝试使用HBase进行文件存储。我会将文件作为二进制文件存储在 HBase 中。

我不需要任何统计数据,只需要文件存储。

是否推荐?我担心 I/O 速度。

我使用 HBase 作为存储的原因是我必须使用HDFS,但我无法在客户端计算机上构建 Hadoop。正因为如此,我试图找到一些帮助客户端连接到 HDFS 以获取文件的库。但是没找到,只好选择了HBase而不是连接库。

在这种情况下,我该怎么办?

4

3 回答 3

0

我认为将 HDFS 挂载为常规文件系统的能力应该对您有所帮助。http://wiki.apache.org/hadoop/MountableHDFS

于 2011-07-21T10:11:51.843 回答
0

我不了解 Hadoop,但 MongoDB 有 GridFS,它专为分布式文件存储而设计,使您能够水平扩展,“免费”获得复制等等。

http://www.mongodb.org/display/DOCS/GridFS

在 MongoDB 中以块的形式存储文件会有一些开销,所以如果你的负载是低到中等的,并且你需要低响应时间,那么直接使用文件系统可能会更好。不同的驱动程序实现之间的性能也会有所不同。

于 2011-07-21T00:40:58.513 回答
0

您当然可以使用 HBase 来存储文件。这可能并不理想,并且根据您的文件大小分布,您可能需要调整一些设置。与 HDFS 相比,它可能是处理大量文件的更好选择。

需要注意的设置:

  • 最大区域大小:您可能希望将其设置为 4GB
  • 最大单元格大小:您需要将其设置为 0 以禁用此限制

您可能还想查看其他类型的替代方案(甚至可能是 MapR)。

于 2011-07-21T20:20:33.913 回答