甲骨文今天發(fā)布了旗下Sparc M7處理器的硬件加速SQL處理引擎“一個自由和開放的API和開發(fā)包”。從今天起,用戶可以網(wǎng)上下載開發(fā)包和并注冊。
甲骨文產(chǎn)品管理副總裁Marshall Choy告訴記者,“我們開放了接口,以方便C、C++、Java、Python程序員更有效地使用這些加速器。”
他表示,“接口是開放和免費的,無需交許可證費,只需要簡單地點擊一個標準的協(xié)議。我親自看過該協(xié)議,因為我對這一類的協(xié)議抱懷疑態(tài)度。協(xié)議里的許可條款類似于GNU GPL。”
Theregister在去年10月甲骨文開放世界大會召開期間描述過這些引擎,引擎的官方名字為數(shù)據(jù)分析加速器或DAX。它們從內(nèi)存里以每秒160兆位元的速度獲得壓縮數(shù)據(jù)進行處理、分析,在解壓的過程中過濾信息,然后將結(jié)果輸?shù)紺PU的L3緩存里。
Choy 告訴記者,“它們在掃描操作時運行得非常好,用戶在這時需比較數(shù)值、對范圍進行比較、完成SELECT類型功能、進行過濾以減少一列、搜索和提取數(shù)據(jù)。”
他表示,“它們可用于數(shù)據(jù)集里異常值的實時發(fā)現(xiàn)。在這一行里典型的用途是欺詐檢測:例如,在信用卡消費里發(fā)現(xiàn)異常。”
M7可以通過DAX引擎同時處理32個數(shù)據(jù)流,這些工作是獨立于處理器里的32個SPARC核心的。這些加速器可以并行使用,能快速吞掉內(nèi)存里的的列數(shù)據(jù)庫以及執(zhí)行簡單的SQL查詢,如計算某個寫手在2014年的文章總數(shù)量。顧名思義,DAX單元的目標是解析操作:讀入和享用大量的數(shù)據(jù),但不會改變或?qū)懭氪罅繑?shù)據(jù)。
甲骨文數(shù)據(jù)庫12c版用這些引擎來加速SQL查詢,任何在Solaris 11里運行的軟件現(xiàn)在都可以通過俗稱大紅色的甲骨文API使用該技術(shù)。這些接口使得應(yīng)用程序可以通過接入硬件加速器而縱橫于數(shù)據(jù)之中,而涉及DAX引擎所需的編程等繁瑣工作則是由程序庫完成。
M7 的DAX管道基本分布示意圖
甲骨文一直都在強調(diào)DAX的壓縮和解壓功能。未處理的數(shù)據(jù)在存儲里壓縮意味著更多的信息可以在單位秒里被反饋到加速器里,解壓則是在分析的同時進行,如此,據(jù)據(jù)甲骨文的說法,用戶可免費得到這些東西。
我們還被告知,范圍比較也是在一步內(nèi)做完,因此,比如用戶想找出兩個日期里的交易數(shù)目,這在硬件里是一步完成的。所有這些都是在CPU內(nèi)核以外的緩存里發(fā)生的,所以DAX單元不會影響到每個內(nèi)核緩存中的數(shù)據(jù)。
歸根結(jié)底,用戶可利用DAX單元消耗每秒數(shù)百萬抑或數(shù)十億行的信息,用于驅(qū)動交互式分析。可別忘了這些信息必須是壓縮后存儲在內(nèi)存中的數(shù)據(jù);為了達到加速的目的就必須出力。
不僅僅是SQL可以這樣做:甲骨文也在著手將Apache Spark與M7處理器的硬件加速接軌,并提供補丁以支持自己“芯片里的軟件”。記者被告知,美國布朗大學計算機科學系正在用大型數(shù)據(jù)集測試M7 DAX的技術(shù)性能。
本文發(fā)稿時API許可證的具體細節(jié)尚未披露,如有更新,筆者會盡快跟進。