OpenMLDB v0.5.0 于近期正式发布,性能和功能实现重大优化更新和升级。
三大核心升级带来性能、成本、灵活性的全面优化:
- 在线性能数量级提升:引入预聚合技术,优化长窗口实时处理效率
- 低成本落地选择:线上引擎引入基于外存的存储引擎
- 使用场景灵活性扩展:支持用户自定义函数(UDF)开发
升级一:预聚合技术,优化长窗口实时处理效率
- 应用场景:一个时间窗口内包含上百万条记录的业务场景(比如横跨数年的长时间窗口),基于纯计算的特征生成方式会带来较高的延迟,并且可能包含了大量的重复计算。
- 版本升级:OpenMLDB v0.5.0 版本引入全新的预聚合技术,在数据到达时,由数据驱动计算,实时更新预聚合表,大幅节省实时计算时的工作量,部分场景实现超10倍的性能提升。
升级二:线上引擎引入基于外存的存储引擎
- 应用场景:对于成本较为敏感,但是可以容忍一定性能下降的场景(OpenMLDB 的线上引擎默认使用自研的高性能内存时序数据存储引擎。基于内存的存储引擎虽然带来了极致的存取性能,但是当数据量较大时,内存会带来显著的成本开销)。
- 版本升级:OpenMLDB v0.5.0 引入了基于外存的存储引擎作为一个额外的选择,使用基于 HDD/SSD 的存储引擎,可将 OpenMLDB 整体的使用成本降低75%以上。
升级三:支持用户自定义函数(UDF)开发
- 应用场景:非常复杂的应用场景(OpenMLDB 虽然提供了扩展的 SQL 用于特征开发,但是对于非常复杂的场景,依然可能存在表达能力不足的情况,导致用户场景无法上线)。
- 版本升级:OpenMLDB v0.5.0 版本开放了基于 C/C++ 的用户自定义函数(UDF)的功能,并且支持动态注册。用户的复杂场景可轻松通过 UDF 扩展实现,突破原有 SQL 表达能力的限制。