Doris構建資料倉庫:
ClickHouse和DorisDB的對比:
標準SQL語言支援
ClickHouse:不支援標準SQL語言,無法直接對接主流的BI系統。
DorisDB:支援標準的SQL語言,相容MYSQL協議,可以直接對接主流的BI系統。
分散式Join
ClickHouse:幾乎不支援分散式Join,在分析模型上僅支援大寬表模式。
DorisDB:支援各種主流分散式Join,不僅支援大寬表模型,還支援星型模型和雪花模型。
MPP架構
ClickHouse:Scatter-Gather模式,聚合操作依賴單點完成,操作資料量大時存在明顯效能瓶頸。
DorisDB:現代化MPP架構,可以實現多層聚合,能夠執行復雜的SQL查詢,大表Join,高基數聚合查詢等。
精度去重
ClickHouse:對高基數列進行精確去重操作時,受限於單點聚合的處理方式,效能瓶頸明顯。
DorisDB:現代化MPP架構,可以實現多層聚合,能有效利用多機資源,保證查詢效能。
Exactly Once語義
ClickHouse:資料匯入無事務保證,無法保證資料寫入的“不丟不重”,訂單類場景無法使用。
DorisDB:資料匯入有事務保證,可以很容易地實現Exactly Once語義,資料匯入“不丟不重”。
叢集擴容
ClickHouse:傳統MPP資料分佈方式,資料擴容時需要進行資料重分佈,需要人工操作,工作量巨大,影響線上服務。
DorisDB:現代化MPP資料分佈方式,擴容只需要遷移部分資料分片走即可,系統自動完成,不影響線上服務。
運維
ClickHouse:分散式方案依賴Zookeeper,在叢集擴大時,Zookeeper會變成效能瓶頸,額外運維和維護成本高。
DorisDB:不依賴任何外部系統,整個系統只要兩種程序,自動故障恢復,極簡運維。
社群生態
ClickHouse:整個開源社群被俄羅斯把持,在中國沒有商業化公司支援,使用上規模後技術支援無法保證。
DorisDB:開源社群的核心研發都是中國人,在國內有商業化公司支援,服務更加本地化,技術支援無障礙。
GreenPlum和DorisDB的對比:
效能
GreenPlum:--
DorisDB:相同硬體條件下,5-10倍的效能優勢。
實時分析
GreenPlum:無法對實時資料進行增量聚合計算,較難支援實時資料的分析。
DorisDB:新型的聚合表機制,可以支援實時資料的增量聚合計算,更好的支援DWS層和ADS層服務,更好的支援實時資料的分析。
OLAP多維查詢加速
GreenPlum:無加速方案。
DorisDB:新型的預聚合機制,能做到資料自動更新,查詢智慧路由,令多維查詢速度提升10倍以上。
高併發查詢
GreenPlum:傳統MPP資料分佈方式,小查詢會極大消耗叢集資源,無法實現高效併發查詢。並且master只有單節點提供服務,master達到效能瓶頸時無法擴容。
DorisDB:現代化MPP資料分佈方式,資料按照分片的方式儲存,小查詢只需要用到部分機器資源,能極大的提高併發查詢量,並且各模組均可線性擴充套件。
儲存結構
GreenPlum:無按列排序支援。
DorisDB:可按照指定列進行排序,更快的查詢速度,更高的資料壓縮比。
高可用
GreenPlum:傳統MPP資料釋出方式,資料擴容時需要進行資料重分佈,需要人工操作,工作量巨大,影響線上服務。
DorisDB:現代化MPP資料分佈方式,擴容時只需要遷移部分資料分片即可,系統自動完成,不影響線上服務。
叢集擴容
GreenPlum:分散式方案依賴Zookeeper,在叢集擴大時,Zookeeper會變成效能瓶頸,額外運維和維護成本高。
DorisDB:不依賴任何外部系統,整個系統只要兩種程序,自動故障恢復,極簡運維。
資源利用效率
GreenPlum:各節點備份節點不接受查詢請求,計算資源浪費。無法支援統一張資料表冷熱資料存放在不同的儲存介質,無法有效利用SSD為熱資料查詢加速。
DorisDB:所有節點都可參與查詢處理,提高硬體資源利用率。支援將冷資料存放在不同的儲存介質中,支援利用SSD為熱資料查詢加速。
大資料規模
GreenPlum:由於叢集擴容代價太大,所以很難支援較大的資料規模。
DorisDB:叢集擴容代價小,可以支援10PB量級資料規模。
總體持有成本
GreenPlum:由於叢集擴容代價太大,無法經常進行擴容操作,導致必選提前準備未來較長時間的機器資源和軟體授權費,並且叢集資源會處於利用率不高的狀態。
DorisDB:叢集擴容代價小,可以按需進行逐步擴容,總體持有成本低,叢集資源利用率高。