3.2.5 Eagles在交互式计算中的应用

更新于 2026年10月10日 版权声明
3.2.5 Eagles在交互式计算中的应用

搜索引擎已经成为大数据领域的一个核心应用,很多应用场景往往要求在数秒内完成对几亿、几十亿甚至几百上千亿的数据分析,从而达到不影响用户体验的目的。

实时检索与分析引擎Eagles,是上海德拓信息技术股份有限公司(DATATOM)研发的为大数据检索、分析业务提供的一套实时的、多维的、交互式的查询、统计、分析系统,它是该公司DANA Studio智能数据平台服务中的一个核心模块,具有高扩展性、高通用性、高性能的特点,能够为公司各个产品在大数据的统计分析方面提供完整的解决方案,让万级维度、千亿级数据下的秒级统计分析变为现实。相比较于同类产品,Eagles具有以下特性。

(1)易管理性

Eagles自带Web的管理控制台,方便进行远程维护和管理。

(2)高扩展性

Eagles拥有非常灵活的扩展性,只需添加一个个新节点,即可轻松应对更高级别的数据量,计算可以扩展到上百台服务器,高效处理PB级数据。

数据索引库可以设置任意多分片,分片会在集群节点之间平均地负载,当集群扩容或缩小的时候,Eagles会自动在节点之间迁移分片,以保证集群的负载平衡。

用户提交查询请求时,请求也会分发到每个涉及的节点,在多个分片中并发查询, Merge操作会选择其中一个负载较轻的分片进行查询,此特性在查询海量数据的时候优势就体现得非常明显。

(3)高可用性

Eagles拥有非常完善的故障异常处理机制,任何节点故障不影响系统正常使用。因Eagles采用对等节点机制,集群内部自动检测节点的增加、失效和恢复,并重新组织索引。

同时索引库支持设置多副本机制,任一索引分片都在不同的节点上有副本,任意节点故障系统会在毫秒级检测到异常并启动副本复制,不影响应用系统的正常使用。

(4)多种数据源支持

Eagles通过整合Crab数据收集引擎,能够支持多种数据源的定时收集,如传统ETL工具、网页Spider、数据库、文件系统、邮件、RabbitMQ消息队列、Log等数据源,索引可完全自定义索引结构。

(5)实时数据分析

Eagles提供了丰富的聚合/分类算法,利用其冗长但是强大的Aggregation DSL可以表达出比SQL还要复杂的聚合逻辑,为数据分析提供了有力的支撑,同时Eagles支持:

•域的折叠与融合。

•百分位等级聚合,该功能展示了观测值在某个特定值之下的百分率。

•地理范围聚合,该功能提供了一个覆盖所有位置值的范围框图。

(6)数据地图搜索(https://www.daowen.com)

Eagles内置Geo字段支持,只要文档中包含空间信息字段,即可使用Eagles搜索API进行空间搜索、距离搜索、范围搜索、空间统计等高级功能。

(7)Schema⁃Free

Eagles既可以搜索,也可以保存数据。它提供了一种半结构化、不依赖schema并且基于JSON的模型,可以直接传入原始的JSON文档。Eagles会自动地检测出数据类型,并对文档进行索引,也可以对schema映射进行定制,以实现特殊的自定义需求,例如对单独的字段或文档进行boost映射,或者是定制全文搜索的分析方式等。

(8)多语言分词

Eagles内置了多种语言的分词器,内置英文、中文、日文、俄文和法文,不同的分词器有不同的分词算法,用户可以根据自己的需求选择适合的分词器。词典支持自定义,以提升分词的准确率。

(9)QueryDSL

Eagles完整地支持了基于JSON的QueryDSL通用查询框架,QueryDSL是一个Java开源框架用于构建类型安全的SQL查询语句。它采用API代替拼凑字符串来构造查询语句。它有几大特点:

•QueryDSL仅仅是一个通用的查询框架,专注于通过Java API构建类型安全的SQL查询。

•QueryDSL可以通过一组通用的查询API为用户构建出适合不同类型ORM框架或者是SQL的查询语句,也就是说QueryDSL是基于各种ORM框架以及SQL之上的一个通用的查询框架。

•借助QueryDSL可以在任何支持ORM框架或者SQL平台上以一种通用的API方式来构建查询。QueryDSL支持的平台包括JPA、JDO、SQL、Java Collections、Lucene、Mongodb等。

(10)兼容SQL

除了QueryDSL查询语法的支持,Eagles还支持类SQL的查询方式,让熟悉数据库的用户轻松上手,支持常用语法Select、Delete、 Where、 Order By、Group By、 And/Or、Like、Count、 Sum、Between等。

(11)RESTful跨平台接口

Eagles支持RESTful的API,可以使用JSON通过HTTP调用它的各种功能,包括搜索、分析与监控。此外,它还为Java、PHP、Perl、Python以及Ruby等各种语言提供了原生的客户端类库。

(12)与Hadoop兼容和集成

DATATOM将其在数据检索处理上的丰富经验与Hadoop开源平台高效整合。Eagles实时搜索引擎与Hadoop无缝集成, MapReduce的引入大大扩展了系统在数据分析方面的扩展能力。Eagles机器数据挖掘引擎是基于Hadoop平台进行数据挖掘与分析, Eagles将分片的信息暴露给Hadoop,以此可以实现协同定位。作业的任务会在每个Eagles分片所在的同一台机器上运行, Eagles能够提供近乎实时的响应速度,这极大地改善了Hadoop作业的执行速度以及执行的各种开销。

检索引擎的功能和性能决定了大数据系统的响应能力和可用性,同时很多大数据分析和挖掘操作也是依赖于底层实时查询技术。因此在海量数据规模下,能获得秒级的响应是大数据应用系统的一个关键指标。

↑上一章 ↓下一章
关注公众号获取验证码
复制内容需要验证码(7.99元/天)