转载

Pinot —— LinkedIn 开源 OLAP 存储和分析系统

6月14日上海 OSC 源创会开始报名,送机械键盘和开源无码内裤

Pinot 是一个实时分布式的 OLAP 数据存储和分析系统。LinkedIn 使用它实现低延迟可伸缩的实时分析。Pinot 从离线数据源(包括Hadoop 和各类文件)和在线数据源(如Kafka)中攫取数据进行分析。Pinot 被设计是可以进行水平扩展的。

Pinot 特别适合这样的数据分析场景:分析模型固定,数据只追加以及低延迟,以及分析结果可查询。

关键特性:

  • 面向列的数据库,提供多种压缩模式,如运行长度、固定比特长度

  • 可插入式的索引技术,包括可排序索引、Bitmap 索引和反向索引

  • 可根据查询和段元数据对查询和执行进行优化

  • 近乎实时的从 Kafka 获取数据,以及批量从 Hadoop 获取数据

  • 类 SQL 的语言支持查询、聚合、过滤、分组、排序和去重

  • 支持多值字段

  • 水平伸缩以及容错

Pinot 非常使用用来查询时许数据以及大维度的数组。

Pinot 的组件架构:

Pinot —— LinkedIn 开源 OLAP 存储和分析系统

Pinot 核心概念:

Pinot —— LinkedIn 开源 OLAP 存储和分析系统

示例查询:

/*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
正文到此结束
Loading...