对Nutch2.1抽象存储层的一些看法

本文对比了Nutch2.1中HBase、Accumulo、Cassandra等不同存储方式的特点与表现,发现Nutch2.1在稳定性与性能上不如Nutch1.6,后者使用HDFS进行数据存储更为可靠。

    Nutch2.1通过gora对存储层进行了扩展,可以选择使用HBase、Accumulo、Cassandra 、MySQL 、DataFileAvroStore、AvroStore中任何一种来存储数据,但其中一些并不成熟。在我的反复测试中发现,整体来说,Nutch2.1比起Nutch1.6的性能要差得多,最重要的是不能长期稳定运行。Nutch1.6使用Hadoop Distributed File System (HDFS)来作为存储,稳定可靠。下面分别说说每一种存储方式的情况:
    HBase(column stores),支持输入分割,以
Region为最小分割单位。随着数据规模的增大,并行处理的优势就体现出来了,所以适合大数据应用。不过对HBase集群的维护是一大问题,比HDFS复杂得多,内存消耗也很恐怖。
    Accumulo(key/value store )抓取3轮之后就异常退出,提示UnsupportedOperationException。
    Cassandra(column stores),需要注意的是/etc/hostslocalhost不能映射到127.0.0.1。Cassandra最大的问题在于不支持输入分割,就算数据规模再大也只有一个map,完全失去了并行性。
    MySQL (RDBMS),只有一台服务器作为数据源,那么随着数据规模的增大,MySQL 要怎么面对呢?所以MySQL对于小规模的简单的垂直搜索之类的应用比较合适。     
    DataFileAvroStore(data serialization system ),Injection job throws NullPointerException,见https://issues.apache.org/jira/browse/NUTCH-1477 
    AvroStore(data serialization system ),和DataFileAvroStore同样的问题。
    
    从上面的分析来看,目前gora还亟待改进。对于追求性能极致的朋友来说,nutch2.1还不稳定,建议使用nutch1.6,利用HDFS和MapReduce的数据本地化及天然的并行性,可以优化到非常快的速度。

 

 

 


转载于:https://my.oschina.net/apdplat/blog/396129

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值