新聞中心
聯(lián)系我們
Contact us
Contact us
- 總部電話010-51727811
- 客服熱線400 779 6696
- 更多聯(lián)系信息
如何對共享數(shù)據(jù)使用緩存技術(shù)(一)
時間:2012-08-07 09:27 來源:飛客數(shù)據(jù)恢復(fù) 作者:飛客數(shù)據(jù)恢復(fù)工程師
對于任何計算機系統(tǒng),緩存都是提高性能的主要手段。然而,如果實施不正確的話,它還有可能降低性能。而且,在共享數(shù)據(jù)環(huán)境中,不正確的緩存有可能導(dǎo)致數(shù)據(jù)沖突。本節(jié)主要討論數(shù)據(jù)共享環(huán)境中緩存的各種情況。
為了避免與內(nèi)存緩存概念相混淆,這里所說的“緩存”是指磁盤或子系統(tǒng)的緩存。它是一種用于滿足I/O請求的存儲器,無需從磁盤驅(qū)動器的旋轉(zhuǎn)介質(zhì)中讀取數(shù)據(jù)。
緩存的一致性
緩存的一致性是指多個緩存具有相同的數(shù)據(jù)版本。緩存的一致性是并行處理系統(tǒng)開發(fā)中的一個難題,如在進行共享數(shù)據(jù)集群系統(tǒng)開發(fā)時。在共享數(shù)據(jù)環(huán)境中保持緩存的一致性是一個牽涉到多種因素的難題,包括所采用的緩存算法、系統(tǒng)數(shù)量、存儲子系統(tǒng)的數(shù)量、各種應(yīng)用。數(shù)據(jù)共享所關(guān)心的一個問題是系統(tǒng)如何才能知道緩存中的數(shù)據(jù)已經(jīng)過時了,換而言之,它們怎樣才能知道別的系統(tǒng)已經(jīng)更新了緩存中的數(shù)據(jù)?這又重新回到前面所討論過的難題,即多版本數(shù)據(jù)的不一致問題。
緩存可用于提高磁盤子系統(tǒng)的性能。緩存可以用在I/O路徑上的三種不同位置:系統(tǒng)內(nèi)存總路線、主機I/O控制器、設(shè)備/子系統(tǒng)。大多數(shù)情況下,系統(tǒng)內(nèi)存中實現(xiàn)的緩存最有效。對于需要經(jīng)常訪問的數(shù)據(jù),如事務(wù)處理中的數(shù)據(jù),一種在系統(tǒng)內(nèi)存中的回寫緩存可以提供最好的性能。
在共享數(shù)據(jù)環(huán)境中,有可能某些服務(wù)器需要訪問放在另一個系統(tǒng)中的回寫緩存里的數(shù)據(jù)。遺憾的是,還沒有一種好方法用于從系統(tǒng)外部知道是什么塊放在了一個系統(tǒng)中的緩存里。因此,幾乎不可能從另外一個系統(tǒng)讀取和檢索緩存中的數(shù)據(jù)。另外,如果要寫數(shù)據(jù)到另一個服務(wù)器的緩存里,則更困難,因為服務(wù)器緩存管理軟件一般不能提供從一個子系統(tǒng)中更新緩存中的信息的方法。有一些特殊的緩存管理軟件可以在同類系統(tǒng)環(huán)境中提供這種方法,但是它帶來的好處還不足以抵償更新進程的開銷。
為了避免與內(nèi)存緩存概念相混淆,這里所說的“緩存”是指磁盤或子系統(tǒng)的緩存。它是一種用于滿足I/O請求的存儲器,無需從磁盤驅(qū)動器的旋轉(zhuǎn)介質(zhì)中讀取數(shù)據(jù)。
緩存的一致性
緩存的一致性是指多個緩存具有相同的數(shù)據(jù)版本。緩存的一致性是并行處理系統(tǒng)開發(fā)中的一個難題,如在進行共享數(shù)據(jù)集群系統(tǒng)開發(fā)時。在共享數(shù)據(jù)環(huán)境中保持緩存的一致性是一個牽涉到多種因素的難題,包括所采用的緩存算法、系統(tǒng)數(shù)量、存儲子系統(tǒng)的數(shù)量、各種應(yīng)用。數(shù)據(jù)共享所關(guān)心的一個問題是系統(tǒng)如何才能知道緩存中的數(shù)據(jù)已經(jīng)過時了,換而言之,它們怎樣才能知道別的系統(tǒng)已經(jīng)更新了緩存中的數(shù)據(jù)?這又重新回到前面所討論過的難題,即多版本數(shù)據(jù)的不一致問題。
緩存可用于提高磁盤子系統(tǒng)的性能。緩存可以用在I/O路徑上的三種不同位置:系統(tǒng)內(nèi)存總路線、主機I/O控制器、設(shè)備/子系統(tǒng)。大多數(shù)情況下,系統(tǒng)內(nèi)存中實現(xiàn)的緩存最有效。對于需要經(jīng)常訪問的數(shù)據(jù),如事務(wù)處理中的數(shù)據(jù),一種在系統(tǒng)內(nèi)存中的回寫緩存可以提供最好的性能。
在共享數(shù)據(jù)環(huán)境中,有可能某些服務(wù)器需要訪問放在另一個系統(tǒng)中的回寫緩存里的數(shù)據(jù)。遺憾的是,還沒有一種好方法用于從系統(tǒng)外部知道是什么塊放在了一個系統(tǒng)中的緩存里。因此,幾乎不可能從另外一個系統(tǒng)讀取和檢索緩存中的數(shù)據(jù)。另外,如果要寫數(shù)據(jù)到另一個服務(wù)器的緩存里,則更困難,因為服務(wù)器緩存管理軟件一般不能提供從一個子系統(tǒng)中更新緩存中的信息的方法。有一些特殊的緩存管理軟件可以在同類系統(tǒng)環(huán)境中提供這種方法,但是它帶來的好處還不足以抵償更新進程的開銷。