大数据实时检索场景化解决方案-实时检索场景应用

实时检索场景应用
实时检索的概念
• 实时检索就是根据关键词对系统内的一些信息进行快速搜索,实现即搜即得的效果,强调的是实时低延迟。其能够方便人们快速拿到搜索的结果,而这些内容往往才是人们真正关心的、可用的数据。
• 所谓“实时检索”实际是一种人们对于信息实时获取的美好愿望,通过努力我们可以无限接近于检索的实时实现。目前,很多人都意识到了实时检索的重要性。

行业应用 - 公安
• 根据ID(身份证,车牌号等)进行查询。
• 实时布控,车辆轨迹绘制,信息快速汇集。
• 基于“人、事、地、物、组织、身份”等点状实体,查询在社会关系网络中的关联关系。
大数据实时检索场景化解决方案-实时检索场景应用
• 业务特点
• 高并发(50-100并发)
• 查询速度快(1秒内响应)
• 查询条件简单(80%查询是主键查询,其他是简单条件组合查询)
• 存在海量视频、图片文件
行业应用 - 金融
• 根据ID(日志类型、卡号等)和时间段进行查询。
• 查询交易凭证,追溯交易,以及查询客户信用记录,帮助客户快速借款等。
• 整合多方数据,形成关系网络,查询关联关系,可用于反洗钱、风控等场景。
大数据实时检索场景化解决方案-实时检索场景应用
• 业务特点
• 高并发(100以上并发)
• 查询速度快(1秒内响应)
• 查询条件简单(80%查询是主键查询,其他是简单条件组合查询)
• 存在海量图片小文件

场景特征
• 上述两个场景典型的业务特点:
• 高并发
• 查询速度快
• 查询条件简单
• 存在海量视频和图片等小文件
• 高并发(100以上请求)
• 查询速度快(1秒内响应)
• 查询条件简单(80%查询是主键查询,其他是简单条件组合查询)
• 公安案例
o 主要根据ID(身份证,车牌号等)进行查询
o 可用于实时布控,车辆轨迹绘制,快速信息汇集
o 基于“人、事、地、物、组织、身份”等点状实体,查询在社会关系网络中的关联关系
• 金融案例
o 主要根据ID(日志类型、卡号等)和时间段进行查询
o 可用于事后查询交易凭证,追溯交易,以及查询客户信用记录,帮助客户快速借款等
o 整合多方数据,形成关系网络,查询关联关系,可用于反洗钱、风控等场景
• 运营商案例
o 主要根据ID(手机号码)、时间段进行查询
o 可用于用户查询话费清单、流量清单
核心诉求
大数据实时检索场景化解决方案-实时检索场景应用

解决方案
大数据实时检索场景化解决方案-实时检索场景应用
• HBase +ES +GraphBase
• 数据源:数据源的种类包括文件数据(Txt、CSV等)和流式数据(Socket流、OGG日志流)等。
• 数据采集:文件数据通过批量加载(flume或者其他第三方加载工具MR)写入数据; 流式数据通过实时加载(Spark Streaming或者其他第三方采集工具如Storm,Flink)写入数据。 图数据可以使用华为GraphBase的工具导入数据。
• 实时检索引擎:用于实现高性能的实时检索,其中
• HBase:用于主键查询(Key-Value)检索,查询条件简单,主要通过主键进行查询。
• ElasticSearch:用于全文检索或者当做HBase存储的非主键索引。ElasticSearch也可以既存数据又存索引,但是由于性价比低,只适合小规模局点。
• GraphBase:基于Hadoop生态的图数据库,底层数据存储在HBase和ElasticSearch中,支持用户对图数据的快速检索。
• 实时检索引擎(ElasticSearch+HBase):适合快速检索,也就是根据指定条件查询结果,不适用于统计(Group、Sum等)和复杂查询(Join、In、子查询等)
• 业务应用:使用ElasticSearch和HBase API、Rest接口等开发的实时检索应用,由ISV开发。ISV使用图数据库的RESTful接口和Gremlin接口查询关系数据。

实时检索引擎中各组件的联系与定位
大数据实时检索场景化解决方案-实时检索场景应用
• HBase:
• HBase 实时主键查询、非主键二级索引查询;海量数据存储。
• HBase设计之初就为满足海量数据场景下的数据存储,同时支持实时主键查询、非主键二级索引查询,但是无法满足多级索引查询。。
• HBase完美的解决海量数据存储的问题,但是却不能满足非主键多级索引的查询以及对文档的检索需求,自行维护一个多级索引构建方案也不是妥善的的解决办法。
• ElasticSearch:
• ElasticSearch非主键查询、全文检索;索引存储、海量数据存储性能不如HBase性价比低,且严重依赖内存。
• ElasticSearch作为全文检索的引擎,其功能强大,也可以作为NoSQL数据库使用,能满足海量数据存储的需要,也满足主键和多级索引的实时查询。
• HBase+ElasticSearch不足:
• 在实际的场景中,存在社交关系网这样复杂的关系模型,HBase加ElasticSearch的组合在这样的场景中性能已达不到实时的要求,类似求“朋友的朋友的朋友”这种查询,或者更复杂的查询,需要经过多次查询最终才能查到结果,延时较大。
• GraphBase:
• 满足图查询构建,海量图模型存储、实时查询;
• 利用HBase存储图数据、ES存索引。Spark数据导入。
• 总结:
• HBase加ElasticSearch的组合满足了大部分的用户实时检索诉求。
• 与HBase相比,ElasticSearch在海量数据的情景下存储性能不如HBase,故选择HBase作为海量数据存储的基石。
• ElasticSearch存储数据性价比低,且在海量数据存储的的情况下性能不如HBase,但是其能够满足场景中多级索引的实时查询需求,同时还能够对文档分词建立索引,满足对文档的实时检索需求。故选用ElasticSearch存储海量数据索引。
• 图数据库可以完美的解决复杂多级关系查询分析,选用GraphBase来解决图数据的实时查询需求,其数据底层仍存在HBase,而索引存在ElasticSearch中。