內(nèi)存數(shù)據(jù)庫(kù)與磁盤(pán)數(shù)據(jù)庫(kù)比較_第1頁(yè)
內(nèi)存數(shù)據(jù)庫(kù)與磁盤(pán)數(shù)據(jù)庫(kù)比較_第2頁(yè)
內(nèi)存數(shù)據(jù)庫(kù)與磁盤(pán)數(shù)據(jù)庫(kù)比較_第3頁(yè)
免費(fèi)預(yù)覽已結(jié)束,剩余1頁(yè)可下載查看

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、無(wú) 內(nèi)存數(shù)據(jù)庫(kù)(內(nèi)存數(shù)據(jù)庫(kù)(MMDB)與磁盤(pán)關(guān)系數(shù)據(jù)庫(kù)()與磁盤(pán)關(guān)系數(shù)據(jù)庫(kù)(DRDB)比較)比較 一、傳統(tǒng)數(shù)據(jù)庫(kù)與實(shí)時(shí)數(shù)據(jù)庫(kù)一、傳統(tǒng)數(shù)據(jù)庫(kù)與實(shí)時(shí)數(shù)據(jù)庫(kù) 傳統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)(Traditional Database System,TDBS)處理對(duì)永久數(shù)據(jù)的管理,實(shí)現(xiàn)事務(wù)對(duì)永久數(shù)據(jù)的存取,同時(shí)維護(hù)其完整性、一致性。所以傳統(tǒng)的數(shù)據(jù)庫(kù)具有 ACID(Atomicity,Consistency,Isolation,Durability)特征,即原子性、一致性、隔離性和永久性。傳統(tǒng)數(shù)據(jù)庫(kù)管理系統(tǒng)的典型代表是關(guān)系型數(shù)據(jù)庫(kù)RDBMS(Relational Database Management System) ,

2、我們平常用到的商用數(shù)據(jù)庫(kù)管理系統(tǒng)如 Oracle, Informix, Sybase, SQL Server 等都是 RDBMS。RDBMS 已發(fā)展了很多年,其技術(shù)成熟度已廣為人接受,其可靠性、可用性已被廣泛驗(yàn)證,并在傳統(tǒng)的商務(wù)和管理事務(wù)型的應(yīng)用領(lǐng)域獲得了極大成功在傳統(tǒng)的商務(wù)和管理事務(wù)型的應(yīng)用領(lǐng)域獲得了極大成功, 然而它們?cè)诂F(xiàn)代的 (非傳統(tǒng)) 工程和時(shí)間關(guān)鍵型應(yīng)用時(shí)間關(guān)鍵型應(yīng)用面前卻顯得軟弱無(wú)力, 其主要原因是其數(shù)據(jù)存取服其主要原因是其數(shù)據(jù)存取服務(wù)的實(shí)時(shí)性很難得到保障務(wù)的實(shí)時(shí)性很難得到保障,由此導(dǎo)致了實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)(Real-time DataBase System)的產(chǎn)生和發(fā)展。 實(shí)時(shí)數(shù)據(jù)庫(kù)

3、系統(tǒng)就是其事務(wù)和數(shù)據(jù)都可以具有定時(shí)特性或顯式的定時(shí)限制的數(shù)據(jù)庫(kù)系統(tǒng), 系統(tǒng)的正確性不僅依賴(lài)于邏輯結(jié)果, 而且還依賴(lài)于邏輯結(jié)果產(chǎn)生系統(tǒng)的正確性不僅依賴(lài)于邏輯結(jié)果, 而且還依賴(lài)于邏輯結(jié)果產(chǎn)生的時(shí)間的時(shí)間。 近年來(lái), 實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)已發(fā)展成現(xiàn)代數(shù)據(jù)庫(kù)系統(tǒng)研究的重要方向之一,在數(shù)據(jù)庫(kù)研究領(lǐng)域受到極大關(guān)注。實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng)通常簡(jiǎn)稱(chēng)為實(shí)時(shí)數(shù)據(jù)庫(kù)(Real-time Database,RTDB) 。 二、磁盤(pán)數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)二、磁盤(pán)數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù) 正如前面所述,我們平常用到的商業(yè)關(guān)系數(shù)據(jù)庫(kù)系統(tǒng),其主要目標(biāo)是保證數(shù)據(jù)存取的 ACID 特征,為各類(lèi)商務(wù)及事務(wù)應(yīng)用提供強(qiáng)大的數(shù)據(jù)管理與存取服務(wù)。但它們的數(shù)據(jù)服務(wù)

