目前,我在Solr中存储Ip映射数据,它有点像这样:
Ip-From
Ip-To
Country
这形成了一条记录(文档。)当我获取IP作为输入时,我查询Solr以找出它所属的区域(国家)。查询是直接的 - ip> = ipFrom和ip< = ipTo。响应时间非常短(好),但仍不符合我们的要求。无法将这些数据缓存在内存中,因为它非常庞大。
因此,我在考虑为这类数据使用其他存储空间。 HBase是否合适,如果是,那么存储和查询此类数据的理想方式是什么?
答案 0 :(得分:3)
我的理解:您希望传递Ip(来自或来自),并且您希望查找特定于此的国家/地区。
是。如果要将Hbase用作数据存储,则在Hbase中存储数据并使用filters进行查询。
根据我的经验,Solr搜索速度比Hbase快,可以使用NRT或Batch索引器(如果您使用的是CDH)或其他工具来索引Hbase数据。
此外, Whitefret 引起了关注(这听起来对我很合乎逻辑)。以及 ipfrom , ipto 和国家,如果您在solr中存储其他内容,那么hbase可以为您服务。否则不需要像Hbase那样的中间存储,你需要重新访问你的solr配置。