2018年預測:GPU資料庫或是資料庫統治者!
資料庫市場似乎已經很久沒有足以撼動MySQL地位的資料庫出現了,我們習慣於看到MySQL佔據各大資料庫排行榜的首位。MySQL確實是很棒的一款開源資料庫,也是目前應用最廣泛的資料庫。甚至不少業內人士都認為未來屬於MySQL,但事實果真如此嗎?
為了探討這個問題,本文特意邀請了SQream Technologies執行長Ami Gal,他的觀點是GPU資料庫才是未來的趨勢,來看看他的理由是什麼吧!
Ami擁有超過20年的技術和創業經驗,技術背景深厚,曾擔任Magic Software (MGIC)業務發展副總裁,在高效能和複雜資料整合環境中創造了新的增長引擎。他有這個想法的原因很簡單:GPU可以遠高於CPU的速度讀取和處理資料,每年的效能提高速度大約為40%左右(等於資料增長率)。
目前,在幾個核心領域(如深度學習,虛擬現實和自動駕駛汽車)之外的計算機領域,圖形處理單元(GPU)的功能仍然相對未知。事實上,對於大多數人來說,使用GPU進行非圖形計算的想法也是前所未聞的。然而,這種想法馬上就可以被改變,一切從GPU資料庫開始。
很多人都知道GPU是比更好的計算資源。當工程師和架構師意識到在螢幕上渲染複雜影像是一個可並行化問題,也就是說,可以同時處理多個指令流的指令時,GPU就作為CPU的有效替代方案而與大眾見面了。
起初,透過GPU解決問題的方式是建立一個新的處理單元,它具有數千個不太複雜的核心和更快更高頻寬的核心,努力的結果是無論在讀取還是處理資料方面,這個新的處理單元都遠遠超過了CPU。(現在你可能開始明白為什麼GPU對於資料庫來說是可取的,畢竟GPU本來在資料讀取和處理方面就是擅長的)
其實,GPU資料庫早已經發展得非常不錯了!
早在2016年,資料就在以每年大約40%的速度增長著,而且還有明顯的加速趨勢,大資料時代向我們走來。1TB儲存的智慧手機出現,企業處理的資料規模也上升到了PB級別,而CPU每年只有10%—20%的提升,資料的增長速度已經遠遠超過了CPU能處理的資料,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資料庫的搭建過程都十分簡單,不需要十分強大的技能,而且它們往往是與現有生態系統相容的。對於資料科學工作而言,工作負載可以從幾小時縮短至幾分鐘,甚至更少。
所有這些都為GPU資料庫的發展創造了一個非常有說服力的理由,並且很快就會導致它的廣泛普及。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31077337/viewspace-2154059/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 建立一個SQL測試資料庫 - 消費者資料庫SQL資料庫
- 資料庫2018年的驚喜和2019年的預測資料庫
- 大資料測試與 傳統資料庫測試大資料資料庫
- 生產資料庫、開發資料庫、測試資料庫中的資料的區分資料庫
- 資料庫系統概述之國產資料庫資料庫
- ABP預設模板修改預設資料庫型別並初始化資料庫資料資料庫型別
- MySQL預設資料庫之mysql庫MySql資料庫
- MySQL預設資料庫之sys庫MySql資料庫
- [資料庫]000 - ?Sysbench 資料庫壓力測試工具資料庫
- 提取使用者許可權或是不同資料庫使用者許可權的同步資料庫
- 資料庫系統檔案啟動資料庫資料庫
- 資料庫測試指南資料庫
- 資料庫系統概述之資料庫最佳化資料庫
- 【資料庫系統】資料庫系統概論====第十三章 資料庫技術發展資料庫
- CAS配置資料庫,實現資料庫使用者認證資料庫
- 【資料庫】mysql資料庫索引資料庫MySql索引
- 新建資料庫使用者資料庫
- 【資料庫資料恢復】linux系統下MYSQL資料庫資料恢復案例資料庫資料恢復LinuxMySql
- 組態王與Access資料庫通訊--④資料庫測試資料庫
- Greenplum資料庫,分散式資料庫,大資料資料庫分散式大資料
- 大資料圖資料庫之TAO資料庫大資料資料庫
- Sql Server系列:資料庫組成及系統資料庫SQLServer資料庫
- 常見資料庫系統之比較 - Oracle資料庫(轉)資料庫Oracle
- Oracle資料庫的資料統計(Analyze)Oracle資料庫
- 資料庫名,資料庫例項名,資料庫域名,作業系統環境變數資料庫作業系統變數
- 資料庫PostrageSQL-管理資料庫資料庫SQL
- 資料庫映象和資料庫快照資料庫
- MySQL預設資料庫的作用MySql資料庫
- 主流資料庫的預設埠資料庫
- 資料庫系統概述資料庫
- 資料庫系統原理資料庫
- MySQL預設資料庫之 information_schema庫MySql資料庫ORM
- MySQL預設資料庫之performance_schema庫MySql資料庫ORM
- 2.4. 測試資料庫資料庫
- 5 測量資料庫效能資料庫
- 使用SqlDependency監測資料庫SQL資料庫
- 【MySQL】資料庫效能測試MySql資料庫
- NoSQL資料庫效能測試SQL資料庫