4、的實(shí)時(shí)性很難得到保障,其根本原因在于: 傳統(tǒng)數(shù)據(jù)庫(kù)是磁盤(pán)數(shù)據(jù)庫(kù)(Disk Resident Database,DRDB) ,即數(shù)據(jù)的主拷貝(Primary DB)在磁盤(pán)上,數(shù)據(jù)庫(kù)管理系統(tǒng)為了向應(yīng)用系統(tǒng)提供存取服務(wù),將用戶(hù)需要訪(fǎng)問(wèn)的數(shù)據(jù)裝入主存中,即對(duì)數(shù)據(jù)的管理是“基于磁盤(pán)的緩存技術(shù)” 。而我們知道,磁盤(pán)相對(duì)于主存來(lái)說(shuō)是極其低速的存儲(chǔ)介質(zhì),且磁盤(pán)存取速度還和無(wú) 欲存取的數(shù)據(jù)的物理位置和當(dāng)前磁頭狀態(tài)有關(guān)。另外,管理緩存(cache)或緩沖(buffer) ,無(wú)論是在操作系統(tǒng)(OS)層,還是數(shù)據(jù)庫(kù)管理系統(tǒng)層,都需要付出較大的代價(jià)(時(shí)間和空間,尤以時(shí)間代價(jià)為甚) 。因此,即使將磁盤(pán)數(shù)據(jù)全部緩存到主存,

5、其管理代價(jià)仍較大,存取速度仍然無(wú)法滿(mǎn)足多數(shù)實(shí)時(shí)性應(yīng)用系統(tǒng)的要求。 為了實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)庫(kù)系統(tǒng),人們自然想到了基于內(nèi)存的數(shù)據(jù)庫(kù),即內(nèi)存數(shù)據(jù)庫(kù)(Main Memory Database,MMDB) 。MMDB 與 DRDB 的根本區(qū)別在于,在MMDB 中,數(shù)據(jù)庫(kù)的全部或活動(dòng)事務(wù)存取的數(shù)據(jù)放于內(nèi)存中數(shù)據(jù)庫(kù)的全部或活動(dòng)事務(wù)存取的數(shù)據(jù)放于內(nèi)存中(如圖 1 所示) ,這樣事務(wù)對(duì)盤(pán)的訪(fǎng)問(wèn)完全取消了。由于整個(gè)數(shù)據(jù)庫(kù)放于內(nèi)存,數(shù)據(jù)庫(kù)則不再作為大量存儲(chǔ)文件看待而作為內(nèi)存中可尋址的大量數(shù)據(jù),不同于 DRDB 中的緩存或緩沖區(qū)方式,它完全打破了傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)宗旨,帶來(lái)了其自身新的設(shè)計(jì)問(wèn)題。如:傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)系統(tǒng)

6、的數(shù)據(jù)組織、訪(fǎng)問(wèn)方法、查詢(xún)處理算法的設(shè)計(jì)都針對(duì)減少磁盤(pán)訪(fǎng)問(wèn)次數(shù)與有效利用盤(pán)存儲(chǔ)空間, 甚至犧牲 CPU 時(shí)間來(lái)減少 I/O次數(shù)(如查詢(xún)處理有大量中間數(shù)據(jù)) ,而內(nèi)存數(shù)據(jù)庫(kù)的設(shè)計(jì)則主要考慮如何有效地利用 CPU 的時(shí)間和內(nèi)存空間。對(duì)傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)系統(tǒng)相當(dāng)有效的數(shù)據(jù)組織、訪(fǎng)問(wèn)方法、查詢(xún)處理算法,對(duì)于內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)可能并不有效,相反,一些認(rèn)為對(duì)傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)系統(tǒng)無(wú)用的辦法,反而成為可行的。顯然此方式可完全消除事務(wù)與盤(pán)打交道,且可避免與影響性能的緩沖區(qū)管理程序發(fā)生聯(lián)系,故采用此方式使數(shù)據(jù)庫(kù)系統(tǒng)性能極大提高。 無(wú) 圖 1 MMDB 與 DRDB 比較 三、傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)的特點(diǎn)比較三、傳統(tǒng)磁盤(pán)

7、數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)的特點(diǎn)比較 傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)的優(yōu)點(diǎn) 傳統(tǒng)數(shù)據(jù)庫(kù)的 ACID 機(jī)制成熟、可靠; 提供強(qiáng)大的數(shù)據(jù)定義語(yǔ)言(DDL)及數(shù)據(jù)操作語(yǔ)言(DML) ,提供 SQL支持; 提供一定的主動(dòng)機(jī)制(如觸發(fā)器,Trigger)和后臺(tái)數(shù)據(jù)處理能力(如存儲(chǔ)過(guò)程,Stored Procedure) 。 傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)的主要缺陷 占用、消耗的系統(tǒng)資源較多; 數(shù)據(jù)存取的速度慢; 數(shù)據(jù)存取時(shí)間不一致且難以預(yù)測(cè) 內(nèi)存數(shù)據(jù)庫(kù)的突出優(yōu)勢(shì) 存取速度快速、一致 存取時(shí)間易于預(yù)測(cè) 易于定制數(shù)據(jù)存取方式 內(nèi)存數(shù)據(jù)庫(kù)的主要特點(diǎn) MMDB vs DRDB -Architectural Comparison Backup DB L

