Oracle Database In-Memory:突破行列限制 達(dá)到實(shí)時(shí)分析
原創(chuàng)兩周前,甲骨文在全球發(fā)布了Oracle Database In-Memory,Oracle Database In-Memory將作為Oracle數(shù)據(jù)庫(kù)的可選配件的方式提供,可在企業(yè)運(yùn)行Oracle數(shù)據(jù)庫(kù)的系統(tǒng)上運(yùn)行,支持企業(yè)目前正在使用的應(yīng)用,無(wú)需對(duì)應(yīng)用進(jìn)行任何修改。
甲骨文公司數(shù)據(jù)庫(kù)技術(shù)產(chǎn)品執(zhí)行副總裁Andrew Mendelsohn也親自來(lái)到北京,向中國(guó)媒體講解Oracle Database In-Memory。據(jù)介紹,Oracle Database In-Memory有三大目標(biāo),***是實(shí)時(shí)分析,并且獲得100倍的性能提升;第二是更快的OLTP混合工作負(fù)載;第三是輕松遷移,易于部署,無(wú)需改變應(yīng)用。Andrew Mendelsoh強(qiáng)調(diào)提升分析速度是最重要的目標(biāo)。
甲骨文公司數(shù)據(jù)庫(kù)技術(shù)產(chǎn)品執(zhí)行副總裁Andrew Mendelsohn
行、列雙格式的數(shù)據(jù)庫(kù)內(nèi)存
過(guò)去,客戶在行式數(shù)據(jù)庫(kù)和列式數(shù)據(jù)庫(kù)之間只能選擇一類,從而在數(shù)據(jù)處理性能上受到局限。行式數(shù)據(jù)庫(kù)更適合交易性數(shù)據(jù)的處理,例如電子商務(wù)中的應(yīng)用,插入或查詢一條銷售訂單,而列式數(shù)據(jù)庫(kù)則更善于進(jìn)行分析類操作,比如按地域生成銷售額報(bào)告。而Oracle Database In-Memory的一大創(chuàng)新即是突破行列限制,采用雙格式數(shù)據(jù)庫(kù)內(nèi)存,通過(guò)在同一張表在內(nèi)存中同時(shí)支持行和列兩種格式,同時(shí)激活并保持事務(wù)一致性,對(duì)分析和報(bào)表采用列格式,OLTP則采用行格式運(yùn)行。
在Oracle內(nèi)存列式存儲(chǔ)技術(shù)中,純內(nèi)存中的列式存儲(chǔ)能夠快速響應(yīng)數(shù)據(jù)變化,可達(dá)到2倍至20倍的壓縮比例,其粒度還支持表級(jí)與分區(qū)級(jí),并適用于所有主流的硬件平臺(tái),方便企業(yè)進(jìn)行部署。Andrew Mendelsohn強(qiáng)調(diào),“SAP需要購(gòu)買硬件來(lái)支持內(nèi)存列式存儲(chǔ)技術(shù),例如客戶要購(gòu)買SAP HANA,但是Oracle支持所有主流硬件平臺(tái),客戶不需要再購(gòu)買硬件產(chǎn)品。”
在測(cè)試當(dāng)中,列格式的每CPU內(nèi)核可達(dá)到10億條/秒的掃描速度,而行格式僅能達(dá)到百萬(wàn)條,性能的提升高達(dá)一百倍以上。不僅如此,通過(guò)將多表的連接操作轉(zhuǎn)化為高效的列掃描,表連接速度也加快10倍。
對(duì)于傳統(tǒng)的OLTP系統(tǒng),為了實(shí)現(xiàn)快速查詢,往往采用分析型索引的方式,在這樣的架構(gòu)下,向表中插入一條記錄需要同時(shí)更新數(shù)十個(gè)索引,OLTP系統(tǒng)性能被迫降低。而甲骨文通過(guò)用列存儲(chǔ)取代分析型索引,新的OLTP系統(tǒng)中可以給予任意一列實(shí)現(xiàn)快速分析,OLTP和批處理的速度得到提升。
軟硬件集成
Oracle Database In-Memory通過(guò)在大型SMP服務(wù)器上的縱向擴(kuò)展、跨服務(wù)器集群的橫向擴(kuò)展以及存儲(chǔ)分層,滿足任何需求;能夠經(jīng)濟(jì)實(shí)惠地運(yùn)行任何規(guī)模的數(shù)據(jù)庫(kù),無(wú)論是PB級(jí)數(shù)據(jù)倉(cāng)庫(kù)、大數(shù)據(jù)處理還是數(shù)據(jù)庫(kù)云。同時(shí),Oracle Database In-Memory還支持Java、R、大數(shù)據(jù)、PHP Python、Node、REST、Ruby等語(yǔ)言。它全面支持各種數(shù)據(jù)類型,包括關(guān)系型、對(duì)象型、XML、文本、空間數(shù)據(jù)以及***的集成式JSON。
Oracle集成系統(tǒng)與Oracle Database In-Memory實(shí)現(xiàn)了***互補(bǔ)。包括Oracle Exadata數(shù)據(jù)庫(kù)云服務(wù)器和Oracle SuperCluster在內(nèi)的Oracle集成系統(tǒng)針對(duì)Oracle Database In-Memory進(jìn)行了優(yōu)化,提供大容量存儲(chǔ)、***的性能和高可用性,同時(shí)還提供了存儲(chǔ)分層,將活動(dòng)性較低的數(shù)據(jù)轉(zhuǎn)移到閃存和磁盤中,以提供出色的性價(jià)比。Oracle集成系統(tǒng)的內(nèi)存容錯(cuò)功能跨多個(gè)節(jié)點(diǎn)選擇性地復(fù)制內(nèi)存數(shù)據(jù),因此,如果一臺(tái)服務(wù)器發(fā)生故障,便可以立即使用內(nèi)存數(shù)據(jù)副本來(lái)滿足查詢要求。***Direct-to-Wire Infiniband提高了內(nèi)存的橫向擴(kuò)展速度。
Oracle M6-32大內(nèi)存機(jī)(Oracle M6-32 Big Memory Machine)是適合Oracle Database In-Memory的、縱向擴(kuò)展平臺(tái),提供多達(dá)32TB DRAM內(nèi)存和3TB/秒內(nèi)存帶寬,***限度地提高了內(nèi)存性能。
此外,Oracle Database In-Memory在任何與Oracle數(shù)據(jù)庫(kù)兼容的現(xiàn)有應(yīng)用環(huán)境中,都能夠非常簡(jiǎn)單、快捷地進(jìn)行部署,如同撥動(dòng)一下開(kāi)關(guān),無(wú)需對(duì)應(yīng)用做任何更改。Andrew Mendelsoh表示,Oracle Database In-Memory的部署是很容易的,通過(guò)"inmemory_size=XXX GB"指令語(yǔ)句,即可開(kāi)啟內(nèi)存計(jì)算的功能。Rittman Mead***技術(shù)官M(fèi)ark Rittman表示,“關(guān)于Oracle Database In-Memory的使用,實(shí)在沒(méi)什么好說(shuō)的,只要把開(kāi)關(guān)打開(kāi),選擇表裝載到內(nèi)存就行了,別的什么也不需要做。”
Andrew Mendelsohn表示:“作為業(yè)界惟一能夠跨應(yīng)用、中間件、數(shù)據(jù)庫(kù)和系統(tǒng)全面實(shí)現(xiàn)內(nèi)存計(jì)算的廠商,甲骨文致力于推廣內(nèi)存技術(shù),幫助企業(yè)提升數(shù)據(jù)庫(kù)性能、做出明智決策,并促進(jìn)可持續(xù)的營(yíng)收。Oracle Database In-Memory的問(wèn)世,是甲骨文持續(xù)在數(shù)據(jù)庫(kù)領(lǐng)域創(chuàng)新和投入的結(jié)果,也是甲骨文對(duì)全世界企業(yè)客戶承諾的踐行。我們希望為所有客戶以***的部署及運(yùn)維成本,提供***的可用性、可擴(kuò)展性和安全性。”