Wing:百度新一代大数据查询优化引擎

需积分: 16 4 下载量 125 浏览量 更新于2024-07-22 收藏 727KB PDF 举报
"DTCC2015-Wing-新一代百度大数据查询引擎-刘成" 本文主要介绍了百度在2015年推出的新一代大数据查询引擎——Wing,它是在QueryEngine技术的基础上发展起来的,旨在提供高效、易用的数据处理解决方案。Wing的设计和优化针对大数据查询进行了专门的改进,提升了查询性能,并且在百度内部得到了广泛应用。 在技术发展和架构介绍部分,QueryEngine被定义为一个编译器,负责将高级语言描述的查询(如HQL或PigLatin)进行编译和优化,以便更好地理解和利用底层计算框架如MapReduce、Tez或Spark的能力。随着大数据领域的发展,出现了许多不同的QueryEngine系统,包括批处理、交互式和流式计算场景的解决方案。 Wing作为百度QueryEngine2.0,是对Hive(QueryEngine1.0)的升级。Hive由于版本落后、维护困难以及对用户自定义逻辑支持不足等问题,限制了其在大数据处理中的效能。而Wing则作为一个结构化数据处理引擎的公共组件,提供了HQL和CQuery两种接口,采用了基于关系模型的优化和基于LLVM的数据流优化,提升了代码的可维护性和定制性优化能力。 在Wing的运行过程中,前端处理不同的查询语言,将其转化为统一的中间表示。语义分析阶段进行类型检查、列引用检查、函数检查和关系算子的语义检查,保证查询的正确性。优化器则通过变换中间表示,执行关系代数优化,以提高计算效率。运行时(Runtime)阶段,Wing实现实际的计算逻辑,包括表达式求值、算子求值以及输入和输出的处理。后台执行框架驱动Runtime算子的执行,完成大数据查询任务。 百度的QueryEngine服务规模庞大,每天处理的会话数量高达14至15万个,处理数据量达到2PB,广泛应用于百度的例行任务中。这表明Wing在百度的实际运营中取得了显著的性能提升,例如,相比Hive,Wing的运行时性能提高了30%,并且在百度线上环境中的查询性能提升了4倍。 Wing是百度为应对大数据查询挑战而设计的高效引擎,通过提供强大的语义接口、优化的查询处理和灵活的执行框架,极大地提升了大数据查询的效率和用户体验,对于大数据处理领域的研究和实践具有重要参考价值。