8、og Disk Primary DB Page Buffer Primary DB Lock Server thread process Write log at transaction commit Lock/unlock (Pointer swizzling) Load at server startup Checkpoint periodically Load when accessed Write back at transaction commit Object Manager MMDB DRDB 無(wú) 為了降低 MMDB 的內(nèi)存開(kāi)銷(xiāo),MMDB 往往簡(jiǎn)化了對(duì)復(fù)雜事務(wù)處理的支持,如 MM

9、DB 一般不提供事務(wù)的 undo 機(jī)制,代之以“補(bǔ)償事務(wù)”的方式來(lái)實(shí)現(xiàn)事務(wù)處理的原子性和一致性。 由于 MMDB 中的數(shù)據(jù)庫(kù)“主拷貝”在內(nèi)存中,因此,MMDB 對(duì)系統(tǒng)的故障恢復(fù)提出了更高的要求,實(shí)現(xiàn)起來(lái)難度更大。 通用性不強(qiáng),由于不同的實(shí)時(shí)應(yīng)用系統(tǒng)中的數(shù)據(jù)對(duì)象不同,對(duì)數(shù)據(jù)庫(kù)的訪(fǎng)問(wèn)要求及訪(fǎng)問(wèn)方式不同。為了提高數(shù)據(jù)庫(kù)的實(shí)時(shí)性,在設(shè)計(jì) MMDB時(shí),需要根據(jù)應(yīng)用特點(diǎn),采取一些針對(duì)性的措施。因此,設(shè)計(jì)上往往有一定的特殊性。 四、自主開(kāi)發(fā)面向交易系統(tǒng)內(nèi)存數(shù)據(jù)庫(kù)的必要性四、自主開(kāi)發(fā)面向交易系統(tǒng)內(nèi)存數(shù)據(jù)庫(kù)的必要性 國(guó)外目前有一些內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)的報(bào)道, 如美國(guó) AT&T 公司的 Data Blitz (

10、前身為 Dali) ,韓國(guó)的 Xmas,美國(guó)的 Berkley DB, eXtreme DB 等。但這些系統(tǒng)往往只適合某些類(lèi)特定的應(yīng)用,且基本上都不商品化,而只是為了滿(mǎn)足特定的應(yīng)用需求而開(kāi)發(fā)的。而對(duì)于交易系統(tǒng)而言,其實(shí)時(shí)性要求較高,如果采用商業(yè)傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)系統(tǒng),其實(shí)時(shí)性很難令人滿(mǎn)意。而交易系統(tǒng)對(duì)數(shù)據(jù)的操作事務(wù)并不十分復(fù)雜,因此,開(kāi)發(fā)面向交易系統(tǒng)的實(shí)時(shí)內(nèi)存數(shù)據(jù)庫(kù)系統(tǒng)是必要、可行的。 無(wú) 五、傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)并行工作的可能性五、傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)并行工作的可能性 傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)和內(nèi)存數(shù)據(jù)庫(kù)可以并行工作,圖 2 是我們?yōu)槭謾C(jī)通訊行業(yè)提供的解決方案。其中,對(duì)實(shí)時(shí)性要求不是很高的數(shù)據(jù)可以放在 Oracle 中,這樣可以減少內(nèi)存數(shù)據(jù)庫(kù)處理的數(shù)據(jù)量,提高效率。 圖 2 傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)與內(nèi)存數(shù)據(jù)庫(kù)并行工作 主處理機(jī)(主)主處理機(jī)(備)ORACLE數(shù)據(jù)庫(kù)實(shí)時(shí)數(shù)據(jù)庫(kù)ORACLE數(shù)據(jù)庫(kù)實(shí)時(shí)數(shù)據(jù)庫(kù)光纖鏡像維護(hù)臺(tái)近端受理臺(tái)以太網(wǎng)基本模塊通信接口機(jī)ModemModem遠(yuǎn)端受理臺(tái)遠(yuǎn)端受理臺(tái)虛擬HLR遠(yuǎn)端受理臺(tái)虛擬HLRDDNX.25七號(hào)信令網(wǎng)MSC/VLRMSC/VLR無(wú) 六、六、Oracle Oracle 與與 MMDB MMDB 事務(wù)處理能力比較(僅供參考)事務(wù)處理能力比較(僅供參考) 表一是我們?yōu)橥ㄓ嵭袠I(yè)開(kāi)發(fā)的內(nèi)存數(shù)據(jù)庫(kù)與 Oracle 8.0 事務(wù)處理能力的比較: 大話(huà)務(wù)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論