2.3 分布实时查询
1) 缓存数据:根据用户日志,通过数据挖掘算法,用Hadoop分析出热点查询数据,然后将分析结果存入数据库中,以便用户查询。
2) 如果查询的数据不在缓存数据库中,通过发布查询各个数据节点,因为是在海量数据下进行发布式查询,需要解决以下问题:
有状态的查询:大数据环境下需要实时获取各个数据节点的查询状态;
容错性查询:部分节点查询失效时,只需要重做该节点的查询任务,无需重做整查询任务,提供系统容错性;
查询优先调度策略:先查到的结果先返回;
中断查询:如果某个节点长时间没返回查询结果,可中断该节点上的查询任务。
2.4 对外服务接口
对外接口可以采用OGC的CSW目录服务接口,实现接口的标准化服务。
3 Clearinghouse架构设计
综合上述分析关系数据库和Hadoop各自的优缺点,我们可以利用数据库的高效查询性能,实现Clearinghouse的分布实时查询;利用Hadoop的数据处理能力,实现数据的深度分析。基于此,设计的大数据环境下的Clearinghouse架构如下: