Release 1.0.0
关键特性
该版本主要在三个主要领域进行了改进:性能、安全性和可用性。
性能
对引擎进行了新的性能特性增强,以进一步提高即席交互式查询的性能。这些增强包括:增强动态过滤器以使用更高效的bloom过滤器实现;以及优化动态过滤器的收集侧算子,以便能够尽快收集和应用动态过滤器。其他性能优化还包括引入谓词下推以允许OR谓词被推送到ORC读取器,以及启发式索引支持OR谓词对分片进行过滤。最后,为了减少插入和更新操作后ORC文件的数量,引入了ORC文件的自动压缩功能。
安全性
在本版本中,社区聚焦在进一步强化引擎的安全性。代码中解决了多个漏洞,并引入了审计日志。此外,还引入了一个新的功能,允许管理员对Catalog配置文件的敏感信息进行加密处理,比如数据源凭据。
可用性
可用性是本发行版的另一个重点关注的领域。为了提供数据库般的用户体验,社区引入了SQL迁移工具,该工具帮助将SQL语句从其他引擎迁移到openLooKeng中。其他可用性增强包括通过JMX监控ORC缓存的各项指标,以便管理员查看索引及数据缓存命中率;以及改进CACHE sql命令,以便为数据缓存提供更大的灵活性。此外,还对安装和部署脚本进行了更改,以支持包含ARM和x86节点的混合部署,并引入了新的脚本允许管理员基于容器部署openLooKeng服务。
详细特性描述见下表。
类别 | 特性 | PR #s |
---|---|---|
安全 | 新增审计日志功能。 | 160 |
安全漏洞修复。 | 113 | |
处理CVEs问题。 | 144 | |
安装部署 | 新增安装脚本支持基于Docker & Kubernetes部署和运行openLooKeng。 | 50 |
支持在ARM 和. x86混合架构上部署openLooKeng。 | 5 | |
工具 | 提供工具支持将Impala SQL迁移到ANSI SQL。 | 52 |
SQL迁移工具的易用性增强,帮助用户轻松识别SQL语句之间的差异,并接受更改。 | 159 | |
ODBC Driver | 支持openLooKeng复杂数据类型,如ARRAY、JSON、MAP、ROW等。 | 11 (hetu-odbc-gateway的repo) & 6 (hetu-odbc-driver的 repo) |
支持双向滚动游标,以便于对表和结果集进行更简单的迭代。也支持设置游标到指定位置。 | 10 | |
启发式索引 | 重构启发式索引,使其成为openLooKeng的一个插件,并使用HetuFileSystem Client。 | 40 |
添加额外的配置,让管理员更好地控制索引缓存。例如,管理员现在可以设置索引缓存可以占用的最大内存。 | 85 | |
支持在执行计划阶段对包含OR谓词的查询进行分片过滤。 | 93 | |
增加会话属性,能够在服务运行时禁用启发式索引。 | 126 | |
优化器 | 将OR等谓词推送到ORC读取器中,以实现数据过滤。 | 103 |
执行流水线 | 几个动态过滤器增强特性,如使用内部布隆过滤器提供更好的性能,以及改进的行过滤逻辑,以及添加状态存储监听器以收集新合并的动态过滤器。 | 65、86、100、112、137 |
增强动态过滤并支持更多的底层block类型,启用block的行过滤,利用java向量化加速。 | 101、117 | |
ORC IUD/ACID | 支持基于阈值的数据压缩自动触发和处理,当对表进行修改操作时,无需用户干预数据压缩,并且查询性能不下降。(目前仅支持Hive) | 141 |
数据压缩操作后自动清理ORC文件。 | 89 | |
Catalog 管理 | 对catalog配置文件中的敏感信息进行信息加密,比如密码。 | 170 |
DC Connector | 支持元数据和执行计划缓存,以提升DC Connector的性能。 | 128 |
ORC数据缓存 | 通过JMX监控ORC缓存的各项指标。 | 33、142 |
CACHE sql命令的可用性增强,为选择缓存哪些分区提供了更大的灵活性。 | 90、99 |
获取文档
请参考:https://gitee.com/openlookeng/hetu-core/tree/1.0.0/hetu-docs/zh