天天看點

“開源”vs“商業”,差别到底有多大?這篇測試一目了然

近些年來在資料分析領域,湧現出很多開源的技術方案,例如Presto、Spark、Impala等。面對多種選擇,我們往往會比較困惑、無從下手。此外,MySQL生态非常火熱,但對于資料分析類場景,使用此類關系型資料庫是否合适呢?阿裡雲近期,基于常見的開源資料分析産品和資料庫與阿裡雲自研的分析型資料庫MySQL版進行了對比性能測試,希望從中能幫你找到答案。

01、測試标準:TPC-H

本次對比測試,是使用TPC-H标準。TPC-H(商業智能計算測試)是美國交易處理效能委員會(TPC,Transaction Processing Performance Council) 組織制定的用來模拟決策支援類應用的一個測試集。目前在學術界和工業界普遍采用它來評價決策支援技術方面應用的性能。這種商業測試可以全方位評測系統的整體商業計算綜合能力,對廠商的要求更高,同時也具有普遍的商業實用意義。TPC-H 是根據真實的生産運作環境來模組化,模拟了一套銷售系統的資料倉庫。其共包含8個基本關系,資料量可設定從1G~3T不等。其基準測試共包含了22個查詢,主要評價名額各個查詢的響應時間,即從送出查詢到結果傳回所需時間。其測試結果可綜合反映系統處理查詢時的能力。

02、測試方案

測試基于阿裡雲基礎環境,在同等(或接近)的硬體配置下,對比分析型資料庫MySQL版與MySQL、Presto、Spark、Impala在同等資料規模(100G)下,标準TPC-H的測試結果對比。測試環境如下表:

“開源”vs“商業”,差别到底有多大?這篇測試一目了然
“開源”vs“商業”,差别到底有多大?這篇測試一目了然

03、測試結果

如下表可以看出,分析型資料庫MySQL版比MySQL8.0性能提升100多倍,比其他開源資料分析産品也有6~10倍的性能提升。

“開源”vs“商業”,差别到底有多大?這篇測試一目了然

*表格中對比資料為性能提高倍數,計算方法為(開源-ADB)/ADB。

*測試中Impala、Presto因文法或資源問題,無法全部完成測試。

04、解讀資料

“開源”vs“商業”,差别到底有多大?這篇測試一目了然

在與關系型資料庫典型産品-MySQL對比中,分析型資料庫MySQL版實作了百餘倍的提升。雖然MySQL采用了最新的8.0版本,在複雜SQL處理能方面有了長足的進步,但與專業資料分析類産品對比,差距明顯。

在實際使用中,對于查詢不太複雜、資料規模不大、響應時間要求不高的情況下,使用原生MySQL是可以接受的。對于稍顯複雜的場景,還是建議選擇專業的分析類産品。

對Presto、Spark、Impala的對比中,分析型資料庫MySQL版也實作了6~10餘倍的性能提升。同樣作為分布式資料分析類産品,分析型資料庫MySQL版經過多年技術積累,在存儲架構、優化器、執行引擎等多領域的創新性成果,可大幅提高海量資料的實時查詢性能。測試中除分析型資料庫MySQL版外,其餘産品都進行部分調優工作(包括參數調整、資料結構調整、語句改寫等);而隻有分析型資料庫MySQL版真正實作了“開箱即用”,零優化、免維護、無開發。除在TPC-H提供的建表語句中增加對分布鍵的定義外(原有測試标準未考慮到分布式資料庫場景),其餘未做任何調整。

05、如何選擇

回到文章之初的問題,我們如何來選擇?這裡簡單整理了幾點:

極緻性能

對比測試結果來看,分析型資料庫MySQL版在性能上優勢明顯。這也是依賴于多年技術積累所緻。

文法相容

從測試過程來看,分析型資料庫MySQL版對MySQL生态相容很好,語句無需修改即可使用。其他産品在相容性方面還需進一步加強。

技術基礎

如果你的技術比較薄弱,選擇分析型資料庫MySQL版的商用方案無疑是很合适的。如果你已經在其他大資料棧有了多年積累,可快速解決問題,則可以選擇其他産品。

高成本效益

上述測試中,未算考慮經濟投入。在使用同樣雲端資源的情況下,分析型資料庫MySQL版較其他産品,具有明顯的經濟優勢。同時,分析型資料庫MySQL版也提供了豐富的規格選擇,進一步為客戶降低成本。例如之前推出的基礎版規格,将大資料分析門檻大幅降低;新推出的大存儲規格,則面向具備海量資料體量使用者;其未來還将有更為豐富且具有彈性的規格推出。

簡單易用

零維護、免優化,這是分析型資料庫MySQL版給很多人的直覺印象。其将資料分析這一原本門檻較高的領域,變得觸手可得。

06、寫在最後

開源技術方案與商業方案之間的選擇是一個長期的命題。面對多種選擇時,我們需要從自身的場景需求、技術條件和經濟實力等方面綜合考慮,這些因素給每個人帶來的選擇也不盡相同。希望以上的測試結果能夠為大家在選擇資料庫産品時有一個綜合次元的參考,幫助大家找到合适自己的方案。