我是NoSQL的新手,现在我正在尝试使用HBase进行文件存储。我将把文件存储在HBase中作为二进制文件。
我不需要任何统计信息,只需要文件存储。
是否推荐?我担心I / O速度。
我将HBase用于存储的原因是我必须使用HDFS,但我无法在客户端计算机上构建Hadoop。因此,我想找到一些库来帮助客户端连接到HDFS来获取文件。但我找不到它,我只选择HBase而不是连接库。
在这种情况下,我该怎么办?
答案 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相比,它可能是大量文件的更好选择。
需要注意的设置:
您可能还想查看其他类型的替代方案(甚至可能是MapR)。