2017計(jì)算機(jī)等考三級(jí)數(shù)據(jù)庫(kù)基礎(chǔ):新型數(shù)據(jù)庫(kù)體系結(jié)構(gòu):DAN

字號(hào):


    數(shù)據(jù)庫(kù)管理系統(tǒng)一次通常只能運(yùn)行在一臺(tái)服務(wù)器上。在不采用高級(jí)解決方案的前提下(比如Oracle公司的Real Application Clusters)數(shù)據(jù)庫(kù)則只能在服務(wù)器之間手工遷移。由于難以在數(shù)據(jù)庫(kù)級(jí)別上平衡服務(wù)器負(fù)載,所以這一局限性導(dǎo)致大量計(jì)算機(jī)資源被白白浪費(fèi)了。
    從SAN到DAN
    雖然SAN (存儲(chǔ)區(qū)域網(wǎng))和動(dòng)態(tài)應(yīng)用服務(wù)器在Web和應(yīng)用服務(wù)器負(fù)載均衡領(lǐng)域取得了巨大的成功,但是,數(shù)據(jù)庫(kù)層卻仍然是系統(tǒng)性能的瓶頸。利用SAN能夠很方便地在服務(wù)器之間搬移磁盤,從而令I(lǐng)T管理職員可以根據(jù)需要對(duì)磁盤存儲(chǔ)動(dòng)態(tài)地重新部署。
    當(dāng)前的靈活體系
    SAN技術(shù)實(shí)現(xiàn)了多計(jì)算機(jī)之間的單線程數(shù)據(jù)共享,但問題也隨之而來(lái):在處理能力需求發(fā)生改變的情況下該如何智能地重新部署數(shù)據(jù)庫(kù)呢。這就是DAN(數(shù)據(jù)庫(kù)區(qū)域網(wǎng):Database Area Network)技術(shù)的用武之地了。
    DAN架構(gòu)用到了數(shù)據(jù)庫(kù)交換機(jī),其下的SAN則實(shí)現(xiàn)了數(shù)據(jù)庫(kù)在不影響可用性的情況下在服務(wù)器之間的搬移。
    SAN 和DAN架構(gòu)
    數(shù)據(jù)庫(kù)服務(wù)器負(fù)載均衡是一個(gè)復(fù)雜而又問題叢生的技術(shù)話題。許多公司年復(fù)一年耗費(fèi)了大量的資金重新部署數(shù)據(jù)庫(kù)服務(wù)器資源。更糟糕的是,由于資源分配的不足和不合理,最終用戶不得不容忍漫長(zhǎng)的服務(wù)響應(yīng)時(shí)間,直到數(shù)據(jù)庫(kù)管理員(DBA)通過(guò)手工操作的方式把數(shù)據(jù)庫(kù)再度分配到更大的服務(wù)器上,研究人員利用DAN技術(shù)就可以在處理要求超出服務(wù)器處理能力的時(shí)候動(dòng)態(tài)分配數(shù)據(jù)庫(kù)。
    DAN技術(shù)的工作原理
    DAN技術(shù)的內(nèi)部機(jī)制可謂相當(dāng)簡(jiǎn)單。在SAN環(huán)境下,數(shù)據(jù)庫(kù)的重新部署涉及到以下的步驟:
    關(guān)閉數(shù)據(jù)庫(kù),采用軟件方法立即重定向交易。
    把數(shù)據(jù)文件重定向到使用SAN的目標(biāo)服務(wù)器。
    在新服務(wù)器上重新啟動(dòng)數(shù)據(jù)庫(kù)。
    用Oracle的Transparent Application Failover (TAF)之類的內(nèi)建產(chǎn)品進(jìn)行處理不會(huì)在重新部署期間丟失任何交易,最終用戶也不會(huì)察覺到數(shù)據(jù)庫(kù)已經(jīng)變更了服務(wù)器。
    DAN的優(yōu)點(diǎn)
    這種類型的負(fù)載均衡對(duì)IT管理人員來(lái)說(shuō)具有不一般的影響。由于在硬件上投入了巨資,IT管理人員的工作就是實(shí)現(xiàn)昂貴的服務(wù)器資源利用率的化,同時(shí)維持最終用戶可以接受的響應(yīng)時(shí)間。根據(jù)處理要求采用DAN重新部署數(shù)據(jù)庫(kù)就可以鞏固和強(qiáng)化對(duì)服務(wù)器的IT管理,從而為企業(yè)在硬件和軟件許可證費(fèi)用方面節(jié)約大量資金創(chuàng)造了條件。
    同時(shí),采用DAN之后DBA維護(hù)的工作量也會(huì)大大降低。由于服務(wù)器資源的整合,DBA直接管理的服務(wù)器數(shù)量顯著減少,幾乎不再擔(dān)心服務(wù)器的處理能力擴(kuò)充問題。
    DAN還實(shí)現(xiàn)了數(shù)據(jù)庫(kù)行為的“黑盒”化。這就是說(shuō),由于數(shù)據(jù)庫(kù)獨(dú)立于操作之外而令操作系統(tǒng)架構(gòu)失去了以往的重要性。比如說(shuō),Oracle數(shù)據(jù)庫(kù)就可以無(wú)縫地重新部署在AIX、Linux、Solaris或者HP/UX等系統(tǒng)之上,原因就在于以上這些平臺(tái)都支持Oracle數(shù)據(jù)庫(kù)系統(tǒng)。因?yàn)镈AN隱藏了操作系統(tǒng)的內(nèi)部結(jié)構(gòu),所以DAN盡可根據(jù)服務(wù)器的處理能力重新部署數(shù)據(jù)庫(kù)。
    隨著DAN技術(shù)日益走向成熟,DAN最終可以根據(jù)先驗(yàn)的歷史測(cè)量數(shù)據(jù)來(lái)預(yù)測(cè)數(shù)據(jù)庫(kù)遭遇處理壓力而必須重新部署到更大型服務(wù)器的時(shí)間,從而滿足日益增長(zhǎng)的處理要求。所有理智的數(shù)據(jù)庫(kù)專業(yè)人士都知道,數(shù)據(jù)庫(kù)服務(wù)器有規(guī)律地表現(xiàn)出一些眾所周知的處理壓力“信號(hào)”。出現(xiàn)這些信號(hào)是因?yàn)樽罱K用戶處理能力要求的周期性,而且我們可以每周、日、小時(shí)為度量單元描繪出服務(wù)器受到的處理壓力,從而觀察這些“信號(hào)”的出現(xiàn)情況。
    如果CPU和內(nèi)存使用情況的歷史測(cè)量可用,那么DAN就應(yīng)當(dāng)能預(yù)測(cè)數(shù)據(jù)庫(kù)搬移到更強(qiáng)大服務(wù)器的時(shí)間。DAN可以預(yù)測(cè)迫近的處理高峰,在需要處理能力的時(shí)候重新部署數(shù)據(jù)庫(kù)。
    下面我們就看看DAN技術(shù)是如何完成以上任務(wù)的。假設(shè)我們擁有兩個(gè)數(shù)據(jù)庫(kù)。
    配置示例
    系統(tǒng)A于周二達(dá)到了100%的使用率,而系統(tǒng)B則在周三到周五都達(dá)到了峰值負(fù)載。在沒有用到DAN技術(shù)的情況下,IT管人員只能被迫把這些數(shù)據(jù)庫(kù)放到兩臺(tái)價(jià)值4萬(wàn)美元的服務(wù)器上。而采用DAN技術(shù)后,IT管理人員就可以重新部署數(shù)據(jù)庫(kù)并用更便宜的、價(jià)值1萬(wàn)美元的Linux服務(wù)器取代第2臺(tái)服務(wù)器。DAN則在處理要求發(fā)生變動(dòng)的情況下重新部署數(shù)據(jù)庫(kù)。而系統(tǒng)則節(jié)約了3萬(wàn)美元。
    DAN技術(shù)向何處去?
    任何采用SAN的數(shù)據(jù)庫(kù)都可以在幾分鐘的系統(tǒng)關(guān)機(jī)時(shí)間內(nèi)方便地從一臺(tái)服務(wù)器移到另一臺(tái)服務(wù)器。而在采用DAN技術(shù)的場(chǎng)合下,負(fù)責(zé)數(shù)據(jù)庫(kù)重新部署的管理人員可以在不丟失即時(shí)交易的情況下提供無(wú)縫的數(shù)據(jù)庫(kù)重新部署,智能代理則直接負(fù)責(zé)數(shù)據(jù)庫(kù)的重新部署。如果DAN真能滿足以往SAN定位的市場(chǎng)要求,那么大型數(shù)據(jù)庫(kù)應(yīng)用商會(huì)如何利用DAN技術(shù)實(shí)施動(dòng)態(tài)數(shù)據(jù)庫(kù)負(fù)載均衡呢?我們對(duì)這種新技術(shù)的未來(lái)發(fā)展趨勢(shì)拭目以待。