國產數據庫又破世界記錄了!
這一次又是鵝廠,又是騰訊云TDSQL。
去年,騰訊云TDSQL打破了TPC-C的紀錄,今年,他們又成功刷新了TPC-DS的紀錄。
今天,我們先拋開成績不談,說說TPC-DS是怎么回事,到底是怎么測的,難度大不大…
首先,TPC(事務處理性能委員會)的名號不需要過多解釋了吧,這個國際權威機構從1988年成立開始,30多年就干一件事↓
“開發并維護針對數據庫和事務處理系統的基準測試標準”
所以,TPC的這些測試,也常被業內稱作數據庫領域的“奧林匹克”。
鵝廠去年奪冠的那個TPC-C是事務處理類的性能測試(OLTP),也就是交易型的業務,想想那些秒殺、支付、訂單處理,就知道這能力多重要。
TPC-C相當于奧林匹克中的短跑項目,“賽程”都是高頻小任務,比的是多、快、穩、爆發力↓
而鵝廠今年參加的這個,叫TPC-DS,其實是“拷打”分析型業務的,重點考察數據庫的“聯機分析”能力(OLAP),需要具備大數據量、高性能、高并發、高擴展性等特征。
TPC-DS就好比是鐵人三項,“賽程”都是低頻大任務,綜合比拼速度、耐力、大運動量。↓
那TPC-DS具體怎么測呢?難度相當大!
TPC系列的測試有個特點,特別強調實戰型,要模擬真實的業務場景。
這種實戰型的測試,就可以避免有些產品,一測很牛逼,一用就拉稀…
你看TPC-DS的測試細則,模擬一家大型零售商銷售數據的在線分析場景,包含了99個不同類型的分析任務。
測試場就是實戰場,詳細評估數據庫在海量數據下的分析性能:處理耗時、并發性能、導數性能等。
海量數據有多“海”呢?
看看下面這些表的行數和磁盤空間占用,你就心里有數了。
這里面,門店銷售記錄表(store_sales)有288億行,占用磁盤空間2個T;
電話銷售記錄表(catalog_sales)有144億行,占用磁盤空間1.6T;
還有70多億行的線上銷售記錄表、6500萬行的客戶信息表…,總共17張表,10TB數據量。
怎么樣,這數據是不是“海”得很夸張?
測試的第一環節,就是要把這10個T的數據加載到待測數據庫中,考量數據導入的速度。
數據入庫后,接下來更大的挑戰是查詢分析需求,因為這些需求都涉及到了大規模跨表查詢,很多需要同時關聯10表左右。
舉個例子,第23項查詢(Q23)是要分析“暢銷品的頭部客戶在各渠道的銷售總額”。
是不是光這句話的意思都要琢磨半天?要完成這個任務,需要多次迭代查詢和計算↓
比如,第1步“查詢門店暢銷產品”,具體的要求是從門店銷售記錄中找出連續4年內任何一天銷售超過4次的商品。
這個需求,需要針對門店銷售記錄表、日期表、商品目錄表進行聯合查詢。
這種連接查詢(join)的結果有220多億條記錄,聚合計算后的最終結果有3億條記錄。
再看第4步,查詢“門店頭部客戶在其它渠道的購買暢銷品情況”,需要根據前三步的結果,再基于所有的銷售數據(門店、網店、電話)進行聯合分析,計算量激增…
總之吧,像這樣“刁難人”的問題,有99個,全部模擬真實查詢場景,幫助企業進行決策支撐。
具體測試的時候,要先串行運算,也就是模擬1個用戶按順序執行99個查詢任務。
接下來,還有并行運算測試。
這個更狠,模擬4個用戶,同時并發執行99個查詢任務,看你能不能反應過來。
這還不算完,下一步還要進行數據變更操作:更新某些表中的數據,涉及10+表的上億行數據。
數據更新過程中,還有人專門“作妖”,破壞磁盤來模擬故障,來測試系統的容錯能力。
這幾波操作完成后,會繼續進行第二次并行查詢測試和第二次數據變更測試。
說白了,測一遍怕你超水平發揮了,不夠準確,再來一遍。
好,跑完這所有的步驟之后,TPC-DS會根據下面公式計算出一個分數,分數越高綜合表現越好。
公式的詳細算法不啰嗦了,這里面的分母,其實是基于串行查詢、并行查詢、數據變更、數據加載所花費的時間,得到的一個加權值。
總之,綜合用時越短,各項都沒有短板,分母就越小,得分就越高。
鵝廠最終測下來,得分是7260萬QphDS,比第二名高了三倍還多。
不止如此,在性能奪冠的同時,鵝廠還拿到了性價比的冠軍,也就是系統造價和性能得分的比值,反映了每秒每查詢數據量的花費,越小越好。
在這個指標上,鵝廠TDSQL每1000評分的價格比第二名便宜了1/3。
有人說,硬件價格是明的,數據庫軟件價格不透明,你隨便報個低價,不就可以拉低成本了?
反正是自己產品,價格自由嘛。
嘿嘿,看看TPC官方的測試報告你就會明白,這個數據庫系統的價格是基于騰訊云官網在線正式售賣的定價來核算的。
也就是說,送測的和客戶最終買到的,價格一致,甚至考慮到大客戶折扣,最終用戶可以獲得更好的性價比。
后記
鵝廠用了兩年時間(背后其實是數據庫鵝們十幾年的積累),成功霸榜OLTP和OLAP兩大權威測試,而且是真刀真槍的實戰型測試,的確值得夸一句“厲害了人家的鵝”。
這個打榜結果放出來以后,業內有數據庫老炮兒,看了TPC-DS的結果,也都紛紛點贊,坦言“DS還是挺難的,這成績不容易”。
也有大甲方笑評:核心生產系統可以更加放心地吃吃國產數據庫螃蟹了。
的確,打榜這件事,不僅是鵝廠的勝利,也是國產數據庫的勝利,相信未來我們會看到越來越多的核心生產系統,用上國產數據庫。
比如,兩次打榜的主角TDSQL,已經被4000多家來自金融、公共服務和電信等垂直行業客戶采用,服務超過30家金融機構完成核心系統替換,中國十大銀行中的七家都在用。
而在云上場景,企業同樣可以享受到極致性能。最近,騰訊云發布了云數據庫MySQL集群版,通過架構升級與內核優化,既保持云原生架構的極致彈性,又能超越傳統架構,實現性能提開30%,內存占用下降15%,單核 QPS突破10000。
基礎軟件的國產化替代,任重道遠,但曙光已現~
特別聲明:以上內容(如有圖片或視頻亦包括在內)為自媒體平臺“網易號”用戶上傳并發布,本平臺僅提供信息存儲服務。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.