當(dāng)前物理CPU正遵循摩爾定律在穩(wěn)定的高速發(fā)展,然而人類對計(jì)算能力的要求更高,一方面應(yīng)用對計(jì)算能力要求超過摩爾定律的速度,另外一方面要求提高計(jì)算能力的使用效率,這都離不開軟件的協(xié)助。虛擬化和分布式都是現(xiàn)在流行的架構(gòu),他們代表著兩個不同的發(fā)展方向:虛擬化——一臺機(jī)器分成多臺機(jī)器用;分布式——多臺機(jī)器合成一臺機(jī)器用。正可謂“天下大勢,分久必合,合久必分”。
一、分布式架構(gòu)發(fā)展和現(xiàn)狀
1.從SMP到MPP
從系統(tǒng)架構(gòu)來看,目前的商用服務(wù)器主要分為三類,對稱多處理器結(jié)構(gòu)SMP,非一致存儲訪問結(jié)構(gòu)NUMA以及海量并行處理結(jié)構(gòu)MPP。
SMP(Symmetric Multi-Processor)
所謂對稱多處理器結(jié)構(gòu),是指服務(wù)器中多個CPU對稱工作,無主次或從屬關(guān)系。各CPU共享相同的物理內(nèi)存,每個CPU訪問內(nèi)存中的任何地址所需時間是相同的,因此SMP也被稱為一致存儲器訪問結(jié)構(gòu)(UMA:Uniform Memory Access)。
SMP服務(wù)器的主要特征是共享,系統(tǒng)中所有資源(CPU、內(nèi)存、I/O等)都是共享的。也正是由于這種特征,導(dǎo)致了SMP服務(wù)器的主要問題,那就是它的擴(kuò)展能力非常有限。
NUMA(Non-Uniform Memory Access)
由于SMP在擴(kuò)展能力上的限制,人們開始探究如何進(jìn)行有效地?cái)U(kuò)展從而構(gòu)建大型系統(tǒng)的技術(shù),NUMA就是這種努力下的結(jié)果之一。利用NUMA技術(shù),可以把幾十個CPU(甚至上百個CPU)組合在一個服務(wù)器內(nèi)。
NUMA服務(wù)器的基本特征是具有多個CPU模塊,每個CPU模塊由多個CPU(如4個)組成,并且具有獨(dú)立的本地內(nèi)存、I/O槽口等。由于其節(jié)點(diǎn)之間可以通過互聯(lián)模塊(如稱為Crossbar Switch)進(jìn)行連接和信息交互,因此每個CPU可以訪問整個系統(tǒng)的內(nèi)存。顯然,訪問本地內(nèi)存的速度將遠(yuǎn)遠(yuǎn)高于訪問遠(yuǎn)地內(nèi)存(系統(tǒng)內(nèi)其它節(jié)點(diǎn)的內(nèi)存)的速度,這也是非一致存儲訪問NUMA的由來。由于這個特點(diǎn),為了更好地發(fā)揮系統(tǒng)性能,開發(fā)應(yīng)用程序時需要盡量減少不同CPU模塊之間的信息交互。利用NUMA技術(shù),可以較好地解決原來SMP系統(tǒng)的擴(kuò)展問題,在一個物理服務(wù)器內(nèi)可以支持上百個CPU。比較典型的NUMA服務(wù)器的例子即我們常說的小機(jī)例如HP的Supterdome和IBM的Power服務(wù)器。
但NUMA的節(jié)點(diǎn)互聯(lián)機(jī)制是在同一個物理服務(wù)器內(nèi)部實(shí)現(xiàn)的,當(dāng)某個CPU需要進(jìn)行遠(yuǎn)地內(nèi)存訪問時,它必須等待,這也是NUMA服務(wù)器無法實(shí)現(xiàn)CPU增加時性能線性擴(kuò)展的主要原因。2013年年度備受矚目的“淘寶去IOE”的原因也在此。在IBM的小機(jī)和Oracle數(shù)據(jù)庫的組合下,淘寶通過硬件升級獲得的性能增長達(dá)到了瓶頸,無法滿足客戶的爆發(fā)性增長。
MPP(Massive Parallel Processing)
和NUMA不同,MPP提供了另外一種進(jìn)行系統(tǒng)擴(kuò)展的方式,它由多個SMP服務(wù)器通過一定的節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)進(jìn)行連接,協(xié)同工作,完成相同的任務(wù),從用戶的角度來看是一個服務(wù)器系統(tǒng)。其基本特征是由多個SMP服務(wù)器(每個SMP服務(wù)器稱節(jié)點(diǎn))通過節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)連接而成,每個節(jié)點(diǎn)只訪問自己的本地資源(內(nèi)存、存儲等),是一種完全無共享(Share Nothing)結(jié)構(gòu),因而擴(kuò)展能力最好,理論上其擴(kuò)展無限制(如圖1所示)。目前的技術(shù)可實(shí)現(xiàn)512個節(jié)點(diǎn)互聯(lián),數(shù)千個CPU。目前業(yè)界對節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)暫無標(biāo)準(zhǔn),如 NCR的Bynet,IBM的SPSwitch,它們都采用了不同的內(nèi)部實(shí)現(xiàn)機(jī)制。但節(jié)點(diǎn)互聯(lián)網(wǎng)僅供MPP服務(wù)器內(nèi)部使用,對用戶而言是透明的。
在MPP系統(tǒng)中,每個SMP節(jié)點(diǎn)也可以運(yùn)行自己的操作系統(tǒng)、數(shù)據(jù)庫等。但和NUMA不同的是,它不存在異地內(nèi)存訪問的問題。換言之,每個節(jié)點(diǎn)內(nèi)的CPU不能訪問另一個節(jié)點(diǎn)的內(nèi)存。節(jié)點(diǎn)之間的信息交互是通過節(jié)點(diǎn)互聯(lián)網(wǎng)絡(luò)實(shí)現(xiàn)的,這個過程一般稱為數(shù)據(jù)重分配(Data Redistribution)。
但是MPP服務(wù)器需要一種復(fù)雜的機(jī)制來調(diào)度和平衡各個節(jié)點(diǎn)的負(fù)載和并行處理過程。目前一些基于MPP技術(shù)的服務(wù)器往往通過系統(tǒng)級軟件(如數(shù)據(jù)庫)來屏蔽這種復(fù)雜性。例如NCR的Teradata就是基于MPP技術(shù)的一個關(guān)系數(shù)據(jù)庫軟件,基于此數(shù)據(jù)庫來開發(fā)應(yīng)用時,不管后臺服務(wù)器由多少個節(jié)點(diǎn)組成,開發(fā)人員所面對的都是同一個數(shù)據(jù)庫系統(tǒng),而不需要考慮如何調(diào)度其中某幾個節(jié)點(diǎn)的負(fù)載。
MPP以其優(yōu)良的擴(kuò)展架構(gòu)成為了分布式架構(gòu)的基礎(chǔ)。
圖1 MPP服務(wù)器架構(gòu)圖
2.分布式架構(gòu)應(yīng)用現(xiàn)狀
當(dāng)前主流的分布式應(yīng)用有兩種:分布式數(shù)據(jù)庫和Hadoop分布式系統(tǒng)。兩種解決方案對比如表1所示。
表1 分布式數(shù)據(jù)庫和Hadoop分布式系統(tǒng)的對比
MPP分布式數(shù)據(jù)庫較Hadoop分布式系統(tǒng),在復(fù)雜邏輯的結(jié)構(gòu)化數(shù)據(jù)處理上具有一定的優(yōu)勢,且可基于SQL開發(fā),對于有較豐富SQL經(jīng)驗(yàn)的系統(tǒng)開發(fā)者,開發(fā)與運(yùn)維更容易。當(dāng)然,業(yè)界MPP分布式數(shù)據(jù)庫產(chǎn)品價格也要高于Hadoop這個源于開源社區(qū)的產(chǎn)品。
這是否意味著MPP分布式數(shù)據(jù)庫就是大數(shù)據(jù)處理的最佳解決方案呢?我們以銀行系統(tǒng)數(shù)據(jù)的價值密度和數(shù)據(jù)特征為例來考慮這個問題。對于銀行系統(tǒng)數(shù)據(jù),我們基本可以達(dá)成這樣一個共識:銀行系統(tǒng)數(shù)據(jù)中,結(jié)構(gòu)化數(shù)據(jù)價值密度通常高于非結(jié)構(gòu)化或半結(jié)構(gòu)化數(shù)據(jù),而在銀行數(shù)據(jù)中非結(jié)構(gòu)化數(shù)據(jù)占用了大量的存儲資源。這是因?yàn)殂y行系統(tǒng)中結(jié)構(gòu)化數(shù)據(jù)以賬務(wù)數(shù)據(jù)為主,而非結(jié)構(gòu)化數(shù)據(jù)則主要集中在憑證影像等數(shù)據(jù)。當(dāng)然結(jié)構(gòu)化數(shù)據(jù)中也包括部分日志信息等價值密度不高的數(shù)據(jù)。
數(shù)據(jù)存儲與處理技術(shù)在由“一種架構(gòu)支持所有應(yīng)用”向“多種架構(gòu)支持多類應(yīng)用”轉(zhuǎn)變。同樣對于數(shù)據(jù)消費(fèi)層數(shù)據(jù)處理技術(shù),也應(yīng)根據(jù)數(shù)據(jù)價值密度及數(shù)據(jù)特征等因素采用與之相匹配的架構(gòu)來支持。對于數(shù)據(jù)消費(fèi)層數(shù)據(jù)中那些價值密度高的交易及賬務(wù)數(shù)據(jù)可采用MPP分布式數(shù)據(jù)庫構(gòu)建數(shù)據(jù)處理平臺,而對于那些價值密度不高的結(jié)構(gòu)化數(shù)據(jù)和非(半)結(jié)構(gòu)化數(shù)據(jù)則可以采用Hadoop分布式系統(tǒng)作為處理平臺。
3.分布式局限性:CAP理論
如圖2所示,CAP原理中有三個要素:一致性(Consistency),可用性(Availability)和分區(qū)容忍性(Partition tolerance)。
圖2 CAP原理示意圖
CAP原理指的是在分布式系統(tǒng)中這三個要素最多只能同時實(shí)現(xiàn)兩點(diǎn),不可能三者兼顧。因此在進(jìn)行分布式架構(gòu)設(shè)計(jì)時,必須做出取舍。而對于分布式數(shù)據(jù)系統(tǒng),分區(qū)容忍性是基本要求,否則就失去了價值。因此設(shè)計(jì)分布式數(shù)據(jù)系統(tǒng),就是在一致性和可用性之間取一個平衡。對于大多數(shù)Web應(yīng)用,其實(shí)并不需要強(qiáng)一致性, 因此犧牲一致性而換取高可用性,是目前多數(shù)分布式數(shù)據(jù)庫產(chǎn)品的方向。
從客戶端角度,多進(jìn)程并發(fā)訪問時,更新過的數(shù)據(jù)在不同進(jìn)程如何獲取的不同策略,決定了不同的一致性。對于關(guān)系型數(shù)據(jù)庫,要求更新過的數(shù)據(jù)能被后續(xù)的訪問都能看到,這是強(qiáng)一致性。如果能容忍后續(xù)的部分或者全部訪問不到,則是弱一致性。如果經(jīng)過一段時間后要求能訪問到更新后的數(shù)據(jù),則是最終一致性。
但Web應(yīng)用也有例外,比如支付寶系統(tǒng),就要求數(shù)據(jù)(銀行賬戶)的強(qiáng)一致性,而且面對大量淘寶用戶,可用性要求很高,因此只能犧牲數(shù)據(jù)的分區(qū)冗余。
對于MPP DB而言,雖說是宣稱Scale out(橫向擴(kuò)展),但是這種out一般到100,而Hadoop一般可以到1000+。在我們的測試中,也發(fā)現(xiàn)線性擴(kuò)展性一項(xiàng)即使是在較小的節(jié)點(diǎn)數(shù)方面,也并未達(dá)到絕對的直線的性能。
這是為什么呢?我們大致可以從CAP理論上來找到一些理由。因?yàn)镸PP DB始終還是DB,一定要考慮C(Consistency),其次考慮A(Availability),最后才在可能的情況下盡量做好P(Partition-tolerance)。而Hadoop就是為了并行處理和存儲設(shè)計(jì)的,所以優(yōu)先考慮的是P,然后是A,最后再考慮C。所以后者的可擴(kuò)展性當(dāng)然好于前者。
二、虛擬化架構(gòu)發(fā)展和現(xiàn)狀
目前,虛擬化的價值已經(jīng)被廣泛認(rèn)可,虛擬化架構(gòu)也已經(jīng)為大家所熟知,本文不在這里贅述,僅探討一些關(guān)鍵的更新。
1.全融合虛擬化架構(gòu)
全融合虛擬化架構(gòu),也就是我們常說的軟件定義數(shù)據(jù)中心。從最直觀的定義來看,就是虛擬化、軟件化數(shù)據(jù)中心的一切資源。虛擬化是從服務(wù)器虛擬化開始的,虛擬機(jī)帶來的好處很多客戶都已經(jīng)非常了解。但是網(wǎng)絡(luò)、存儲是物理性很強(qiáng)的資源,虛擬機(jī)雖然帶來了一些靈活性,沒有辦法在其他資源上體現(xiàn)。只做計(jì)算虛擬化相當(dāng)于僅完成了整個工作的30%。軟件定義的數(shù)據(jù)中心就是把數(shù)據(jù)中心所有的傳統(tǒng)物理硬件的資源進(jìn)行虛擬化、軟件化,從而實(shí)現(xiàn)了資源的抽象和與硬件的解耦和,是實(shí)現(xiàn)云計(jì)算的基礎(chǔ)。
計(jì)算存儲融合
HDFS是Google公司的GFS的開源實(shí)現(xiàn),GFS是大數(shù)據(jù)的基礎(chǔ)。HDFS是分布式的文件系統(tǒng),即每臺服務(wù)器在只使用內(nèi)置硬盤的情況下,通過網(wǎng)絡(luò)互連,組建了一個由多個節(jié)點(diǎn)組成的,每個節(jié)點(diǎn)都同時使用并行文件系統(tǒng)。分布式文件系統(tǒng)是先進(jìn)支撐互聯(lián)網(wǎng)應(yīng)用的基礎(chǔ),無論是淘寶還是騰訊,都有一個基于開源,自己研發(fā)的,名叫TFS(巧合,都叫TFS)的分布式文件系統(tǒng)。TFS是支撐其海量數(shù)據(jù)的基礎(chǔ)。
Ceph是OpenStack中最流行的存儲管理模塊,同時支持文件體統(tǒng),塊設(shè)備和對象存儲。Ceph像一批黑馬,大有取代swift(對象存儲)和cinder(塊設(shè)備)的趨勢。
存儲產(chǎn)品本身也處在變革的過程中,SSD的出現(xiàn)徹底改變了傳統(tǒng)存儲。SSD作為緩存能夠極大的提升分布式文件系統(tǒng)的性能,通過互聯(lián)網(wǎng)已經(jīng)證明自己實(shí)力的文件系統(tǒng)必將在企業(yè)市場激起新的浪潮。
計(jì)算網(wǎng)絡(luò)融合
¡ SDN和VXLAN
SDN提出了采用軟件定義網(wǎng)絡(luò)的思路,具有轉(zhuǎn)發(fā)和控制分離、控制邏輯集中、網(wǎng)絡(luò)虛擬化、網(wǎng)絡(luò)能力開放化等特點(diǎn)。SDN實(shí)現(xiàn)的核心控制器,即可以是普通的物理服務(wù)器也可以是虛擬機(jī)。
VXLAN技術(shù)是為了解決數(shù)據(jù)中心虛擬多租戶和虛擬機(jī)遷移的問題而設(shè)計(jì)的。VXLAN技術(shù)采用了L2 over L3技術(shù),在原有的數(shù)據(jù)報(bào)文封裝中增加了VXLAN封裝,并增加了IP封裝,使得原有的L2報(bào)文可以穿越L3網(wǎng)絡(luò),擴(kuò)大了二層網(wǎng)絡(luò)的范圍,使得虛擬機(jī)遷移 可以靈活跨越三層部署。同時,VXLAN封裝大大擴(kuò)展了租戶ID字段,避免了采用VLAN方式受到4K容量的限制。
VXLAN與SDN,前者解決虛擬遷移,后者關(guān)注控制,將支撐未來云計(jì)算網(wǎng)絡(luò)的搭建。
¡ NFV
NFV即網(wǎng)絡(luò)功能虛擬化,傳統(tǒng)網(wǎng)絡(luò)設(shè)備是由專門的硬件芯片和定制軟件平臺組成的。NFV指把定制軟件平臺安裝在通用硬件平臺,即x86服務(wù)器上。其本質(zhì)在于解決電信運(yùn)營商多年來高昂的網(wǎng)絡(luò)成本和封閉的網(wǎng)絡(luò)功能。
¡ SDN與NFV
SDN是一種跨設(shè)備級的技術(shù),不僅只體現(xiàn)在企業(yè)網(wǎng)中的某一臺設(shè)備上,其通過改變網(wǎng)絡(luò)控制層與轉(zhuǎn)發(fā)層的邏輯關(guān)系,將為下一代網(wǎng)絡(luò)帶來更多、更新的功能,比如針對不同的業(yè)務(wù)客戶群,通過改變節(jié)點(diǎn)設(shè)備的轉(zhuǎn)發(fā)流表,優(yōu)化不同的業(yè)務(wù)流。而NFV則屬于產(chǎn)品級的技術(shù),通過改變單臺設(shè)備功能的承載形態(tài)進(jìn)而影響整個網(wǎng)絡(luò)架構(gòu),比如在城域網(wǎng)中,將原本存在于統(tǒng)一集成網(wǎng)關(guān)設(shè)備中的路由、多媒體以及安全等網(wǎng)絡(luò)功能轉(zhuǎn)移到通用服務(wù)器上運(yùn)行,以便降低成本、更好地響應(yīng)用戶的需求。例如,H3C的VSR,就是一款運(yùn)行在標(biāo)準(zhǔn)服務(wù)器虛擬機(jī)上的純軟件路由器產(chǎn)品,實(shí)現(xiàn)了計(jì)算平臺和網(wǎng)絡(luò)平臺的融合。
2.公有云服務(wù)
無論公有云還是私有云,云服務(wù)管理平臺經(jīng)過多年的發(fā)展已經(jīng)落地,其功能模塊已經(jīng)確定。云管理平臺由門戶應(yīng)用、服務(wù)運(yùn)營、資源管理、運(yùn)維管理、系統(tǒng)管理以及接口等組成。用戶能夠通過自服務(wù)門戶Portal進(jìn)行用戶登錄登錄、服務(wù)訂購、服務(wù)變更、服務(wù)退訂、資源使用等服務(wù)操作。運(yùn)營人員能夠通過運(yùn)營管理門戶Portal進(jìn)行用戶管理、資源模板管理以及系統(tǒng)管理等運(yùn)營操作。大家可以看到,融合后虛擬化架構(gòu)作為一部分包含在資源管理中(如圖3所示)。
圖3 云服務(wù)管理平臺的主要功能
三、結(jié)束語
隨著業(yè)務(wù)的不斷發(fā)展,傳統(tǒng)企業(yè)用戶會發(fā)現(xiàn)特定應(yīng)用,通過傳統(tǒng)的硬件升級也無法滿足其需求,即遇到了性能或者容量的天花板。因此,傳統(tǒng)企業(yè)反而轉(zhuǎn)向互聯(lián)網(wǎng)行業(yè)學(xué)習(xí)分布式架構(gòu)來解決他們遇到的問題。“棱鏡門”事件的主角——美國國家安全局之所以選中Amazon來提供其基礎(chǔ)設(shè)施而沒有選中IBM也是基于其海量數(shù)據(jù)(世界范圍內(nèi)監(jiān)聽電話,監(jiān)控電郵)過濾分析的需求。
但是分布式架構(gòu)也不是萬能的。傳統(tǒng)行業(yè)的IT強(qiáng)調(diào)數(shù)據(jù)一致性,而分布式系統(tǒng)強(qiáng)調(diào)線性擴(kuò)展,只保證最終一致,這兩者不可兼得。大家可以參考前文的CAP理論,數(shù)據(jù)一致性,可用性,分區(qū)耐受性這三者在任一時刻,任何系統(tǒng)只有兩項(xiàng)能同時成立。
除此以外,傳統(tǒng)行業(yè)和互聯(lián)網(wǎng)企業(yè)的建設(shè)模式也是不同的,傳統(tǒng)行業(yè)傾向于購買定制硬件(Unix服務(wù)器,F(xiàn)C存儲)和商業(yè)軟件(Oracle數(shù)據(jù)庫,Weblogic中間件)和商業(yè)的解決方案。由于不掌握核心技術(shù),企業(yè)IT管理人員遇到問題會直接咨詢廠商,專業(yè)廠商為企業(yè)義務(wù)連續(xù)性背書。而互聯(lián)網(wǎng)企業(yè)由于可以看到源代碼并且具備操作系統(tǒng)內(nèi)核級修改的能力,傾向于使用開源軟件,x86架構(gòu)廉價硬件配合大量工程師定制開發(fā);企業(yè)遇到問題只有依靠自己解決。這兩種方式?jīng)]有孰優(yōu)孰劣,適合的就是最好的,而且從成本上其實(shí)講差不多。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應(yīng)用,蘊(yùn)涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應(yīng)鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.oesoe.com/
本文標(biāo)題:新一代數(shù)據(jù)中心的計(jì)算架構(gòu)
本文網(wǎng)址:http://www.oesoe.com/html/solutions/14019318121.html