“开源”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的測試結果對比。測試環境如下表:
*點擊查看大圖
03、測試結果
如下表可以看出,分析型數據庫MySQL版比MySQL8.0性能提升100多倍,比其他開源數據分析產品也有6~10倍的性能提升。
*點擊查看大圖
*表格中對比數據為性能提高倍數,計算方法為(開源-ADB)/ADB。
*測試中Impala、Presto因語法或資源問題,無法全部完成測試。
04、解讀數據
在與關系型數據庫典型產品-MySQL對比中,分析型數據庫MySQL版實現了百余倍的提升。雖然MySQL采用了最新的8.0版本,在復雜SQL處理能方面有了長足的進步,但與專業數據分析類產品對比,差距明顯。
在實際使用中,對于查詢不太復雜、數據規模不大、響應時間要求不高的情況下,使用原生MySQL是可以接受的。對于稍顯復雜的場景,還是建議選擇專業的分析類產品。(廣告下:分析型數據庫MySQL版已推出MySQL分析型實例,歡迎關注!)
對Presto、Spark、Impala的對比中,分析型數據庫MySQL版也實現了6~10余倍的性能提升。同樣作為分布式數據分析類產品,分析型數據庫MySQL版經過多年技術積累,在存儲架構、優化器、執行引擎等多領域的創新性成果,可大幅提高海量數據的實時查詢性能。測試中除分析型數據庫MySQL版外,其余產品都進行部分調優工作(包括參數調整、數據結構調整、語句改寫等);而只有分析型數據庫MySQL版真正實現了“開箱即用”,零優化、免維護、無開發。除在TPC-H提供的建表語句中增加對分布鍵的定義外(原有測試標準未考慮到分布式數據庫場景),其余未做任何調整。
05、客戶選擇
回到文章之初的問題,客戶如何來選擇?這里簡單整理了幾點:
極致性能
對比測試結果來看,分析型數據庫MySQL版在性能上優勢明顯。這也是依賴于多年技術積累所致。
語法兼容
從測試過程來看,分析型數據庫MySQL版對MySQL生態兼容很好,語句無需修改即可使用。其他產品在兼容性方面還需進一步加強。
技術基礎
如技術較薄弱的客戶,選擇分析型數據庫MySQL版的商用方案無疑是很合適的。如果客戶已經在其他大數據棧有了多年積累,可快速解決問題,則可以選擇其他產品。
高性價比
上述測試中,未算考慮經濟投入。在使用同樣云端資源的情況下,分析型數據庫MySQL版較其他產品,具有明顯的經濟優勢。同時,分析型數據庫MySQL版也提供了豐富的規格選擇,進一步為客戶降低成本。例如之前推出的基礎版規格,將大數據分析門檻大幅降低;新推出的大存儲規格,則面向具備海量數據體量用戶;其未來還將有更為豐富且具有彈性的規格推出。(廣告下,3月末還將有重磅產品發布,敬請期待!)
簡單易用
零維護、免優化,這是分析型數據庫MySQL版給很多客戶的直觀印象。其將數據分析這一原本門檻較高的領域,變得觸手可得。感興趣的同學,可以根據文檔說明,快速復現上述測試過程,真正體會下分析型數據庫MySQL版帶來的價值。
06、寫在最后
如上面測試可見,分析型數據庫MySQL版性能大幅領先MySQL 、Presto、Spark、Impala等開源產品?這背后有什么技術殺手锏?請期待后續推出的分析型數據庫MySQL版性能之巔解密!!!
原文鏈接
本文為云棲社區原創內容,未經允許不得轉載。
總結
以上是生活随笔為你收集整理的“开源”vs“商业”,差别到底有多大?这篇测试一目了然的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 10个一行代码就能搞定的编程技巧
- 下一篇: PyFlink 社区扶持计划正式上线!