騰訊分布式數據倉庫:TDW
TDW,騰訊分布式數據倉庫項目,在Hadoop的基礎上開發的騰訊內部最大的離線數據處理平臺。TDW支持Oracle功能兼容的SQL語法,支持PB及的存儲和TB及的計算等。
這個項目主要的應用場景是構建低成本的數據倉庫。我們知道傳統的數據倉庫需要專用的硬件和昂貴的軟件授權,使用TDW,可以基于廉價的PC Server構建數據倉庫。我們希望通過開源的TDW,降低數據倉庫的成本和建設門檻,促進企業對數據價值的發掘,提升國內企業的信息化水平。
TDW在過去幾年的設計思路一直是“開源軟件”+“騰訊定制和優化”。使用開源軟件,大大節省了我們的研發成本和時間,可以快速搭建起原型,比如 TDW核 心的查詢引擎,是基于apache hive這個開源軟件。但是僅僅使用開源軟件,又不能完全滿足騰訊的業務需求,因此,我們需要再開源軟件基礎上,根據騰訊的業務特點,進行定制和優化。在 TDW的研發過程中,我們基于hive和hadoop,依次經歷了數據倉庫功能完善、易用性建設、高可用和穩定性加強,性能和成本優化,安全建設等定制和 優化。
TDW是騰訊海量數據處理平臺中最核心的模塊,它有以下幾個作用:
-
提供海量的離線計算和存儲服務。TDW是騰訊內部規模最大的離線數據處理平臺,公司內大多數業務的產品報表、運營分析、數據挖掘等的存儲和計算都是在TDW中進行。這是TDW提供的最基礎的服務。
-
數據集中于共享功能。騰訊產品線較長,數據豐富,為了挖掘數據價值,經常需要訪問多個產品的數據。TDW是騰訊公司級的數據倉庫,這里集中了大多數業務的數據,業務在這里可以方便的進行數據共享和管理。
-
TDW為其他大數據服提供基礎和平臺。這 有兩個含義,首先是TDW對騰訊內部開放各種API接口,很多業務的數應用、數據處理平臺可以基于TDW之上,由TDW提供最基礎的存儲于計算,業務在 TDW之上定制個性化的數據產品。其次,TDW內存放了騰訊大量有價值的數據,對于這些數據,各個業務有可能有一些不同的需求,這些需求可以抽象出一些固 定的數據服務,如海量數據點查詢、快速多維分析、流式計算等,這些服務是TDW衍生出來的精細化的服務。
與其他商業數據庫比,當然是成本優勢。與社區的hive+hadoop比,TDW包含了大量功能,穩定性和性能優化,并且經過了騰訊生產環境的驗證。
在架構上,TDW并沒有對開源軟件做大的修改。TDW的存儲和計算,主要采用hadoop的HDFS和MapReduce,TDW的SQL查詢引擎主要基于Hive。