歡迎您光臨本站 註冊首頁

效能提升 10 倍,OceanBase 二次 TPC-C 測試結果公佈

←手機掃碼閱讀     admin @ 2020-05-22 , reply:0

時隔半年,螞蟻金服的自研資料庫 OceanBase 又去做了 TPC-C 測試。TPC 去年10月2日和今年5月20日公佈的測試結果顯示,OceanBase 都是榜單第一。效能方面,去年 OceanBase 的測試結果是6088萬 tpmC,今年則是7.07億 tpmC;TPC-C benchmark 價格也從¥6.25/tpmC 降低到¥3.98/tpmC。不過,一些資料庫公司,如 Oracle 並未參與這兩次測試。

測試結果

OceanBase 是一個支援海量資料的高效能分散式資料庫系統,由淘寶核心系統研發部、運維、DBA、廣告、應用研發等部門共同完成。2017年開始對外商用。

之所以在短時間內做兩次測試,是因為 OceanBase 團隊認為首次測試尚未充分發揮 OceanBase 分散式架構的真正實力,同時也希望二次測試可以體現其價效比優勢。兩次 TPC-C 測試採用的都是OceanBase 2.2版本的 Oracle 相容模式,目前螞蟻金服內部以及外部商業銀行均有 Oracle 業務已經遷移到 OceanBase 的 Oracle 模式。

效能方面。二次測試使用了1557臺84核 ECS i2d 伺服器,一期僅有207臺伺服器參與測試。這也證明 OceanBase 軟體的分散式處理能力提升,軟體效能的提升最終使 tmpC 結果提升十倍以上。

其次,單 CPU 核效能也在提升。基於同樣的 CPU 核,第一次 TPC-C 測試使用了20764=13,248個 vCPU(虛擬機器 CPU)核,本次則使用了155784=130,788個 vCPU 核,CPU 核數不到第一次的10倍,但整體效能達到了第一次的11倍以上,其中還有機群規模提升所帶來的更大損耗。 

得益於 OceanBase 軟體單核效能的最佳化以及軟體價格的最佳化,TPC-C benchmark 價格下降了¥2.27/tpmC。

OceanBase 團隊透露,從測試收益來看,首先它滿足了 OceanBase 自身對於效能測試的需求,結果具有公認的參考價值;其次,7億 tpmC 證明瞭分散式資料庫可以滿足嚴格要求下的事務處理,意味著能夠滿足網際網路、金融、電信、政府等關鍵領域的核心繫統的事務處理需求。

TPC-C 測試

TPC 是國際事務處理效能委員會簡稱,該組織是一個負責制定效能測試基準的非盈利委員會,其制定的 TPC-C 測試可衡量資料庫線上事務處理能力。

效能和價效比是TPC-C 測試的兩個衡量。效能由 tpmC(transactions per minute,tpm)衡量,C 指 TPC 中的 C 基準程式,它的定義是每分鐘內系統處理的新訂單個數。價效比衡量資料庫單位成本,以系統的總價格/tpmC 數值得出。

TPC-C 是開放的測試基準,這樣即便是參與測試公司的硬體架構和資料庫軟體架構有所不同,只要符合其規範,都可以參與測試。同時,TPC-C 測試非常嚴謹,極大程度杜絕作弊:

首先,TPC-C 要求被測資料庫必須滿足資料庫事務的 ACID,即原子性、一致性、隔離性和永續性,其中隔離性為可序列化隔離級別,永續性要求能夠抵禦任何單點故障等。這是對 OLTP 資料庫的基本要求。

第二,TPC-C 規定被測資料庫的效能(tpmC)與資料量成正比,事實上真實業務場景也是如此。TPC-C 測試的基本資料單元是倉庫(warehouse),每個倉庫的資料量通常在70MB 左右(與具體實現相關),TPC-C 要求終端使用者在選擇事務型別時,需要按照規定的比例選擇五種事務,終端使用者每個事務都有一定的輸入時間(對每種事務分別固定)和一定範圍的隨機的思考時間(一個對數函式),根據這些要求,每個倉庫所能獲得的 tpmC 值的理論上限是12.86(假設資料庫的響應時間為0)。

第三,TPC-C 要求被測資料庫能夠以平穩的效能長期地執行。測試時,去掉啟動預熱(ramp up)和結束降速(ramp down)時間後,被測資料庫至少要效能平穩地(steady state)執行8小時,其中效能採集時段(不少於2小時)內的效能累積波動不得超過2%。

第四,TPC-C 要求被測資料庫的寫事務的結果必須在一定時間內資料落盤(指資料庫資料,不是日誌,事實上 redo log 在事務提交前就落盤了),對於具備 checkpoint 功能的資料庫,checkpoint 的間隔不得超過30分鐘,checkpoint 資料持久化的時間不得超過 checkpoint 間隔。

第五,業務定向最佳化(profile-directed optimization,PDO)可以提升軟體的效能,TPC-C 也允許使用 PDO,但有一些限制,比如採用 PDO 最佳化的版本需要在客戶使用,資料庫廠家需要對 PDO 最佳化的版本提供技術支援等。為了避免可能出現的異議,OceanBase 沒有使用 PDO。

TPC-C 的測試成本非常高。如 OceanBase 這次的測試,從 FDR 來看,根據標準要求公開的3年總持有成本中硬體成本就有約為6億人民幣,包括軟硬體及服務在內的三年總成本為28億人民幣。OceanBase 團隊表示,因為租用了阿里雲公有云的 ECS 虛擬機器,來替代物理伺服器和儲存,可以便利擴容/縮容,也節省了成本,“實際測試中我們只需要在阿里雲上購買相應 ECS 資源很短的時間,遠遠低於之前榜單上其它廠商測試的花費”。

然而過高的成本等因素導致一些公司不再參與 TPC-C測試。Oracle 上次測試還是在2010年。當時,Oracle 公司的 SPARC T3-4 Supercluster以30 249 688 tmpC 創造了 TPC-C 效能測試的新紀錄。

目標是整合 HTAP

OceanBase 團隊正把更多精力投入到外部市場。未來,OceanBase 的產品目標之一是在一套引擎裡同時支援 OLAP 和 OLTP,即 HTAP,“在走訪客戶的過程中我們發現,絕大部分業務既需要 OLTP 又需要 OLAP”。

HTAP 是混合 OLTP 和 OLAP 業務同時處理的系統,Garnter 公司在2014年提出。根據最新定義:混合負載(HTAP Hybrid Transactional/Analytical Processing)在保留原有線上交易功能的同時,也強調了資料庫原生計算分析的能力。它被認為打破了事務處理和分析之間的“牆”,支援更多的資訊和“實時業務”的決策。


[admin ]

來源:OsChina
連結:https://www.oschina.net/news/115846/oceanbase-second-tpcc-news
效能提升 10 倍,OceanBase 二次 TPC-C 測試結果公佈已經有16次圍觀

http://coctec.com/news/all/show-post-235269.html