Apache Pinot 1.3.0版本发布:实时分析引擎的重大升级
前言
Apache Pinot是一个开源的分布式实时分析数据库,专为低延迟、高吞吐量的分析查询而设计。它能够处理PB级别的数据,并在亚秒级内返回查询结果,非常适合实时分析、运营监控和用户行为分析等场景。Pinot最初由LinkedIn开发并开源,现已成为Apache顶级项目。
多阶段查询引擎的显著改进
Pinot 1.3.0版本在多阶段查询引擎方面进行了多项重要优化,显著提升了查询性能和功能完备性。
查询计划重用机制
新版本引入了跨阶段的查询计划重用机制,而非仅限于子树级别。通过将查询计划划分为多个阶段,并在阶段边界处实现数据复用,大幅减少了重复计算。每个阶段由拉取式操作符组成,通过MailboxSendOperator和MailboxReceiveOperator进行连接。改进后的MailboxSendOperator能够向多个阶段发送数据,使阶段连接形成有向无环图(DAG),提供了更大的灵活性和效率。
执行计划可视化
新增的Segment Plan功能为多阶段查询提供了完整的执行计划展示,包括物理操作符的详细信息。新的explain模式采用Calcite术语,通过broker-server通信流程分析查询计划并生成物理执行计划,而无需实际执行查询。引入的ExplainedPlanNode增强了查询执行计划的透明度,便于用户进行调试和优化。
数据块处理性能提升
通过对DataBlock的构建、序列化和反序列化过程进行优化,减少了内存分配和拷贝操作,性能提升了1-3倍。这些改进显著降低了GC相关的延迟问题,特别适合生产环境中大数据量的处理场景。
实验性时间序列查询引擎
1.3.0版本引入了一个实验性的时间序列查询引擎,这是Pinot在时序数据分析领域的重要拓展。
核心特性
该引擎通过插件化框架支持多种时间序列查询语言(如PromQL、M3QL),解决了传统SQL引擎在时序分析中的局限性。它针对高基数指标等观测性用例进行了特别优化,提供了更高效的分析能力。
引擎采用系列(series)而非行(row)的方式处理数据,不仅提升了性能,还简化了复杂分析函数的实现。同时,通过复用多阶段引擎的查询调度器、查询分发器和Mailbox等组件,保持了核心系统的简洁性。
典型应用场景
- 绘制特定商户的小时订单数变化曲线
- 执行订单数的周环比分析
- 处理高基数监控指标的分析
数据库级查询配额管理
新版本增加了数据库级别的查询速率限制功能,可以统一控制某个数据库下所有表的查询流量。
配置方式
- 默认查询配额通过ClusterConfig设置(默认1000 QPS)
- 可通过znode为特定数据库配置覆盖值
- 提供REST API进行动态配额调整
动态调整机制
配额系统能够实时响应以下变化:
- 数据库配置变更
- 集群配置更新
- 可用broker资源变化
- 表状态转换
二进制工作负载调度器
新引入的BinaryWorkloadScheduler将查询分为两类进行差异化处理:
- 主工作负载:处理生产流量,采用无限制的FCFS调度策略
- 次工作负载:用于临时查询和开发测试,施加多种限制:
- 并发查询数上限
- 线程数限制
- 队列超时修剪机制
这种设计确保了关键业务查询不受临时性分析任务的影响,提高了集群的稳定性。
游标支持与分页查询
1.3.0版本新增了游标支持,允许客户端分批获取大型查询结果,显著降低了内存需求。
实现特点
- 通过新增的REST API实现分页查询
- 提供结果存储和序列化的SPI接口
- 支持查询结果元数据查看和管理
这种机制特别适合需要分页展示结果的UI应用和逐步处理大数据集的场景。
功能增强与新特性
URL处理函数
新增了全面的URL处理函数集,包括:
- 协议、域名、路径等组成部分提取
- 参数解析与操作
- URL编码与解码
- 层次结构分析
这些函数极大简化了URL分析任务,如用户行为分析和流量来源追踪。
GeoJSON支持
新增了地理空间数据处理能力:
- ST_GeomFromGeoJson:将GeoJSON转换为几何对象
- ST_GeogFromGeoJson:将GeoJSON转换为地理对象
- ST_AsGeoJson:将空间对象序列化为GeoJSON
支持包括点、线、面等多种几何类型,为位置智能应用提供了基础支持。
多流式摄入
允许单个表从多个数据源并行摄入数据,同时:
- 沿用现有表配置接口
- 区分流分区与Pinot段分区
- 兼容现有的分区自动扩展逻辑
安全与稳定性改进
1.3.0版本在安全性方面有多项增强:
- 强制每日SSL证书刷新
- broker与server间TLS支持
- 矩阵参数安全处理
- 环境变量注入防护
- 多项依赖问题修复
总结
Apache Pinot 1.3.0版本在多阶段查询引擎、时间序列分析、资源管理等方面带来了重大改进,进一步巩固了其作为实时分析引擎的领先地位。新引入的实验性时间序列引擎特别值得关注,为观测性用例提供了原生支持。此外,在安全性、稳定性和易用性方面的持续优化,使得Pinot能够更好地服务于大规模实时分析场景。
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00- DDeepSeek-OCR暂无简介Python00
openPangu-Ultra-MoE-718B-V1.1昇腾原生的开源盘古 Ultra-MoE-718B-V1.1 语言模型Python00
HunyuanWorld-Mirror混元3D世界重建模型,支持多模态先验注入和多任务统一输出Python00
AI内容魔方AI内容专区,汇集全球AI开源项目,集结模块、可组合的内容,致力于分享、交流。03
Spark-Scilit-X1-13BFLYTEK Spark Scilit-X1-13B is based on the latest generation of iFLYTEK Foundation Model, and has been trained on multiple core tasks derived from scientific literature. As a large language model tailored for academic research scenarios, it has shown excellent performance in Paper Assisted Reading, Academic Translation, English Polishing, and Review Generation, aiming to provide efficient and accurate intelligent assistance for researchers, faculty members, and students.Python00
GOT-OCR-2.0-hf阶跃星辰StepFun推出的GOT-OCR-2.0-hf是一款强大的多语言OCR开源模型,支持从普通文档到复杂场景的文字识别。它能精准处理表格、图表、数学公式、几何图形甚至乐谱等特殊内容,输出结果可通过第三方工具渲染成多种格式。模型支持1024×1024高分辨率输入,具备多页批量处理、动态分块识别和交互式区域选择等创新功能,用户可通过坐标或颜色指定识别区域。基于Apache 2.0协议开源,提供Hugging Face演示和完整代码,适用于学术研究到工业应用的广泛场景,为OCR领域带来突破性解决方案。00- HHowToCook程序员在家做饭方法指南。Programmer's guide about how to cook at home (Chinese only).Dockerfile013
Spark-Chemistry-X1-13B科大讯飞星火化学-X1-13B (iFLYTEK Spark Chemistry-X1-13B) 是一款专为化学领域优化的大语言模型。它由星火-X1 (Spark-X1) 基础模型微调而来,在化学知识问答、分子性质预测、化学名称转换和科学推理方面展现出强大的能力,同时保持了强大的通用语言理解与生成能力。Python00- PpathwayPathway is an open framework for high-throughput and low-latency real-time data processing.Python00