一、開源專案TDW介紹
騰訊分散式HTTP://www.aliyun.com/zixun/aggregation/8302.html">資料倉儲 ( Tencent distributed Data Warehouse,以下簡稱TDW) 是騰訊工程技術事業群資料平臺部基於開源軟體研發的大資料處理平臺,它基於Hadoop、Hive、PostgreSQL之上進行研發,並在開源軟體的基礎上做了大量的定制和優化。 目前TDW是騰訊內部規模最大的分散式系統,集中了騰訊內部各個產品的資料,為騰訊的各個產品提供海量資料存儲和分析服務,包括資料採礦、產品報表、經營分析等服務。
TDW作為騰訊首批對外開源軟體,代碼已經託管到C++SDN CODE平臺。
二、TDW與PostgreSQL互訪問功能:使TDW功能更上一層樓
TDW作為一個離線資料分析系統,在處理海量資料方面,通過平行計算,有很好的性能優勢。 但是我們知道,想用一個大而全的系統解決所有問題一般也是不現實的,同樣,TDW也有它的劣勢,比如對小資料處理性能低,update/delete性能差、介面不豐富等。
因此,我們引入一個強大的開源資料庫PostgreSQL,並對其做一些功能擴展,使之有訪問TDW資料的能力;同時我們在TDW中開發了一種新的儲存引擎,我們稱之為pgdata儲存引擎, 使得TDW具備讀寫PostgreSQL中的資料的能力。
TDW與PostgreSQL互訪問功能的實現,對TDW是一個強有力的補充,這些主要體現在如下3點:
1. 彌補TDW介面不豐富的短板
TDW缺乏標準化的JDBC/ODBC,程式設計介面也不豐富,而PostgreSQL有社區強大的力量,提供了JDBC/ODBC、Shell、C/C++、C#、Python、Perl等各種語言的介面, 使用者通過這些豐富的介面和我們開發的PostgreSQL的TDW橋接工具tdwlink,訪問TDW中的資料。
2. 彌補TDW小資料分析效率底的短板
TDW在海量資料處理時,可以發揮它並存執行的優勢。 但是對於小資料分析,它的性能反而不如傳統的DB。 使用PostgreSQL,對於10GB以內的資料分析,可以獲得更好的性能和時間回應,一般可以在秒級返回結果,相比TDW分鐘級的回應,tPG在這種場景下更有優勢。
3. 作為TDW的pgdata儲存引擎,彌補TDW update/delete效率底下的短板
TDW作為資料倉儲系統,對於記錄級的update/delete支援不是很好。 在TDW中記錄級的update/delete,會導致整個表的重寫,也就是說,即使delete一條資料,也會導致整個表重寫一遍,耗費大量系統資源。 而tPG作為傳統資料庫,記錄級的update和delete效率非常高。
PostgreSQL系統在TDW生態圈中的位置如下圖所示,tPG是我們對擴充之後的PostgreSQL的一個叫法:
下面我們分兩個部分對TDW與PostgreSQL的互訪問功能做一個介紹,也即是pgdata儲存引擎以及tdwlink功能。
原文連結:HTTP://code.csdn.net/news/2820079