Hive MetaStore 在快手遇到的挑戰與優化

導讀:快手基於Hive構建數據倉庫,並把Hive的元數據信息存儲在MySql中,隨著業務發展和數據增長,一方面對於計算引擎提出了更高的要求,同時也給Hive元數據庫的服務穩定性帶來了巨大的挑戰。本文將主要介紹Hive MetaStore服務在快手的挑戰與優化,包括:

  • 快手SQL on Hadoop智能引擎架構

  • Hive MetaStore在快手的挑戰

  • Hive MetaStore在快手的優化

  • 快手SQL on Hadoop的技術規劃

01 快手SQL on Hadoop智能引擎架構

Hive MetaStore 在快手遇到的挑戰與優化

Apache Hive是由Facebook開源的數據倉庫系統,提供SQL查詢能力,快手基於Hive搭建數據倉庫,隨著業務迅速發展和數據規模增長,Hive的性能開始成為瓶頸,無法滿足業務需求。

Hive把用戶SQL通過解釋器轉換為一系列MR作業提交到hadoop環境中運行,MR存在作業啟動、調度開銷大、落盤多磁盤IO重的問題,這導致其性能註定無法太好,針對Hive查詢速度慢的問題,業界先後推出了包括presto/impala/spark等查詢引擎,在實現和適用場景上各有優缺點。

Hive MetaStore 在快手遇到的挑戰與優化

在計算引擎層面我們所面臨的幾個挑戰是:

  • 高性能:業務要求更高的查詢性能,需要引入更高效的計算引擎

  • 易用性:由於不同引擎在語法以及適用場景上各有優缺點,對於業務來說存在學習和使用門檻,需要通過技術手段來降低或者消除這種門檻

  • 擴展性:技術是發展非常快的,未來隨著技術發展可能還會有其他更高效的引擎不斷出現,我們在架構設計上需要能夠考慮到很好地擴展性支持這些新的計算引擎,需要做到計算引擎的可插拔、易擴展


分享到:


相關文章: