數據庫市場似乎已經很久沒有足以撼動MySQL地位的數據庫出現了,我們習慣于看到MySQL占據各大數據庫排行榜的首位。MySQL確實是很棒的一款開源數據庫,也是目前應用最廣泛的數據庫。甚至不少業內人士都認為未來屬于MySQL,但事實果真如此嗎?
為了探討這個問題,本文特意邀請了SQream Technologies***執行官Ami Gal,他的觀點是GPU數據庫才是未來的趨勢,來看看他的理由是什么吧!
Ami擁有超過20年的技術和創業經驗,技術背景深厚,曾擔任Magic Software (MGIC)業務發展副總裁,在高性能和復雜數據集成環境中創造了新的增長引擎。他有這個想法的原因很簡單:GPU可以遠高于CPU的速度讀取和處理數據,每年的性能提高速度大約為40%左右(等于數據增長率)。
目前,在幾個核心領域(如深度學習,虛擬現實和自動駕駛汽車)之外的計算機領域,圖形處理單元(GPU)的功能仍然相對未知。事實上,對于大多數人來說,使用GPU進行非圖形計算的想法也是前所未聞的。然而,這種想法馬上就可以被改變,一切從GPU數據庫開始。
很多人都知道GPU是比CPU更好的計算資源。當工程師和架構師意識到在屏幕上渲染復雜圖像是一個可并行化問題,也就是說,可以同時處理多個指令流的指令時,GPU就作為CPU的有效替代方案而與大眾見面了。
起初,解決問題的方式是創建一個新的處理單元,它具有數千個不太復雜的內核和更快更高帶寬的內核,努力的結果是無論在讀取還是處理數據方面,這個新的處理單元都遠遠超過了CPU。(現在你可能開始明白為什么GPU對于數據庫來說是可取的,畢竟GPU本來在數據讀取和處理方面就是擅長的)
其實,GPU數據庫早已經發展得非常不錯了!
早在2016年,數據就在以每年大約40%的速度增長著,而且還有明顯加速趨勢。1TB存儲的智能手機出現,企業處理的數據規模也上升到了PB級別,而CPU每年只有10%—20%的提升,數據的增長速度已經遠遠超過了CPU能處理的數據,這讓GPU數據庫得以面世。
起初,數據庫行業很多從業人員并不看好GPU數據庫,認為不過是一陣風,只適合于那些小眾領域,與內存數據配合使用。
就在他們堅信著未來仍將是傳統數據庫的天下時,GPU數據庫已經在很多行業悄悄被采納了,包括一向對新技術接納程度有限的政府部門。美國郵政總局就是一個很好的例子,他們的數據庫管理著遍布20萬條投遞路線的1.54億個地址,還包括郵遞員的位置數據,可想而知這個數據庫的量級有多大了。通過GPU數據庫,郵政總局可以迅速處理復雜查詢,所用時間幾乎與載入網頁時間相當。
除此之外,GPU數據庫在金融、電信、零售、安全等等行業均已有廣泛應用。
看看現在CPU和GPU可以處理的原始FLOPS:
-
CPU - 200 gigaflops - 每秒200億次浮點運算
-
GPU - 120 teraflops - 每秒120萬億次浮點運算
因為GPU可以同時處理很多計算,所以可以分而治之。大問題被分解成小問題,一次解決。另一方面,基于CPU的數據庫受其上內核數量的限制,并且被優化以運行序列化計算。這導致一個數據庫只能同時處理幾個查詢,只好一個接一個地查詢。
未來,很多人會開始看到GPU數據庫的革命性和強大功能。
GPU數據庫為每個GPU包含數千個內核。這使數據庫可以同時運行數千個查詢,并使用更高的帶寬內存來啟動。
大多數企業都有投資回報率。雖然一個完整的GPU服務器可能會很昂貴,但它可以匹配幾十個甚至幾百個傳統CPU服務器的計算能力。
GPU數據如何實施?
大多數GPU數據庫運行在云端,適用于從IBM Bluemix到亞馬遜AWS的各種環境。數據庫搭建完畢,可以使用行業標準的驅動程序,使用標準SQL查詢數據,驅動程序包括:
-
JDBC和ODBC
-
Python、Jupyter和sklearn 等
-
R及其他機器學習庫
大多數GPU數據庫的搭建過程都十分簡單,不需要十分強大的技能,而且它們往往是與現有生態系統兼容的。對于數據科學工作而言,工作負載可以從幾小時縮短至幾分鐘,甚至更少。