学习hadoop也有一段时间了,在测试了多天,分析了多天,其实对其内部实现还是不是很了解.源代码不是很好看哦.
今天yahoo的一个hadoop的专家过来介绍了一下,yahoo的使用经验,普遍讲的是mapreduce这块内容.而hdfs这块涉及不多.在hadoop的archetcture里也提到hadoop不适合存储小文件.它本身就是从nutch项目里分出来的,目的是存放大文件.不过这个专家提到,已经考虑小文件的存放,正在实现中.其实从我的测试来看,读取小文件的效率还是可以的,目前数据量不多,不知道在T级别数据量,10m文件个数的情况下会如何?专家提到了文件数量和block数量是有限制的(好像是namenode的内存中保留的mapfile的限制,jvm开的内存大小).所以目前建议存放大量小文件时打包放入.但是这样的话单个访问小文件就麻烦一点了.总总看来hdfs目前似乎并不合适存放大量的图片了.不过可以根据自己的情况再测试一下,性能可以接受的话,还是可以考虑的,毕竟比起专业的存储设备,还是便宜很多的.
hbase原先作为爬虫的数据库,存放网页的部分数据.一个网页一般不会大于100k的,所以在此level下,数据的访问速度还是可以的,但是当大于这个极限时,速度变的非常慢,其内部实现可能就是针对小数据量的优化,对于存放小文件这样的,并不适用.
目前来看该系统的设计目的应该时作为mapreduce.而不是作为文件的存储.
心情: 一般