Categories
程式開發

當TiDB 與Flink 相結合:高效、易用的實時數倉


隨著互聯網飛速發展,企業業務種類會越來越多,業務數據量會越來越大,當發展到一定規模時,傳統的數據存儲結構逐漸無法滿足企業需求,實時數據倉庫就變成了一個必要的基礎服務。以維表Join 為例,數據在業務數據源中以範式表的形式存儲,在分析時需要做大量的Join 操作,降低性能。如果在數據清洗導入過程中就能流式的完成Join,那麼分析時就無需再次Join,從而提升查詢性能。

利用實時數倉,企業可以實現實時OLAP 分析、實時數據看板、實時業務監控、實時數據接口服務等用途。但想到實時數倉,很多人的第一印象就是架構複雜,難以操作與維護。而得益於新版Flink 對SQL 的支持,以及TiDB HTAP 的特性,我們探索了一個高效、易用的Flink+TiDB 實時數倉解決方案。

本文將首先介紹實時數倉的概念,然後介紹Flink+TiDB 實時數倉的架構與優勢,接著給出一些已經在使用中的用戶場景,最後給出在docker-compose 環境下的Demo,用於讀者進行嘗試。

實時數倉的概念

數據倉庫的概念在90 年代由Bill Inmon 提出,是指一個面向主題的、集成的、相對穩定的、反映歷史變化的集合,用於支持管理決策。當時的數據倉庫通過消息隊列收集來自數據源的數據,通過每天或每週進行一次計算以供報表使用,也稱為離線數倉。

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