从ODA看一体机的木桶理论
中考剛結(jié)束,先講個高考期間網(wǎng)上流傳的的笑話——2012高考數(shù)學(xué)壓軸題:姚明、黃曉明、郭敬明,三人躺在地上能否組成一個三角形?
這笑話很沒品,但是這三個中國最著名的“小明”,分別是富、帥富、高帥富的代言人,拿他們調(diào)侃下絕對不能算欺負(fù)弱勢群體,至多是羨慕嫉妒恨。
最關(guān)鍵是激發(fā)了我的不靠譜想象力,關(guān)于所謂“一體機(jī)”的木桶理論。
盡人皆知的木桶理論是說,一只木桶能盛多少水,并不取決于最長的那塊木板,而是取決于最短的那塊木板?!白疃贪濉痹缫驯粡V泛用于形容組織和個人應(yīng)均衡發(fā)展,這里就不賣弄啦。
如果換個角度“刨”一下,能不能做成個像樣的木桶,木板的數(shù)量也很重要。兩塊木板基本做不成一個木桶(就算半圓形的,也得有塊做底不是),三塊木板也未必拼得到一起(見上面的笑話)。
如果木板的數(shù)量夠多,就算個別木板稍微短一些,做成的木桶(或者木盆?)也可以盛更多的水。
有足夠多的木板就可以自己做木桶,不然就得找其他有木板的合作。
現(xiàn)在終于可以切入正題了,探討一下Oracle的工程系統(tǒng)(Engineered System)——通稱“集成系統(tǒng)”,俗稱“一體機(jī)”。
本文可以說是去IOE:去掉“IE”就Ok?一文的延續(xù)?!叭ァ蔽囊欢ǔ潭壬戏治隽薕racle為什么要做一體機(jī),本文接著以O(shè)racle數(shù)據(jù)庫機(jī)(Oracle Database Appliance,ODA)為例,來看看Oracle的一體機(jī)是怎么做的,以及其他“箍桶匠”可奈它何?
Oracle最有名的一體機(jī)當(dāng)然是推出時間最久的Exadata,里面蘊(yùn)含的技術(shù)點較多,阿里巴巴數(shù)據(jù)庫架構(gòu)師張瑞(網(wǎng)名HelloDBA)參與翻譯的《Expert Oracle Exadata》一書有相當(dāng)詳盡的剖析,不是本文的重點。去年推出的ODA可以看作是入門版的Exadata,相對簡單,從而更具代表性和借鑒意義。
Exadata Database Machine直譯過來是“數(shù)據(jù)庫機(jī)”,而Oracle Database Appliance直譯應(yīng)該是“數(shù)據(jù)庫設(shè)備”,“機(jī)”的概念大于“設(shè)備”也更復(fù)雜,體現(xiàn)了命名的嚴(yán)謹(jǐn),不像現(xiàn)在的中文名般關(guān)系錯亂
按照Oracle的定義,Oracle數(shù)據(jù)庫機(jī)是全面集成了Oracle數(shù)據(jù)庫軟件和服務(wù)器、存儲、網(wǎng)絡(luò)系統(tǒng)的一體化數(shù)據(jù)庫設(shè)備。“全部作為一個完整的系統(tǒng)設(shè)計在一起,無需組裝或布線。要使用Oracle 數(shù)據(jù)庫機(jī),只需打開包裝,插上電源線,插上網(wǎng)線,為其命名,然后安裝Oracle設(shè)備管理器軟件,即可快速創(chuàng)建一個集群化、高度可用的數(shù)據(jù)庫系統(tǒng)。”
用戶配置好ODA的主要參數(shù)之后,經(jīng)過約2小時的全自動初始化過程,就可以使用Oracle RAC數(shù)據(jù)庫了
這么說還是有些含糊,不妨先看看Oracle數(shù)據(jù)庫機(jī)這個“木桶”用了那些主要的木板,長度如何,以及Oracle是怎么“箍桶”的……
ODA附帶的軟件,操作系統(tǒng)是預(yù)裝好的,其他軟件根據(jù)用戶選擇的配置參數(shù)和授權(quán)狀況,自動化的安裝
操作系統(tǒng):預(yù)裝的Oracle Linux 5.5基于Red Hat Enterprise Linux(RHEL),不能算長板,起碼不是短板;
數(shù)據(jù)庫:Oracle數(shù)據(jù)庫可以說是世界上最好的商用數(shù)據(jù)庫,絕對的長板,也是Oracle能夠做Exadata和ODA的根本。ODA和Exadata一樣運(yùn)行Oracle數(shù)據(jù)庫11g R2企業(yè)版,并可配置為Oracle RAC(Real Application Clusters,真正應(yīng)用集群)提供計算節(jié)點的擴(kuò)展性與高可用,或者Oracle RAC One Node用于主備模式的故障切換系統(tǒng);
Oracle數(shù)據(jù)庫機(jī)的硬件平臺是4U的Sun Fire X4370 M2服務(wù)器
計算、網(wǎng)絡(luò)、存儲:都在一臺4U的Sun Fire X4370 M2服務(wù)器中搞定。X4370 M2由2個x86服務(wù)器節(jié)點組成,每節(jié)點配備雙路英特爾至強(qiáng)X5675 CPU(3.06GHz),提供12個按需啟用的處理器內(nèi)核和96GB DDR3-1333內(nèi)存,因此共有24個內(nèi)核和192GB內(nèi)存。默認(rèn)激活所有24個內(nèi)核,但一開始企業(yè)可以只激活兩個內(nèi)核(兩節(jié)點各激活一個以提供冗余)。如需更多內(nèi)核,可以隨時以四核為增量(在兩節(jié)點間均勻地)逐步激活。
這2個服務(wù)器節(jié)點通過一個內(nèi)部冗余的千兆以太網(wǎng)(GbE)互聯(lián)實現(xiàn)集群通信,從而無需專門的網(wǎng)絡(luò)設(shè)備。每個服務(wù)器節(jié)點還提供1GbE和10GbE外部網(wǎng)絡(luò)連接,從而能與任何數(shù)據(jù)中心兼容。
運(yùn)行中的Oracle數(shù)據(jù)庫機(jī),最上面一行4個73GB SSD,下面5行共20個600GB硬盤驅(qū)動器,皆為3.5英寸規(guī)格
Oracle數(shù)據(jù)庫機(jī)在這2個服務(wù)器節(jié)點間共享24個3.5英寸SAS驅(qū)動器,包括20個600GB 15K SAS硬盤驅(qū)動器組成的高可用共享存儲,還有4個73GB SAS固態(tài)盤(SSD)用于重做(Redo)日志,設(shè)備管理器連同Oracle自動存儲管理(Automatic Storage Management,ASM)可自動配置、管理和監(jiān)控磁盤的性能和可用性。ASM提供存儲的擴(kuò)展性與高可用,是RAC的好搭檔。不過,需要說明的是,這個擴(kuò)展性與高可用是ODA內(nèi)部兩個節(jié)點之間的,ODA本身并不能再向外擴(kuò)展。如果需要更大的規(guī)模和可擴(kuò)展性,就要轉(zhuǎn)移到Exadata了。
計算和存儲是影響數(shù)據(jù)庫性能的兩大要素。相對于計算而言,存儲I/O通常是瓶頸。Exadata在其基于x86架構(gòu)的存儲服務(wù)器中采用了PCIe閃存加速卡(屬于SSD的一種)作為Cache,可以大幅提高(隨機(jī))讀性能。雖然與“去IOE”陣營常用的Fusion-io?ioDrive系列PCIe SSD相比,Sun基于“RAID控制器+Marvell閃存控制芯片”架構(gòu)的PCIe閃存加速卡不太夠格,但已經(jīng)比基于傳統(tǒng)磁盤陣列的方案要好很多(Exadata存儲服務(wù)器的優(yōu)勢不僅于此,非我們討論的主題),體現(xiàn)了整體理念先進(jìn)的重要性。
ODA的73GB SAS SSD(上,應(yīng)該是STEC的SLC產(chǎn)品)和600GB的15000RPM SAS硬盤驅(qū)動器(下,很可能是希捷Cheetah 15K.7)
理論上ODA也可以使用PCIe閃存加速卡,可能是出于成本和簡化架構(gòu)的考慮,代之以4個73GB的SAS SSD。SSD在ODA中的作用是保存Redo日志,而Exadata是將Redo日志同時寫入PCIe閃存卡和硬盤驅(qū)動器。原因在于Redo日志以寫入為主,而閃存更適合以讀為主的場景,一是寫性能沒有讀性能那么出色,二是寫入一定數(shù)據(jù)量之后可能會發(fā)生抖動(性能不穩(wěn)定)。ODA這么做,除了簡化架構(gòu)的考慮,也不排除所采用的SAS SSD控制器技術(shù)成熟,能夠很大程度上避免寫入的抖動。
20個600GB SAS硬盤驅(qū)動器全部用于數(shù)據(jù)庫的存儲,ASM采用三重鏡像的方式提供數(shù)據(jù)冗余,因此實際可用容量為4TB(12TB÷3)。ODA還采用將“生產(chǎn)數(shù)據(jù)存放在磁盤的外道,備份數(shù)據(jù)存放在磁盤的內(nèi)道”的方式來優(yōu)化性能,加上內(nèi)置SAS背板48Gb/s的高帶寬,能夠達(dá)到隨機(jī)訪問(OLTP)4000多的IOPS,順序訪問(OLAP)3000MB/s以上的吞吐率,可以說已經(jīng)把20個15K RPM硬盤驅(qū)動器的性能發(fā)揮到極致了(每個200多IOPS,150MB/s以上持續(xù)傳輸率)。
Oracle提供的ODA性能測試數(shù)據(jù)
通過上面的分析,不難看出,ODA沒有Exadata那么高的技術(shù)含量,更像是一個小型的Oracle數(shù)據(jù)庫“最佳實踐”。特殊之處在于,Oracle將自己對數(shù)據(jù)庫的最佳實踐打包成了一個軟硬件一體化的“設(shè)備”(Appliance),用戶拿到ODA后只需配置幾個主要參數(shù),等待約2小時初始化完成,即可投入使用,擺明是要搶硬件廠商和系統(tǒng)集成商的飯碗。
用來與ODA對比的“傳統(tǒng)架構(gòu)”也是Oracle數(shù)據(jù)庫的解決方案,更具可比性的同時,也體現(xiàn)出沒把微軟SQL Server放在眼里。Oracle并不諱言,ODA會搶系統(tǒng)集成商的飯碗——“只要對用戶有利”
從軟件的層面看,有足夠經(jīng)驗的系統(tǒng)集成商要做到類似于ODA的效果并不難。有豐富Oracle數(shù)據(jù)庫和Linux經(jīng)驗的人相對好找,ASM也可以用其他的卷管理和文件系統(tǒng)(如Symantec的VxVM和VxFS)等專業(yè)存儲軟件替換,還能獲得更高的存儲空間利用率(相對ASM的三重鏡像而言)。如果再具備一定的開發(fā)能力,要做到把軟件預(yù)配置好,幾個小時完成初始化,也不是不可能的事。
問題是要做到如ODA一般的快速部署,僅僅軟件集成還不夠,硬件也得預(yù)先集成。如果用標(biāo)準(zhǔn)的x86服務(wù)器,至少需要2臺,到了客戶現(xiàn)場還要連線、配置冗余網(wǎng)絡(luò),技術(shù)難度并不高,但是很麻煩。像Sun Fire X4370 M2這樣一個機(jī)箱里集成了2個服務(wù)器節(jié)點和冗余網(wǎng)絡(luò)連接,且擁有很多驅(qū)動器槽位(計算、網(wǎng)絡(luò)、存儲)的服務(wù)器,不是隨便可以買到的(Supermicro的類似產(chǎn)品未必合用)。就算Oracle肯賣,又怎么跟它競爭?
硬件上的問題,Dell這樣的服務(wù)器大廠可以搞定,也有足夠的整合能力,解決Oracle數(shù)據(jù)庫最佳實踐的軟件經(jīng)驗問題??墒?#xff0c;把Oracle數(shù)據(jù)庫做成一體機(jī),然后與Oracle的數(shù)據(jù)庫機(jī)競爭,恐怕只會比系統(tǒng)集成商的處境更尷尬。
可行的途徑,是和微軟合作,推出SQL Server的一體機(jī)。上一段舉例沒有HP(IBM有自己的DB2和Power,策略也不同,超出本文討論范圍),正是因為HP采用了與微軟合作的策略。
Exadata的第一代產(chǎn)品,硬件就來自于HP。Oracle選擇HP作為合作伙伴,不是沒有緣由的。HP在x86服務(wù)器上的積累,非Sun可比,特別是系統(tǒng)管理能力,Dell也有一定差距。第二代Exadata的硬件換成Sun,原因不需要說。被拋棄的HP,既有做一體機(jī)的意愿,又積累了不少經(jīng)驗,是微軟理想的合作伙伴。
大約一年前,HP發(fā)布了一系列的AppSystems,包括4款為微軟SQL Server 2008 R2優(yōu)化的“Appliance”,分別面向不同的用途(業(yè)務(wù)決策、企業(yè)數(shù)據(jù)倉庫、業(yè)務(wù)數(shù)據(jù)倉庫、數(shù)據(jù)庫整合)。當(dāng)時ODA尚未問世,但Exadata已經(jīng)確立了兼具OLTP和數(shù)據(jù)倉庫能力,支持混合工作負(fù)載,支持?jǐn)?shù)據(jù)庫整合,主要以規(guī)模劃分的路線。雙方的硬件平臺也有一定區(qū)別,各自基于不同的考慮,這里不做評論。
在微軟SQL Server 2012合作解決方案的頁面里,HP能提供的一體機(jī)仍然基于上一代的SQL Server 2008 R2
SQL Server的市場地位低于Oracle數(shù)據(jù)庫,如果只選一家硬件合作伙伴,那么在一體機(jī)市場上,很難與Oracle的數(shù)據(jù)庫機(jī)(Exadata/ODA)組合相抗衡。因此,除了HP,微軟還要積極開發(fā)其他的合作伙伴——譬如Dell?,F(xiàn)在Dell已經(jīng)公布了建立在其新一代PowerEdge服務(wù)器(基于英特爾至強(qiáng)E5-2600系列CPU)之上,名為“SQL Server 2012 Fast Track”的參考架構(gòu),但還很不夠。要對Oracle的數(shù)據(jù)庫機(jī)構(gòu)成實質(zhì)性的威脅,羞答答的“參考架構(gòu)”或“最佳實踐”是不給力的,微軟的步子必須邁得更大些,不要怕扯……(據(jù)說Dell的SQL Server 2012一體機(jī)會在下半年推出,HP也該及時更新吧)
甲骨文CEO拉里·埃里森(Larry Ellison)與蘋果大神喬布斯(Steve Jobs)有著很好的私交,雙方都認(rèn)同軟硬件一體化的集成設(shè)計思路。蘋果已經(jīng)取得了成功,Oracle正在路上。如果說Oracle是數(shù)據(jù)庫一體機(jī)市場上的蘋果,那SQL Server能否成為Android?
有了箍桶的手藝,木板自給自足,還是兩家合作……最終仍然要看,誰做出來的木桶,更符合客戶的需求吧?
總結(jié)
以上是生活随笔為你收集整理的从ODA看一体机的木桶理论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 去IOE:去掉“IE”就Ok?
- 下一篇: 归档日志满导致ORA-13516错误,A