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