Categories
程式開發

愛奇藝如何處理千億級數據


1. 使用Kylin 的緣由

愛奇藝OLAP 服務演變

愛奇藝大數據OLAP 服務演變的過程可以用如下架構圖說明:

愛奇藝如何處理千億級數據 1

數據處理流程分為如下 幾個層級

  • 最下方是採集平台,收集業務的埋點和日誌;
  • 數據按時效性分為兩種類型:離線類型的灌入到HDFS,實時數據灌入到Kafka;
  • 往上是各種分析引擎,Hive 用於PB 級別的離線分析,Kylin 用於每日報表,針對相對固定的維度進行分析,Impala 用戶Ad-hoc 場景,Kudu 支持實時更新和分析,Druid 針對的是實時事件流;
  • 在這些引擎之上是統一的SQL 引擎– Pilot,負責引擎和數據源的智能路由,基於此構建了BI 分析平台,工作流平台,自定義SQL 查詢平台,實時分析平台等。

愛奇藝發展的大體時間線,2015 年前以離線分析為主,技術上是經典的Hive + MySQL 方案,但缺點是報表查詢比較慢,而且數據時效性差;2016 – 2018 年致力於將查詢耗時提升至交互式級別,分為兩大類:Kylin 針對固定報表,在維度比較有限的情況下,通過一個預處理,TB 級別數據延時能在秒級,而 Impala 則針對Ad-hoc 類場景,可以查詢任意明細數據;2018 年以後從離線往實時去發力,其中Kudu 支持實時插入和更新,Druid 支持事件流場景。

原文鏈接:【https://www.infoq.cn/article/zI6d1pYAlyoLhQojILXq】。未經作者許可,禁止轉載。