Pinot 介绍
Pinot 是一个实时分布式的 OLAP 数据存储和分析系统。LinkedIn 使用它实现低延迟可伸缩的实时分析。Pinot 从离线数据源(包括
Hadoop 和各类文件)和在线数据源(如 Kafka)中攫取数据进行分析。Pinot
被设计是可以进行水平扩展的。
Pinot 特别适合这样的数据分析场景:分析模型固定,数据只追加以及低延迟,以及分析结果可查询。
关键特性:
-
面向列的数据库,提供多种压缩模式,如运行长度、固定比特长度
-
可插入式的索引技术,包括可排序索引、Bitmap 索引和反向索引
-
可根据查询和段元数据对查询和执行进行优化
-
近乎实时的从 Kafka 获取数据,以及批量从 Hadoop 获取数据
-
类 SQL 的语言支持查询、聚合、过滤、分组、排序和去重
-
支持多值字段
-
水平伸缩以及容错
Pinot 非常使用用来查询时许数据以及大维度的数组。
Pinot 的组件架构:
Pinot 核心概念:
示例查询:
/*Total number of documents in the table*/ select count(*) from baseballStats limit 0 /*Top 5 run scorers of all time*/ select sum('runs') from baseballStats group by playerName top 5 limit 0 /*Top 5 run scorers of the year 2000*/ select sum('runs') from baseballStats where yearID=2000 group by playerName top 5 limit 0 /*Top 10 run scorers after 2000*/ select sum('runs') from baseballStats where yearID>=2000 group by playerName limit 0 /*Select playerName,runs,homeRuns for 10 records from the table and order them by yearID*/ select playerName,runs,homeRuns from baseballStats order by yearID limit 1
Pinot 官网
https://github.com/linkedin/pinot
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。