查询平台意义在于解决实时的多维度关联查询,整体对外以JSON方式交互以及提供功能。
具体实现:
在服务端接受到json请求后,交给查询组件doggie-search-engine实现,具体实现细节见Doggie-Search-Engine。
version1.0采用的架构:
spring mvc + es + hbase。容器为tomcat。
ps:后续开发会转移netty+thrift相关。
相关说明图:
doggie-search-engine具体相关实现:
思想是朴素的,实现是简单的,一切从简。
整体组件架构尽可能独立脱离底层实现。接受请求,对传递请求进行解析。一个具体请求将转化为内部数据结构(包括表结构。名称,条件,关系)。
然后对得到的表数据结构进行执行计划,得到最优的执行策略。至此,执行组件进行具体的执行,调用底层接口(es,hbase,etc。),根据NLG等算法,组织结果集。
ps:
DAL 系列 相关 http://blog.csdn.net/zhuyu_deng/article