閃存出現(xiàn)彌補CPU內(nèi)存與磁盤之間空缺
孫浩認(rèn)為CPU和內(nèi)存的發(fā)展與磁盤的發(fā)展速度不匹配。CPU和內(nèi)存遵循摩爾定律,每18個月翻一番,硬盤遠遠落后于CPU和內(nèi)存的發(fā)展速度。無論是應(yīng)用還有Oracle數(shù)據(jù)庫在處理I/O的時候,很大一部分時間是在等待底層客戶端的磁盤。那么通過添加CPU和添加內(nèi)存來提供速度。為用戶客戶帶來一些隱性成本進來。閃存的出現(xiàn)填補了CPU內(nèi)存到機械磁盤中間空缺。
當(dāng)前一個很好的消息就是閃存的出現(xiàn),閃存給應(yīng)用給數(shù)據(jù)庫提供了很低的延遲,提供較大吞吐量,使用更少占地空間。滿足同樣的I/OPS,需要更少的SSD,這樣用戶就不需要上百塊或者是幾十塊的1.5萬轉(zhuǎn)的硬盤對接出來。甲骨文針對于數(shù)據(jù)庫在閃存方面做了很多優(yōu)化,很多技術(shù)融合進來。
首先可以看一下軟件,Oracle公司針對于閃存優(yōu)化可以從軟件層,首先從應(yīng)用數(shù)據(jù)庫這層先去做優(yōu)化。針對于存儲,實際上甲骨文存儲的核心是操作系統(tǒng),是閃存優(yōu)化和技術(shù)集成在存儲的操作系統(tǒng)里面。
甲骨文談分級存儲
針對Oracle公司針對于閃存優(yōu)化從軟件層到數(shù)據(jù)庫層到底層的硬件層是全方位的閃存優(yōu)化。孫浩總結(jié)第一個技術(shù)是分級存儲。第二層可以看到SmartFlashCache,從數(shù)據(jù)庫軟件角度出發(fā)設(shè)計的閃存優(yōu)化。
分級存儲Oracle怎么做的。很簡單一個道理,在Oracle的數(shù)據(jù)庫11gR2版本以前,Oracle公司優(yōu)化閃存做分級存儲是通過在服務(wù)器里頭插一塊閃存卡,像我們的F80的閃存卡或者是說一個全的閃存陣列。你加這個閃存卡干什么用?把Oracle數(shù)據(jù)庫做一個索引,建立在閃存卡上,用來提高Oracle數(shù)據(jù)的查詢和存儲。他給Oracle數(shù)據(jù)庫帶來哪些好的效果?響應(yīng)時間提高兩倍,吞吐量提高兩倍,事務(wù)處理提高兩倍。這項技術(shù)有一個很好的地方,他可以去在線的去加入到我們數(shù)據(jù)庫里來,這里給大家展示一個非常直觀的一個實際的案例。可以看到中間部分是一個SUN公司原來一個6540的閃存陣列,他在X86服務(wù)器上插一塊閃存卡或者是接我們以前有款類似F5100的閃存陣列。把索引時間建立在閃存陣列上來,這個陣列是在線,不需要客戶區(qū)宕數(shù)據(jù)庫,完全可以在線建立。我們可以考慮一下這項技術(shù),這項技術(shù)他解決了客戶的查詢,數(shù)據(jù)庫讀的查詢的問題。他在寫上其實是沒有太多的幫助,可能會對我們寫的性能有一點影響。他建了索引之后,我們以后做這種寫和更新這種改變,可以看到同步他的索引。一般情況下這項技術(shù)是客戶數(shù)據(jù)庫建立好了之后,數(shù)據(jù)進來之后然后再去建索引。數(shù)據(jù)庫類型是一個查詢類型的數(shù)據(jù)庫,是比較適合這樣的場景。
甲骨文談SmartFlashCache技術(shù)
第二個技術(shù),從Oracle數(shù)據(jù)庫從11gR2版本開始,Oracle數(shù)據(jù)庫支持這項SmartFlashCache這個技術(shù)給Oracle帶來性能提升從2倍提升到5倍,他是智能動態(tài)應(yīng)用,管理起來非常方便、智能透明,對數(shù)據(jù)庫也是非常透明。同時可以把閃存和機械盤兩種介質(zhì)各自優(yōu)勢發(fā)揮出來,最大降低客戶成本,提高客戶他的數(shù)據(jù)庫的性能,提高效率。
Oracle數(shù)據(jù)庫有一個很重要的區(qū)就是共享全局區(qū),是Oracle把所有他的I/O處理等等這些所有I/O放到這個共享全局區(qū)里邊去。這個全局區(qū)是跟內(nèi)存有關(guān)系,內(nèi)存有一個問題,他的擴展性還有他的價格都是比較昂貴。甲骨文可以借助于Flash把他變成一個二級緩存,動態(tài)去擴展了他對SGA的區(qū),把他這個區(qū)變得很大。也就是說把數(shù)據(jù)盡量的去放在SGA區(qū)里去,加大整個的Oracle數(shù)據(jù)庫的一個查詢的數(shù)。
集成式的工程一體化解決方案
分級存儲與SmartFlashCache技術(shù)都是解決數(shù)據(jù)讀取問題,這兩種數(shù)據(jù)都比較適合部署客戶偏讀性的場景,比如分析型數(shù)據(jù)庫,數(shù)據(jù)倉庫,數(shù)據(jù)查詢型。對傳統(tǒng)的這種我們像日志型的,事務(wù)型的數(shù)據(jù)庫,比較適合第三種。第三種我們看到像集成式的工程一體化解決方案,還有Exadata,它的存儲是比較特殊的一種存儲。他是由DB服務(wù)器和存儲服務(wù)器兩種設(shè)備組成,DB服務(wù)器就是Oracle的X86服務(wù)器,目前最新是有兩臺或者八臺的X86服務(wù)器組成。
最后孫浩談了Oracle存儲,Oracle有他自獨特的存儲,在設(shè)計上完全是遵循了Oracle公司的一個理念。其存儲產(chǎn)品的戰(zhàn)略完全是基于Oracle的軟件,Oracle存儲上結(jié)合軟件就最快最有效。Oracle存儲為什么能使Oracle數(shù)據(jù)庫運行起來非常快,又非常有效,這個得益于Oracle公司在08年首創(chuàng)一個技術(shù)就是混合存儲池的技術(shù)。他舉例說“Oracle推出一個存儲產(chǎn)品就是ZS3這個系列,存儲它的特點是比較怪,我們很多客戶看到他的參數(shù)和其他的存儲廠商的硬件參數(shù)區(qū)別很大。首先看一下他的控制器,他的終端存儲和高端存儲配置他的CPU的核數(shù)有32核,高端80多核,你看他的內(nèi)存,中端1TB,高端2TB。他如果到2TB的Cache來講,Oracle定位這個存儲產(chǎn)品,他是一個中高蛋的存儲產(chǎn)品。他先面有一個Flash,分讀寫的Flash,Oracle公司把CPU、內(nèi)存和Flash作為處理存儲I/O的主要的介質(zhì)。所以說我們可以看到他做的是非常的大,可以看到他底下的硬盤配置很簡單,僅僅只有兩種硬盤,一種是1萬轉(zhuǎn),還有7200轉(zhuǎn)。Oracle的存儲跑Oracle數(shù)據(jù)庫來講跑的效果非常好,通過這種控制器和閃存提供強大的馬力。”
甲骨文談混合存儲池的技術(shù)
這項技術(shù)細致了解一下,混合存儲池技術(shù)和StoragePools的技術(shù),F(xiàn)lash在這里頭起了什么作用?Flash他是讀寫區(qū)分,分讀Cache和寫Cache。他讀Cache是放在控制器里頭,寫Cache放到這里。2TB內(nèi)存情況下再繼續(xù)加大到10TB級別的空間,相當(dāng)于做一個二級緩存,交給內(nèi)存去處理,緩存數(shù)據(jù)空間不夠,就把他弄到二級緩存上去。但是寫緩存,我們采用非??斓膯文さ牧薢FS,快速寫入新數(shù)據(jù)到DRAM閃存池,利用咱們磁盤大的吞吐量的優(yōu)點。借助混合存儲池,這里有SPC-2和SPECsfs的指標(biāo)。原則上他本身是一個統(tǒng)一存儲,在NAS環(huán)境下優(yōu)勢很好,在SAS環(huán)境下他的大的吞吐量表現(xiàn)非常好。
在去年的測試是世界第一,但是今年我們看到有一個新的廠商做全閃存陣列廠商超過了我們,我們最新排名是第二和第三。這兩個指標(biāo)體現(xiàn)什么問題?一個就是我跑Oracle數(shù)據(jù)庫性能如何,還有Oracle還有一個就是數(shù)據(jù)備份,我要看什么指標(biāo)?就是SPC-2??梢钥吹絆racle推出全新的理念,就是用InfiniBand這種連接方式。另外可以看到Oracle存儲提供一個協(xié)議,Oracle12C在部署存儲的時候,不像傳統(tǒng)需要做存儲級別的調(diào)優(yōu)。很多項目里頭,我們要去部署一臺Oracle數(shù)據(jù)庫一個服務(wù)器,他后面接的存儲需要一個存儲專家把我們存儲做一個非常專業(yè)的規(guī)劃,我們是分級存儲,我們的Flash,機械磁盤我們怎么去用,都需要非常專業(yè)的規(guī)劃,但是我們可以看到在Oracle,開發(fā)的智能存儲協(xié)議,以后Oracle公司的DBA部署他的數(shù)據(jù)庫的時候,它的存儲不需要做任何的調(diào)優(yōu)。打個比喻,好象我們在使用單反照相機和傻瓜式照相機。專業(yè)人士做一個細微的調(diào)整,才可以作出專業(yè)照片。我們業(yè)余愛好者用傻瓜相機把畫面拍的很好。他的存儲的設(shè)計方向完全是面向于咱們的Oracle的DBA。他在使用Flash的時候,我控制文件還有數(shù)據(jù)文件還有歸檔,還是你做備份,你的Flash到底怎么用,用還是不用,全部交給OISP自動化完成,減少65%的數(shù)據(jù)庫和存儲調(diào)優(yōu)時間。
可以看一下Oracle存儲針對于Flash,就是結(jié)合Flash存放和部署針對于Oracle數(shù)據(jù)庫是熱數(shù)據(jù)、暖數(shù)據(jù)還是冷數(shù)據(jù)做一個自動遷移,這和我們存儲技術(shù)做的層面不一樣,存儲是做一個存儲池,做一個打包,自動完成。然后他自己也開發(fā)一個功能,把這個部署在閃存上還是1.5萬個盤,他是通過數(shù)據(jù)庫層面完成。他是針對Oracle12C的一個技術(shù)做的更準(zhǔn)確。我們可以看到他有一個更好的地方,他可以結(jié)合混量壓縮,他可以把數(shù)據(jù)庫壓縮到10-50倍,比傳統(tǒng)的存儲的技術(shù)壓縮比例要高很多。
最后孫浩對這三種模式做一個對比,什么樣的情況下客戶適用于什么樣的場景,如果客戶還是用老的版本,建議他用第一種解決方案。Oracle數(shù)據(jù)庫是用以后的版本,可以根據(jù)他的投資預(yù)算用后面的解決方案。最佳的解決方案除了Exadata比較昂貴,ZFS存儲加一個傳統(tǒng)的服務(wù)器,也是很好的解決方案,極致提高了咱們的數(shù)據(jù)庫去更好的把閃存用好。從Oracle數(shù)據(jù)庫層面以及存儲里面寫Flash還有讀的Flash從上到下完全全面整個的全面加速,把閃存最極致的優(yōu)化。
閃存針對于I/O數(shù)據(jù)庫帶來的優(yōu)勢比較明顯,Oracle針對閃存優(yōu)化技術(shù)有一個非常獨特的優(yōu)勢,Oracle為用戶提供一個最佳的解決方案去加速數(shù)據(jù)庫、提高生產(chǎn)力、效率和業(yè)務(wù)響應(yīng)。另外Oracle閃存優(yōu)化技術(shù)是多維度,不僅是從Oracle數(shù)據(jù)庫應(yīng)用一方,還有服務(wù)器這一層,還有存儲這一層,更寬的緯度進行閃存進行一個優(yōu)化??梢钥吹絆racle提供的是最佳軟件,完全是智能、透明、動態(tài)和高效,數(shù)據(jù)庫管理員不需要很高的技術(shù)能力,完全是自動化透明做成部署。最后可以看到利用整個Oracle整個閃存的優(yōu)化技術(shù),大幅降低了客戶的投資,同時利用這些完全自動化的技術(shù)還有降低更多成本,降低客戶的日常管理成本。