NoSQL上的文件I / O - 特别是HBase - 是否推荐使用?或不?

时间:2011-07-21 00:33:23

标签: nosql hadoop hbase hdfs

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

我不需要任何统计信息,只需要文件存储。

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

我将HBase用于存储的原因是我必须使用HDFS,但我无法在客户端计算机上构建Hadoop。因此,我想找到一些库来帮助客户端连接到HDFS来获取文件。但我找不到它,我只选择HBase而不是连接库。

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

3 个答案:

答案 0 :(得分:0)

我不知道Hadoop,但是MongoDB有GridFS,它专为分布式文件存储而设计,可以让你水平扩展,“免费”复制等等。

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

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

需要注意的设置:

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

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