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