写点什么

Apache Pinot 1.0 发布,提供实时的分布式 OLAP 数据存储

  • 2024-01-06
    北京
  • 本文字数:941 字

    阅读完需:约 3 分钟

Apache Pinot 1.0发布,提供实时的分布式OLAP数据存储

Apache Pinot 是一个使用 Java 编写的开源列式分布式数据存储系统。Pinot 通过在线分析处理 (OLAP) 来响应低延迟的多维分析 (MDA) 查询。


Pinot 最初在 2013 年作为 LinkedIn 的内部项目,用于支持分析解决方案,随后于 2015 年 6 月基于 Apache 2.0 许可开源。该项目于 2019 年 6 月成为 Apache 软件基金会的一部分。


在 1.0 版本发布之前的一年中,社区解决了 300 多个问题,包括引入新特性、提高性能和 bug 修复。目前该项目在 GitHub 上有 130 多万行代码,由 300 多名贡献者进行维护。


Apache Pinot 最适合用于分析不可变的实时摄入数据,尤其是在查询具有多个维度和度量的时间序列数据时。该项目使用 Apache Helix 作为集群管理嵌入式代理,使用 Apache Zookeeper 进行集群状态和健康的协调和维护。


Pinot 提供快速查询,能够在几十毫秒的 P90 延迟内过滤和聚合 PB 级的数据。数据可以使用流式解决方案(如 Apache Kafka、Apache Pulsar 和 AWS Kinesis)实时摄入,也可以使用 Apache Hadoop、Apache Spark 和 AWS S3 进行批量摄入。Pinot 具备了水平伸缩性和容错性。可使用 Pinot 查询语言 (PQL)、SQL 或 Trino 和 Presto SQL 查询引擎查询数据。PQL 支持类似于 SQL 的功能:选择、聚合、分组、排序和过滤。


该版本的关键特性之一是多阶段查询引擎的功能完整性。默认查询执行引擎从未针对复杂查询(如分布式连接和窗口操作)进行过优化。多阶段查询引擎支持多阶段运算符,如实时分布式连接和窗口操作,并配备了新的最小化了数据重洗的查询计划优化器。Apache Pinot 的文档解释了如何启用多阶段查询引擎。


入门指南描述了如何在本地、Docker、Kubernetes 或 Azure、GCP 、 AWS 公共云上运行 Pinot。下面的命令用于使用预加载的棒球数据集来运行 Pinot:


docker run \      -p 9000:9000 \      apachepinot/pinot:0.12.0 QuickStart \      -type batch
复制代码


快速入门示例提供了不同的示例和所有可用的启动命令。


更多详细信息可在发布说明和 Apache Pinot 1.0 的公告中找到。StarTree 开发者关系副总裁 Tim Berglund 在 YouTube 上介绍了 Apache Pinot 1.0 并解释了 Apache Pinot 的一般性情况。Apache Pinot Meetup Group 定期组织会议,开发者可在 Slack 上提问。


原文链接

https://www.infoq.com/news/2023/12/apache-pinot/


2024-01-06 08:0011321

评论 3 条评论

发布
用户头像
1
2024-01-08 17:02 · 江苏
回复
2
2024-01-08 17:06 · 江苏
回复
3
2024-01-08 17:06 · 江苏
回复
没有更多了
发现更多内容

React源码分析(一)Fiber

goClient1992

React

用PM2做Python进程管理也太好用了吧

芥末拌个饭吧

进程 pm2 10月月更

关于马蹄链项目系统开发流程及技术方案分析

I8O28578624

【一Go到底】第十七天---函数的递归调用

指剑

Go golang 10月月更

【LeetCode】可能的二分法Java题解

Albert

算法 LeetCode 10月月更

你知道Redis是如何保持数据一致性吗

芥末拌个饭吧

后端 redis 底层原理 10月月更

你用Go写过中间件吗?带你用Gin实现【用户角色权限管理中间件】

王中阳Go

golang MySQL 学习方法 高效学习 10月月更

华为云从入门到实战 | 云关系数据库备份、恢复及存储容灾服务

TiAmo

华为 华为云 云开发 10月月更

架构实战训练营模块 2 作业

Geek_b35d92

PriorityQueue 源码解析(三)

知识浅谈

Priority Queue 10月月更

Kafka消费组/者协调器的介绍

石臻臻的杂货铺

Kafk 10月月更

$nextTick的原理是什么-vue面试进阶

bb_xiaxia1998

Vue

如何掌握“看见数据”的魔力?

博文视点Broadview

JS继承有哪些,你能否手写其中一两种呢?

helloworld1024fd

JavaScript

redis实现分布式锁(二)

zarmnosaj

10月月更

Go如何优雅的对时间进行格式化?

王中阳Go

Go golang 学习方法 golang 面试 10月月更

浙江特殊教育职业学院用上了福昕无障碍技术

科技热闻

Kafka消费者客户端心跳请求

石臻臻的杂货铺

Kafk 10月月更

react源码分析:实现react时间分片

flyzz177

React

react源码分析:深度理解React.Context

flyzz177

React

Java基础(八)| 常用API与StringBuilder详解

timerring

Java API 10月月更

从源码角度看React-Hydrate原理

flyzz177

React

前端必会手写题总结

helloworld1024fd

JavaScript

这几道const和iota的面试题你能做对吗?

王中阳Go

Go 面试题 const 10月月更 go基础

从0到1设计通用数据大屏搭建平台

vivo互联网技术

大数据 可视化 低代码平台 敏捷BI

Java三大特性(二)—继承

共饮一杯无

Java 继承 10月月更

redis设计成单线程的原因是什么

芥末拌个饭吧

后端 redis 底层原理 10月月更

React-Hooks源码深度解读

goClient1992

React

水果成篮问题

掘金安东尼

算法 10月月更

js函数柯里化-面试手写版

helloworld1024fd

JavaScript

redis实现分布式锁(一)

zarmnosaj

10月月更

Apache Pinot 1.0发布,提供实时的分布式OLAP数据存储_实时计算_Johan Janssen_InfoQ精选文章