Apache Pinot 1.3.0 发布:多阶段查询引擎增强与时间序列分析能力突破
引言
Apache Pinot 是一个开源的分布式实时分析数据库,专为低延迟、高吞吐量的分析查询而设计。它能够处理大规模数据集,并提供亚秒级的查询响应时间,非常适合实时分析、运营监控和用户行为分析等场景。最新发布的 1.3.0 版本带来了多项重要改进,特别是在多阶段查询引擎和时间序列分析能力方面的突破。
多阶段查询引擎的显著增强
1.3.0 版本在多阶段查询引擎方面进行了多项优化,显著提升了查询性能和功能完备性。
查询计划重用机制
新版本引入了跨阶段的查询计划重用机制,通过将查询计划划分为多个阶段,并在这些阶段之间重用计算结果,减少了重复计算的开销。这种机制特别优化了 MailboxSendOperator 和 MailboxReceiveOperator 之间的数据传输,将阶段连接转化为有向无环图(DAG)结构,提高了执行效率。
执行计划可视化
新增的 Segment Plan 功能为多阶段查询提供了详细的执行计划展示,包括物理操作符的具体信息。通过新的 ExplainPlanNode,用户可以更清晰地了解查询执行过程,便于性能调优和问题排查。
性能优化
数据块的序列化和反序列化性能得到了显著提升,通过减少内存分配和拷贝操作,实现了1-3倍的吞吐量提升。这对于处理大规模数据集时的GC延迟问题有显著改善。
功能增强
- 新增了对时间戳类型的加减运算支持
- 优化了 DISTINCT 操作符在 IN 子句中的处理
- 支持时间戳索引的使用
- 增加了多态标量比较函数的支持
- 优化了 MergeEqInFilterOptimizer 的哈希计算
实验性时间序列查询引擎
1.3.0 版本引入了一个实验性的时间序列查询引擎,这是本次发布的重要亮点之一。
设计理念
传统的时间序列分析在 Pinot 中需要通过 SQL 实现,存在一定的局限性。新的时间序列引擎采用插件化架构,支持多种时间序列查询语言(如 PromQL、M3QL)的集成,专门为时间序列数据分析优化。
核心特性
- 插件化查询语言支持:通过 SPI 模块,可以灵活集成不同的时间序列查询语言
- 专用时间序列操作符:支持实现特定于时间序列分析的操作函数
- 序列化数据处理:优化了时间序列数据的处理方式,相比传统的行式处理更高效
技术实现
引擎重用了 Pinot 现有的多阶段查询引擎的基础设施,包括查询调度器、分发器和通信机制,同时将语言解析器和计划器保持为可插拔模块。这种设计既保证了性能,又提供了扩展灵活性。
数据库查询配额管理
新版本引入了数据库级别的查询配额控制机制,为多租户环境下的资源管理提供了更细粒度的控制。
配额配置
- 默认配额通过集群配置设置
- 支持针对特定数据库的配额覆盖
- 配额动态调整机制,根据活跃 broker 数量自动分配
管理接口
提供了 REST API 用于配额设置和查询,管理员可以轻松管理不同数据库的查询资源限制。配额更新通过 ZooKeeper 通知机制实时生效,确保配置变更的及时性。
二进制工作负载调度器
针对混合工作负载场景,新版本引入了 BinaryWorkloadScheduler,将查询分为两类进行差异化调度:
- 主要工作负载:生产环境关键查询,采用无限制的FCFS调度
- 次要工作负载:包括临时查询、调试工具等,施加并发查询数、线程数等限制
这种设计有效防止了资源密集型查询影响核心业务查询的稳定性。
游标支持与分页查询
1.3.0 版本新增了游标支持,使客户端能够分批处理大型查询结果,降低内存需求。主要特性包括:
- 新增查询API支持分页参数
- 结果存储和检索接口
- 支持自定义的序列化和存储实现
这对于需要分页展示结果的应用程序特别有用,如数据表格或图表展示场景。
功能增强与安全改进
新增函数支持
- URL处理函数:包括URL解析、编码解码、参数提取等丰富功能
- 地理空间函数:支持GeoJSON格式的地理数据处理
- 数学函数:新增整数除法、模运算、最大公约数等实用函数
安全增强
- 强制每日SSL证书重新加载
- 完善TLS配置支持
- 修复多个安全问题
- 改进权限控制和访问管理
总结
Apache Pinot 1.3.0 版本在多阶段查询引擎、时间序列分析、资源管理和安全性等方面都有显著进步。特别是实验性时间序列引擎的引入,为监控和可观测性场景提供了更专业的支持。这些改进使 Pinot 在实时分析领域的竞争力进一步提升,为处理大规模数据分析任务提供了更强大、更灵活的工具集。
对于现有用户,建议重点关注多阶段查询引擎的优化和新函数支持;对于考虑采用 Pinot 的用户,1.3.0 版本增强的时间序列处理能力值得特别关注。随着这些新特性的稳定和成熟,Pinot 在实时分析生态系统中的地位将更加巩固。
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C037
Kimi-K2-ThinkingKimi K2 Thinking 是最新、性能最强的开源思维模型。从 Kimi K2 开始,我们将其打造为能够逐步推理并动态调用工具的思维智能体。通过显著提升多步推理深度,并在 200–300 次连续调用中保持稳定的工具使用能力,它在 Humanity's Last Exam (HLE)、BrowseComp 等基准测试中树立了新的技术标杆。同时,K2 Thinking 是原生 INT4 量化模型,具备 256k 上下文窗口,实现了推理延迟和 GPU 内存占用的无损降低。Python00
kylin-wayland-compositorkylin-wayland-compositor或kylin-wlcom(以下简称kywc)是一个基于wlroots编写的wayland合成器。 目前积极开发中,并作为默认显示服务器随openKylin系统发布。 该项目使用开源协议GPL-1.0-or-later,项目中来源于其他开源项目的文件或代码片段遵守原开源协议要求。C00
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7GLM-4.7上线并开源。新版本面向Coding场景强化了编码能力、长程任务规划与工具协同,并在多项主流公开基准测试中取得开源模型中的领先表现。 目前,GLM-4.7已通过BigModel.cn提供API,并在z.ai全栈开发模式中上线Skills模块,支持多模态任务的统一规划与协作。Jinja00
agent-studioopenJiuwen agent-studio提供零码、低码可视化开发和工作流编排,模型、知识库、插件等各资源管理能力TSX0115
Spark-Formalizer-X1-7BSpark-Formalizer 是由科大讯飞团队开发的专用大型语言模型,专注于数学自动形式化任务。该模型擅长将自然语言数学问题转化为精确的 Lean4 形式化语句,在形式化语句生成方面达到了业界领先水平。Python00