自开源以来,openLooKeng社区得到越来越多朋友的支持。小伙伴们对openLooKeng的性能给予了肯定和赞赏,同时也给出了许多有价值的建议。暖春3月,openLooKeng迎来了新版本V1.2.0。基于小伙伴们的体验和建议,新版本新增一些技术,以提高引擎性能,争取为大家带来更丝滑流畅的体验。

于引擎内核来说,主要增强两个维度:融合分析场景和性能。

  • 查询容错增强,提高引擎执行的可靠性
    在批查询处理运行的过程中,当某个工作节点出现故障时,可在其他节点上恢复任务,比如对Hive数据源的 insert 和 create table as select 操作。针对长时间运行的批查询处理任务,相比上一个版本,稳定性和可靠性有了极大的提升。
  • 查询性能的优化:基于 StarTree 的查询预聚合能力增强
    StarTree旨在优化低延迟、聚合查询语句。我们通过StarTree查询预聚合能力,为用户构建所需要的不同维度和不同聚合操作的 cube。在以后的查询过程中,如果遇到任何可匹配的聚合子查询,引擎将直接从cube中读取数据,避免在原始表上执行查询,从而提高查询性能。
  • 引入 CTE(公共表表达式)优化技术,减少内存使用
    在执行计划优化过程中引入CTE(公共表表达式)技术。当一个复杂查询中,存在某个子查询(例如 with语句)被多次使用,优化器会为重复的子查询自动生成一个CTE节点,该CTE节点的输出会被执行计划流程中的多个父节点消费。也就是说,重复的子查询只会执行一次,化繁为简, 同时也减少内存占用,引擎获得更好的性能。
  • 通用算子下推框架,让 Connectors 参与到执行计划优化中
    为了让算子下推过程更加简单灵活,我们采用新的通用算子下推框架,让每个Connector可以参与到执行计划优化中。引擎在进行执行计划优化时,能够自行应用Connector的优化规则,使得算子下推过程变得更加高效。
  • 增强HIVE ORC的数据维护性能
    该特性优化了数据写入和数据修改(更新和删除)的处理速度,并不影响『读性能』的流畅度;支持并发访问Hive Metastore,提高元数据操作性能,从而进一步优化数据写入和修改的性能。

于引擎门户来说,主要集中在南向生态方面的优化。

  • HBase Connector性能优化
    针对单表查询性能的提升,我们新增了分片算法。另外,该性能支持 HBase 访问 Snapshot 的模式,从而提升多并发查询性能。
  • 数据源UDF(User-Defined Function)支持下推
    引擎支持外部函数(UDF)的注册,也支持将其下推到JDBC数据源。为了让大家拥有更好的体验,用户可以在不迁移自己数据源UDF的情况下,使用已有的UDF, 提高UDF的复用度。

以上便是openLooKeng新版本V1.2.0 在性能优化上较为亮眼的地方。当然,作为大数据领域的关键项目,openLooKeng十分看重引擎的易用性和安全性。针对这两点,新版本V1.2.0做出如下增强:

  • 易用性 | 增强Admin Dashboard UI用户体验
    优化定时全量加载导致的UI页面卡顿,
    增强查询历史和查询结果的分页显示,
    优化新增连接器的参数配置,
    UI 界面支持Kerberos 和密码登录,支持查询历史按用户进行过滤。
  • 安全性 | 基于Ranger的细粒度权限管控:支持行过滤和列掩码
    增加行过滤和列掩码,增加认证用户模拟权限控制,提供更细化的权限控制粒度。

看了这么多,是不是很想动手一试?感兴趣的朋友可以下载体验。
下载地址: https://openlookeng.io/zh-cn/...

如果您对新版本v1.2.0有其他建议,欢迎发邮件至 [email protected] 告知我们。openLooKeng社区感谢朋友们的支持,期待并欢迎更多朋友们的参与。

欢迎加入openLooKeng社区,一起做点有意思的事儿,让大数据更简单!

openLooKeng开源社区官方网站: https://openlookeng.io/zh-cn/

openLooKeng代码仓地址: https://gitee.com/openlookeng

03-05 14:00