LinkedIn 開源 OLAP 存儲和分析系統:Pinot

jopen 9年前發布 | 19K 次閱讀 Pinot 數據挖掘

Pinot 是一個實時分布式的 OLAP 數據存儲和分析系統。LinkedIn 使用它實現低延遲可伸縮的實時分析。Pinot 從離線數據源(包括 Hadoop 和各類文件)和在線數據源(如 Kafka)中攫取數據進行分析。Pinot 被設計是可以進行水平擴展的。

Pinot 特別適合這樣的數據分析場景:分析模型固定,數據只追加以及低延遲,以及分析結果可查詢。

關鍵特性:

  • 面向列的數據庫,提供多種壓縮模式,如運行長度、固定比特長度

    </li>

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

    </li>

  • 可根據查詢和段元數據對查詢和執行進行優化

    </li>

  • 近乎實時的從 Kafka 獲取數據,以及批量從 Hadoop 獲取數據

    </li>

  • 類 SQL 的語言支持查詢、聚合、過濾、分組、排序和去重

    </li>

  • 支持多值字段

    </li>

  • 水平伸縮以及容錯

    </li> </ul>

    Pinot 非常使用用來查詢時許數據以及大維度的數組。

    Pinot 的組件架構:

    OLAP 存儲和分析系統:Pinot

    Pinot 核心概念:

    OLAP 存儲和分析系統: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</pre>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!