簡介:
GreenPlum是一個基於PostgreSQL數據庫開發的MPP架構的數據庫倉庫,適用於OLAP系統,支持50PB(1PB=1000TB)級海量數據的存儲和處理。
背景:
目前有一個業務是需要將Oracle數據庫中的基礎數據增量同步到GreenPlum數據倉庫,便於進行數據分析和處理。
規模:
每天產生60G左右數據,最大的表每天新增上億條數據。
解決方法:
1)歷史數據通過抽取導入的方式進行初始化。
2)增量更新數據:
使用GoldenGate將Oracle日志解析,傳給GreenPlum所在的節點。
GreenPlum節點通過程序將GoldenGate解析的日志記錄增量同步到GreenPlum數據庫倉庫中。
最終結果:
1.初始化數據一次大概三天時間,初始化5T左右數據。
2.增量同步數據延時不超過3個小時。
3.GreenPlum性能經過優化后,比在Oracle數據庫上查詢要快10~100倍(GreenPlum的機器配置相對要低很多)。
4.對部分大表進行了壓縮處理,會減少存儲的空間和I/O的開銷。
5.沒有使用列式存儲,大表的列太多,對於不適合做列式存儲,僅進行了壓縮。
6.對部分表的分布鍵進行了調整,極大的提升了數據分析的效率。