Oracle RAC中錯(cuò)誤觀點(diǎn)出現(xiàn)的原因
Oracle RAC中最常見(jiàn)的錯(cuò)誤觀點(diǎn)是因?yàn)檎`解了Oracle RAC的功能與限制。以下的文章就是列舉一些關(guān)于Oracle RAC中最常見(jiàn)的錯(cuò)誤觀點(diǎn)中經(jīng)常出現(xiàn)的一些錯(cuò)誤的觀點(diǎn),以下就是文章的相關(guān)內(nèi)容的介紹。
Oracle RAC 幾個(gè)常見(jiàn)的錯(cuò)誤觀點(diǎn)
由于最終用戶習(xí)慣于獲得瞬間響應(yīng)時(shí)間,Oracle為其產(chǎn)品提供持續(xù)可用性方面受到了***的挑戰(zhàn)。那些在Redwood Shores(譯者注:Oracle公司總部所在地)的家伙們提供了一個(gè)重要的工具這就是什么是RAC?簡(jiǎn)單來(lái)說(shuō)就是一套允許單個(gè)數(shù)據(jù)庫(kù)被多份oracle程序同時(shí)訪問(wèn)的軟件工具。
如果一個(gè)服務(wù)器崩潰了,事務(wù)能夠在最短的down機(jī)時(shí)間內(nèi)被重定向到其他存活的服務(wù)器上的宣傳稱(chēng)RAC是治愈多種疾病的良藥,而IT廠家則會(huì)對(duì)這樣的市場(chǎng)宣傳產(chǎn)生誤解,從而無(wú)法正確區(qū)別在高可用環(huán)境(HA)中使用RAC的成本和收益。
最常見(jiàn)的Oracle RAC錯(cuò)誤觀點(diǎn)在于誤解了它的功能和限制。Oracle Real Application Clusters被作為綜合能力規(guī)劃戰(zhàn)略的一部分,但是人們并不完全明了其技術(shù)上的強(qiáng)項(xiàng)和限制。下面列舉一些關(guān)于這項(xiàng)技術(shù)的常見(jiàn)誤解。
是為了提供擴(kuò)展性的盡管Oracle公司希望你買(mǎi)小型刀片服務(wù)器然后使用他們的網(wǎng)格計(jì)算方案來(lái)獲得“水平擴(kuò)展”,但是實(shí)際上這并不是多數(shù)用戶使用RAC的方法。注意:RAC只是在超大型IT部門(mén)需要超過(guò)單個(gè)服務(wù)器提供極限的更多馬力時(shí)的一種正統(tǒng)擴(kuò)展方法。
作為Oracle***實(shí)踐,要通過(guò)“垂直擴(kuò)展”先進(jìn)行單個(gè)服務(wù)器的擴(kuò)容,先向上擴(kuò)展再向外擴(kuò)展。只有在你使單個(gè)服務(wù)器容量飽和之后再考慮“scale out”到多個(gè)服務(wù)器上。今天,單個(gè)服務(wù)器的內(nèi)存和CPU馬力比起前幾年來(lái)說(shuō)有了突飛猛進(jìn),因此比起往RAC環(huán)境中添加一個(gè)新服務(wù)器而言,增加單個(gè)機(jī)器的資源更加簡(jiǎn)單。
在真實(shí)環(huán)境中,單個(gè)服務(wù)器能夠處理每秒上千次的事務(wù)。只有世界上***的那些Oracle數(shù)據(jù)庫(kù)需要擴(kuò)展到使用RAC。
Oracle RAC是獨(dú)立的高可用解決方案
記住RAC只能保護(hù)你免于實(shí)例失效,這僅僅是眾多可能引起非計(jì)劃性中斷的原因之一。為了真正的持續(xù)可用性,我們還必須部署多重鏡像磁盤(pán)和冗余網(wǎng)絡(luò)組件。
為了每個(gè)RAC節(jié)點(diǎn)的可用性,需要多個(gè)冗余的主機(jī)總線適配器,多個(gè)網(wǎng)卡以及多個(gè)電源。就算只是在數(shù)據(jù)庫(kù)實(shí)例產(chǎn)生了failover,你也需要提供軟件以允許多個(gè)主機(jī)總線適配器自動(dòng)failover,并且提供單個(gè)組件失效通知。
就像我們已經(jīng)提到的,RAC系統(tǒng)需要一個(gè)cluster interconnect來(lái)提供內(nèi)存對(duì)內(nèi)存(RAM-to-RAM)的數(shù)據(jù)塊傳輸。Interconnect必須非??焖伲仨氂懈邘捄偷脱舆t。Interconnects包括
Cache fusion上的瓶頸也是為什么RAC擴(kuò)展或者說(shuō)水平擴(kuò)展有問(wèn)題的另外一個(gè)原因。如果你的cluster interconnect無(wú)法處理這樣的流量,那么額外的服務(wù)器將會(huì)降低整個(gè)系統(tǒng)的性能而不是提升它。解決這個(gè)問(wèn)題的唯一辦法就是改造應(yīng)用以適應(yīng)RAC,或者采購(gòu)更快的存儲(chǔ)比如說(shuō)固態(tài)硬盤(pán)。
保證了快速響應(yīng)時(shí)間事務(wù)響應(yīng)時(shí)間總是重要的,但是它對(duì)于RAC數(shù)據(jù)庫(kù)來(lái)說(shuō)尤為重要。這是因?yàn)樵谶B接階段為了探測(cè)是否一個(gè)RAC節(jié)點(diǎn)或者機(jī)器已經(jīng)失效而消耗了等待時(shí)間,因此你必須保證新事務(wù)要小于1秒時(shí)間這樣才能保證2秒的failover時(shí)間。
Oracle RAC不需要災(zāi)難恢復(fù)組件除了在少數(shù)案例中使用了DWDM技術(shù)(也就是dark fiber),你仍然需要?jiǎng)?chuàng)建一份災(zāi)難恢復(fù)解決方案。因?yàn)镽AC節(jié)點(diǎn)通常只間隔數(shù)英里,像颶風(fēng)這樣的自然災(zāi)害還是能夠引起全局中斷。因此RAC***實(shí)踐中還是要包含一份地理上的快速失效接管解決方案,比如Data Guard或者更好一些,多路流復(fù)制。
【編輯推薦】