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