欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于數(shù)據(jù)庫(kù)服務(wù)器的緩沖池?cái)U(kuò)展的制作方法

文檔序號(hào):6359780閱讀:272來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):用于數(shù)據(jù)庫(kù)服務(wù)器的緩沖池?cái)U(kuò)展的制作方法
用于數(shù)據(jù)庫(kù)服務(wù)器的緩沖池?cái)U(kuò)展
背景技術(shù)
對(duì)于數(shù)據(jù)庫(kù),當(dāng)數(shù)據(jù)庫(kù)頁(yè)面的工作集被保持在主存儲(chǔ)器中時(shí),存在良好的性能。不幸地是,由于許多大型數(shù)據(jù)庫(kù)的大小原因,要將工作集保持在主存儲(chǔ)器中并不是切實(shí)可行的。對(duì)于一個(gè)大型數(shù)據(jù)庫(kù)而言,這意味著該數(shù)據(jù)庫(kù)的大多數(shù)數(shù)據(jù)頁(yè)面駐留在具有足夠容量的I/o子系統(tǒng)上,所述子系統(tǒng)通常是使用諸如磁盤(pán)的旋轉(zhuǎn)介質(zhì)來(lái)構(gòu)建。這樣的子系統(tǒng)是昂貴的,會(huì)占據(jù)大量的空間并消耗大量的能耗。這些子系統(tǒng)經(jīng)常成為數(shù)據(jù)庫(kù)的瓶頸,因?yàn)樵谙嗤俾蕰r(shí),旋轉(zhuǎn)介質(zhì)的性能與主存儲(chǔ)器和處理器相比并不領(lǐng)先。在此要求保護(hù)的主題不限于解決任何缺點(diǎn)或僅在諸如上述環(huán)境中操作的各個(gè)實(shí)施例。相反,提供該背景僅用以示出在其中可實(shí)踐在此描述的部分實(shí)施例的一個(gè)示例性技術(shù)領(lǐng)域
發(fā)明內(nèi)容
簡(jiǎn)言之,此處所描述的主題的各方面涉及用于數(shù)據(jù)庫(kù)系統(tǒng)的緩沖池。在各方面,諸如固態(tài)存儲(chǔ)的次存儲(chǔ)器被用于擴(kuò)展數(shù)據(jù)庫(kù)系統(tǒng)的緩沖池。可以通過(guò)采樣算法來(lái)確定諸如火熱、熱門(mén)和冷門(mén)的閾值,所述閾值用于基于頁(yè)面的訪問(wèn)歷史來(lái)分類(lèi)頁(yè)面。當(dāng)數(shù)據(jù)庫(kù)系統(tǒng)需要釋放主存儲(chǔ)器中的緩沖池中的空間時(shí),可以基于該頁(yè)面被如何分類(lèi)以及次存儲(chǔ)器或其他存儲(chǔ)的條件來(lái)將一個(gè)頁(yè)面驅(qū)逐到次存儲(chǔ)器中的緩沖池或其他存儲(chǔ)。提供本發(fā)明內(nèi)容是為了簡(jiǎn)要地標(biāo)識(shí)在以下詳細(xì)描述中進(jìn)一步描述的主題的一些方面。本發(fā)明內(nèi)容并不旨在標(biāo)識(shí)出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限制所要求保護(hù)的主題的范圍。除非上下文清楚地指出,否則短語(yǔ)“此處所描述的主題”指的是具體實(shí)施方式
中描述的主題。術(shù)語(yǔ)“方面”被當(dāng)作“至少一個(gè)方面”。標(biāo)識(shí)具體實(shí)施方式
中所描述的主題的各方面不旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征。上述各方面和此處所描述的主題的其它方面是借助于示例說(shuō)明的,并且不受附圖限制,附圖中相同的標(biāo)號(hào)指示相似的元素。


圖I是表示其中可結(jié)合本文所描述主題的各方面的示例性通用計(jì)算環(huán)境的框圖;圖2是概括地表示此處所描述的主題的各方面可以在其中實(shí)現(xiàn)的示例性系統(tǒng)的框圖;圖3是表示根據(jù)此處所描述的主題的各方面的托管數(shù)據(jù)庫(kù)的系統(tǒng)的組件的框圖;以及圖4是概括地表示根據(jù)此處所描述的主題的各方面的、可在掃描頁(yè)面以確定閾值且適合時(shí)驅(qū)逐頁(yè)面中發(fā)生的一些示例性動(dòng)作的流程圖;以及圖5是概括地表示根據(jù)此處所描述的主題的各方面的、可在由DBMS接收訪問(wèn)請(qǐng)求且緩沖池已滿時(shí)發(fā)生的一些示例性動(dòng)作的流程圖。
具體實(shí)施例方式定義如本文所使用的,術(shù)語(yǔ)“包括”及其變體被當(dāng)作開(kāi)放式術(shù)語(yǔ),表示“包括但不限于”。除非上下文另外清楚地指示出,否則術(shù)語(yǔ)“或”被當(dāng)作“和/或”。術(shù)語(yǔ)“基于”被當(dāng)作“至少部分地基于”。術(shù)語(yǔ)“一個(gè)實(shí)施例”和“一實(shí)施例”被當(dāng)作“至少一個(gè)實(shí)施例”。術(shù)語(yǔ)“另一實(shí)施例”被當(dāng)作“至少一個(gè)其他實(shí)施例”。其他顯式或隱式定義可包括在下文中。示例性操作環(huán)境 圖I示出可在其上實(shí)現(xiàn)本文所描述的主題的各方面的合適的計(jì)算系統(tǒng)環(huán)境100的示例。計(jì)算系統(tǒng)環(huán)境100僅為合適的計(jì)算環(huán)境的一個(gè)示例,并非旨在對(duì)本文所描述的主題的各方面的使用范圍或功能提出任何限制。也不應(yīng)該將計(jì)算環(huán)境100解釋為對(duì)示例性操作環(huán)境100中示出的任一組件或其組合有任何依賴性或要求。本文所描述的主題的各方面可與眾多其他通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置一起操作??蛇m用于這里所述的主題的各方面的已知計(jì)算系統(tǒng)、環(huán)境或配置的例子包括個(gè)人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持或膝上型設(shè)備、多處理器系統(tǒng)、基于微控制器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、微型計(jì)算機(jī)、大型計(jì)算機(jī)、個(gè)人數(shù)字助理(PDA)、游戲設(shè)備、打印機(jī)、包括機(jī)頂盒,媒體中心或其他家電的家電設(shè)備、嵌入汽車(chē)或附加到汽車(chē)的計(jì)算設(shè)備、其他移動(dòng)設(shè)備、包括任何上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。本文所描述的主題的各方面可在由計(jì)算機(jī)執(zhí)行的諸如程序模塊等計(jì)算機(jī)可執(zhí)行指令的一般上下文中描述。一般而言,程序模塊包括執(zhí)行特定任務(wù)或?qū)崿F(xiàn)特定抽象數(shù)據(jù)類(lèi)型的例程、程序、對(duì)象、組件、數(shù)據(jù)結(jié)構(gòu)等等。本文所描述的主題的各方面也可以在其中任務(wù)由通過(guò)通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可以位于包括存儲(chǔ)器存儲(chǔ)設(shè)備在內(nèi)的本地和遠(yuǎn)程計(jì)算機(jī)存儲(chǔ)介質(zhì)中。參考圖1,用于實(shí)現(xiàn)本文所描述的主題的各方面的示例性系統(tǒng)包括計(jì)算機(jī)110形式的通用計(jì)算設(shè)備。計(jì)算機(jī)可包括能夠執(zhí)行指令的任何電子設(shè)備。計(jì)算機(jī)110的組件可包括處理單元120、系統(tǒng)存儲(chǔ)器130以及將包括系統(tǒng)存儲(chǔ)器的各種系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干類(lèi)型的總線結(jié)構(gòu)中的任一種,包括使用各種總線體系結(jié)構(gòu)中的任一種的存儲(chǔ)器總線或存儲(chǔ)器控制器、外圍總線、以及局部總線。作為示例,而非限制,這樣的架構(gòu)包括工業(yè)標(biāo)準(zhǔn)架構(gòu)(ISA)總線、微通道架構(gòu)(MCA)總線、增強(qiáng)型ISA (EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(huì)(VESA)局部總線、也稱(chēng)為夾層(Mezzanine)總線的外圍部件互連(PCI)總線、擴(kuò)展外圍部件互連(PCI-X)總線、高級(jí)圖形端口(AGP)、以及PCI Express (PCIe)。計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀介質(zhì)。計(jì)算機(jī)可讀介質(zhì)可以是能由計(jì)算機(jī)110訪問(wèn)的任何可用介質(zhì),并包含易失性和非易失性介質(zhì)以及可移動(dòng)、不可移動(dòng)介質(zhì)。作為示例而非限制,計(jì)算機(jī)可讀介質(zhì)可包括計(jì)算機(jī)存儲(chǔ)介質(zhì)和通信介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括以用于存儲(chǔ)諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)等信息的任何方法或技術(shù)來(lái)實(shí)現(xiàn)的易失性和非易失性、可移動(dòng)和不可移動(dòng)介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)包括RAM、ROM、EEPR0M、閃存或其它存儲(chǔ)器技術(shù)CD-ROM、數(shù)字多功能盤(pán)(DVD)或其它光盤(pán)存儲(chǔ)、磁盒、磁帶、磁盤(pán)存儲(chǔ)或其它磁存儲(chǔ)設(shè)備、或可以用來(lái)儲(chǔ)存所期望的信息并可由計(jì)算機(jī)110訪問(wèn)的任一其它介質(zhì)。通信介質(zhì)通常以諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號(hào)來(lái)體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù),并包括任何信息傳送介質(zhì)。術(shù)語(yǔ)已調(diào)制數(shù)據(jù)信號(hào)摂是指具有以在信號(hào)中編碼信息的方式被設(shè)定或改變其一個(gè)或多個(gè)特征的信號(hào)。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類(lèi)的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無(wú)線介質(zhì)之類(lèi)的無(wú)線介質(zhì)。上述的任意組合也應(yīng)包含在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。系統(tǒng)存儲(chǔ)器130包括易失性和/或非易失性存儲(chǔ)器形式的計(jì)算機(jī)存儲(chǔ)介質(zhì),如只讀存儲(chǔ)器(ROM) 131和隨機(jī)存取存儲(chǔ)器(RAM) 132。包含諸如在啟動(dòng)期間幫助在計(jì)算機(jī)110內(nèi)的元件之間傳輸信息的基本例程的基本輸入/輸出系統(tǒng)133 (BIOS)通常儲(chǔ)存儲(chǔ)在ROM131中。RAM 132通常包含處理單元120可立即訪問(wèn)和/或當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非限制,圖I示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。 計(jì)算機(jī)110也可以包括其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)。僅作為示例,圖I示出了從不可移動(dòng)非易失性磁介質(zhì)中讀取或向其寫(xiě)入的硬盤(pán)驅(qū)動(dòng)器141,從可移動(dòng)非易失性磁盤(pán)152中讀取或向其寫(xiě)入的磁盤(pán)驅(qū)動(dòng)器151,以及從諸如⑶ROM或其它光學(xué)介質(zhì)等可移動(dòng)非易失性光盤(pán)156中讀取或向其寫(xiě)入的光盤(pán)驅(qū)動(dòng)器155??梢栽谠撌纠圆僮鳝h(huán)境中使用的其他可移動(dòng)/不可移動(dòng)、易失性/非易失性計(jì)算機(jī)存儲(chǔ)介質(zhì)包括磁帶盒、閃存卡、數(shù)字多功能盤(pán)、其他光盤(pán)、數(shù)字錄像帶、固態(tài)RAM、固態(tài)ROM等等。硬盤(pán)驅(qū)動(dòng)器141通常通過(guò)諸如接口 140等不可移動(dòng)存儲(chǔ)器接口連接到系統(tǒng)總線121,而磁盤(pán)驅(qū)動(dòng)器151和光盤(pán)驅(qū)動(dòng)器155則通常由諸如接口 150等可移動(dòng)存儲(chǔ)器接口連接至系統(tǒng)總線121。以上討論并在圖I中示出的驅(qū)動(dòng)器及其相關(guān)聯(lián)的計(jì)算機(jī)存儲(chǔ)介質(zhì)為計(jì)算機(jī)110提供了對(duì)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲(chǔ)。例如,在圖I中,硬盤(pán)驅(qū)動(dòng)器141被示為存儲(chǔ)操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可與操作系統(tǒng)134、應(yīng)用程序135、其他程序模塊136和程序數(shù)據(jù)137相同,也可與它們不同。操作系統(tǒng)144、應(yīng)用程序145、其他程序模塊146和程序數(shù)據(jù)147在這里被標(biāo)注了不同的附圖標(biāo)記是為了說(shuō)明至少它們是不同的副本。用戶可以通過(guò)輸入設(shè)備,如鍵盤(pán)162和定點(diǎn)設(shè)備161 (通常被稱(chēng)為鼠標(biāo)、跟蹤球或觸摸墊)向計(jì)算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可包括話筒、操縱桿、游戲手柄、圓盤(pán)式衛(wèi)星天線、掃描儀、觸敏屏、寫(xiě)字板等。這些以及其他輸入設(shè)備通常通過(guò)耦合到系統(tǒng)總線的用戶輸入接口 160連接到處理單元120,但也可通過(guò)諸如并行端口、游戲端口或通用串行總線(USB)之類(lèi)的其他接口和總線結(jié)構(gòu)來(lái)連接。監(jiān)視器191或其他類(lèi)型的顯示設(shè)備也通過(guò)諸如視頻接口 190之類(lèi)的接口連接至系統(tǒng)總線121。除了監(jiān)視器以外,計(jì)算機(jī)還可包括諸如揚(yáng)聲器197和打印機(jī)196之類(lèi)的其他外圍輸出設(shè)備,它們可通過(guò)輸出外圍接口 195來(lái)連接。計(jì)算機(jī)110可使用到一個(gè)或多個(gè)遠(yuǎn)程計(jì)算機(jī)(諸如,遠(yuǎn)程計(jì)算機(jī)180)的邏輯連接而在聯(lián)網(wǎng)環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個(gè)人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對(duì)等設(shè)備或其它常見(jiàn)網(wǎng)絡(luò)節(jié)點(diǎn),且通常包括上文相對(duì)于計(jì)算機(jī)110描述的許多或所有元件,但在圖I中只示出存儲(chǔ)器存儲(chǔ)設(shè)備181。圖I中所示的邏輯連接包括局域網(wǎng)(LAN) 171和廣域網(wǎng)(WAN) 173,但也可以包括其它網(wǎng)絡(luò)。這樣的聯(lián)網(wǎng)環(huán)境常見(jiàn)于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)和因特網(wǎng)中。當(dāng)在LAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)110通過(guò)網(wǎng)絡(luò)接口或適配器170連接到LAN171。當(dāng)在WAN聯(lián)網(wǎng)環(huán)境中使用時(shí),計(jì)算機(jī)110可包括調(diào)制解調(diào)器172或用于通過(guò)諸如因特網(wǎng)等的WAN 173來(lái)建立通信的其它裝置。可為內(nèi)置或可為外置的調(diào)制解調(diào)器172可以經(jīng)由用戶輸入接口 160或其他合適的機(jī)構(gòu)連接至系統(tǒng)總線121。在聯(lián)網(wǎng)環(huán)境中,相對(duì)于計(jì)算機(jī)110所示的程序模塊或其部分可被存儲(chǔ)在遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。作為示例而非限制,圖I示出了遠(yuǎn)程應(yīng)用程序185駐留在存儲(chǔ)器設(shè)備181上。應(yīng)當(dāng)理解,所示的網(wǎng)絡(luò)連接是示例性的,并且可使用在計(jì)算機(jī)之間建立通信鏈路的其他手段。數(shù)據(jù)庫(kù)緩沖池 如前所述,I/O子系統(tǒng)通常成為數(shù)據(jù)庫(kù)的瓶頸。圖2是概括地表示此處所描述的主題的各方面可以在其中實(shí)現(xiàn)的示例性系統(tǒng)的框圖。系統(tǒng)200可以包括一個(gè)或多個(gè)處理器202、數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS) 205、旋轉(zhuǎn)介質(zhì)210-211,并可以包括其他組件。DBMS 205可以管理緩沖池215中的頁(yè)面??梢栽谥鞔鎯?chǔ)器220和固態(tài)存儲(chǔ)225(在此以后有時(shí)被稱(chēng)為SSS225)中維護(hù)緩沖池215。 可以使用諸如計(jì)算機(jī)110的一個(gè)或多個(gè)計(jì)算機(jī)來(lái)實(shí)現(xiàn)系統(tǒng)200,而系統(tǒng)200可以實(shí)現(xiàn)一個(gè)或多個(gè)數(shù)據(jù)庫(kù)。該系統(tǒng)的(多個(gè))處理器202對(duì)應(yīng)于圖I的處理單元120,并且被包括在同一計(jì)算機(jī)上或可以跨多個(gè)計(jì)算機(jī)分布。處理器202執(zhí)行對(duì)應(yīng)于DBMS 205的指令以
提供數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)可包括關(guān)系數(shù)據(jù)庫(kù)、面向?qū)ο蟮臄?shù)據(jù)庫(kù)、分層數(shù)據(jù)庫(kù)、網(wǎng)絡(luò)數(shù)據(jù)庫(kù)、其他類(lèi)型的數(shù)據(jù)庫(kù)、上述的某種組合或擴(kuò)展等??蓪⒋鎯?chǔ)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)組織為表格、記錄、對(duì)象、其他數(shù)據(jù)結(jié)構(gòu)等??蓪⒋鎯?chǔ)于數(shù)據(jù)庫(kù)中的數(shù)據(jù)存儲(chǔ)在專(zhuān)用數(shù)據(jù)庫(kù)文件、專(zhuān)用硬盤(pán)分區(qū)、HTML文件、XML文件、電子數(shù)據(jù)表、平面文件、文檔文件、配置文件、其他文件等中??梢酝ㄟ^(guò)諸如DBMS 205的DBMS來(lái)訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)。DBMS 205可包括一個(gè)或多個(gè)程序,其控制數(shù)據(jù)庫(kù)的數(shù)據(jù)的組織、存儲(chǔ)、管理和檢索。DBMS205可接收訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的請(qǐng)求,并可執(zhí)行提供該訪問(wèn)所需要的操作。此處使用的訪問(wèn)可包括讀取數(shù)據(jù)、寫(xiě)入數(shù)據(jù)、刪除數(shù)據(jù)、更新數(shù)據(jù)、以及包括以上兩個(gè)或更多個(gè)的組合等。在描述本文所描述的主題的各方面的時(shí),為簡(jiǎn)潔起見(jiàn),本文有時(shí)候使用與關(guān)系數(shù)據(jù)庫(kù)相關(guān)聯(lián)的術(shù)語(yǔ)。盡管本文有時(shí)候使用關(guān)系數(shù)據(jù)庫(kù)術(shù)語(yǔ),但也可將本文的技術(shù)應(yīng)用到其它類(lèi)型的數(shù)據(jù)庫(kù),包括之前已經(jīng)提到的那些。DBMS 205在操作上管理主存儲(chǔ)器和次存儲(chǔ)器中的緩沖池中的頁(yè)面,并基于確定一個(gè)頁(yè)面是否具有對(duì)應(yīng)于至少三種分類(lèi)的訪問(wèn)來(lái)驅(qū)逐該頁(yè)面。這將在下面被更詳細(xì)地描述,但簡(jiǎn)言之,如果對(duì)該頁(yè)面的訪問(wèn)位于第一百分比范圍內(nèi),則該頁(yè)面可被認(rèn)作處于第一分類(lèi)中(例如“火熱”)。如果該頁(yè)面具有位于第二百分比范圍內(nèi)的訪問(wèn),則該頁(yè)面可被認(rèn)作處于第二分類(lèi)中(例如“熱門(mén)”)。如果該頁(yè)面具有位于第三百分比范圍內(nèi)的訪問(wèn),則該頁(yè)面可被認(rèn)作處于第三分類(lèi)中(例如“冷門(mén)”)。頁(yè)面的分類(lèi)可被用于將頁(yè)面驅(qū)逐出主存儲(chǔ)器220和/或 SSS 225。處于效率、性能或其他原因,數(shù)據(jù)庫(kù)可以將對(duì)應(yīng)于表格、索引的數(shù)據(jù)或其他數(shù)據(jù)庫(kù)數(shù)據(jù)定位在一個(gè)諸如旋轉(zhuǎn)介質(zhì)210的存儲(chǔ)設(shè)備集上,而將對(duì)應(yīng)于日志的數(shù)據(jù)定位在諸如旋轉(zhuǎn)介質(zhì)211的另一存儲(chǔ)設(shè)備集上。對(duì)于某些數(shù)據(jù)庫(kù),僅有一個(gè)存儲(chǔ)設(shè)備集可被用于存儲(chǔ)表格和日志。緩沖池215包括在(相對(duì)于旋轉(zhuǎn)介質(zhì)210-211)更快的存儲(chǔ)器中的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的部分。所述一個(gè)或多個(gè)數(shù)據(jù)庫(kù)的部分有時(shí)稱(chēng)為頁(yè)面。緩沖池215的存儲(chǔ)器(例如主存儲(chǔ)器220)的一些可以是易失的。就是說(shuō),當(dāng)存儲(chǔ)器斷電時(shí),存儲(chǔ)器會(huì)丟失存儲(chǔ)在其上的任何數(shù)據(jù)。主存儲(chǔ)器220可以被實(shí)現(xiàn)為RAM、高速緩存、處理器存儲(chǔ)器或其他易失的高速存儲(chǔ)器。緩沖池215的其他存儲(chǔ)器(例如SSS 225)可以是非易失的。就是說(shuō),當(dāng)非易失的存儲(chǔ)器斷電時(shí),該存儲(chǔ)器會(huì)持久保存存儲(chǔ)在其上的任何數(shù)據(jù)??梢詣?dòng)態(tài)改變分配給緩沖池215的SSS (或其他存儲(chǔ)器)的量。就是說(shuō),分配給緩沖池215的SSS (或其他存儲(chǔ)器)的字節(jié)在DBMS 205執(zhí)行之前、期間或之后,可以被自動(dòng)地、半自動(dòng)地或手動(dòng)地增加、減少或設(shè)定為O。DBMS 205可以維護(hù)關(guān)于存儲(chǔ)在緩沖池215中的數(shù)據(jù)庫(kù)的頁(yè)面的元數(shù)據(jù)。對(duì)于每個(gè)頁(yè)面,該元數(shù)據(jù)可包括,例如,用于存儲(chǔ)頁(yè)面上的數(shù)據(jù)被訪問(wèn)的最近的一個(gè)或兩個(gè)時(shí)間的兩個(gè)時(shí)間戳、指示該頁(yè)面是否已被修改的臟標(biāo)記、指示該頁(yè)面的副本是否被存儲(chǔ)在SSS 225 中的標(biāo)記、指示該頁(yè)面已經(jīng)被訪問(wèn)的次數(shù)的計(jì)數(shù)、指示對(duì)該頁(yè)面的訪問(wèn)的頻率的加權(quán)值(對(duì)于更近的訪問(wèn)具有更多加權(quán))、關(guān)于該頁(yè)面的其他信息等等。該元數(shù)據(jù)可以被(例如作為頁(yè)面)存儲(chǔ)在緩沖池215中或某個(gè)其他位置處。在操作中,當(dāng)DBMS 205接收訪問(wèn)數(shù)據(jù)的請(qǐng)求時(shí),DBMS 205可以先確定該數(shù)據(jù)是否在緩沖池215中。如果該數(shù)據(jù)不在緩沖池215中,則DBMS可以確定在主存儲(chǔ)器220中是否存在將數(shù)據(jù)從旋轉(zhuǎn)介質(zhì)210讀入該主存儲(chǔ)器220的空間。如果主存儲(chǔ)器220中不存在空間,則DBMS確定是否可以將一個(gè)頁(yè)面從主存儲(chǔ)器220中驅(qū)逐出以騰出空間來(lái)從旋轉(zhuǎn)介質(zhì)210中讀取該頁(yè)面。雖然上述步驟已經(jīng)以某種順序方式被描述,在其他實(shí)現(xiàn)中,它們可以以不同的順序或并行地發(fā)生。例如,在一個(gè)實(shí)施例中,DBMS 205可以嘗試維護(hù)主存儲(chǔ)器220中的某個(gè)空閑空間部分。為了這么做,周期性地或當(dāng)DBMS 205確定主存儲(chǔ)器220中的空閑空間減少到閾值之下時(shí),DBMS 205可以掃描主存儲(chǔ)器220以確定將哪個(gè)頁(yè)面驅(qū)逐出主存儲(chǔ)器220以釋放空間。以此方式,DBMS205可以保留主存儲(chǔ)器220中的某些空間以用于在從旋轉(zhuǎn)介質(zhì)210讀取和寫(xiě)入頁(yè)面時(shí)使用。在一個(gè)實(shí)施例中,當(dāng)存在存儲(chǔ)器壓力(例如緩沖池中的空閑空間低于預(yù)定的、計(jì)算的、選擇的或其他閾值,進(jìn)程請(qǐng)求更多的存儲(chǔ)器或滿足某些其他存儲(chǔ)器壓力條件)時(shí),DBMS205可以執(zhí)行一個(gè)掃描算法。該掃描算法可以確定可被用于將頁(yè)面分類(lèi)成不同類(lèi)別的閾值的數(shù)值。例如,在一個(gè)實(shí)施例中,掃描算法可以基于關(guān)于頁(yè)面而維護(hù)的元數(shù)據(jù)來(lái)確定將頁(yè)面分類(lèi)成火熱、熱門(mén)和冷門(mén)類(lèi)別的閾值。在一個(gè)實(shí)施例中,掃描算法可以通過(guò)采樣選中數(shù)目的隨機(jī)頁(yè)面的元數(shù)據(jù)來(lái)確定閾值。從所述采樣中,可以確定至少兩個(gè)閾值。閾值可以對(duì)應(yīng)于關(guān)于對(duì)頁(yè)面的訪問(wèn)頻率的百分比。具有低于兩個(gè)閾值中最低閾值的訪問(wèn)特性的頁(yè)面可以被認(rèn)為是冷門(mén)的。具有在最低閾值和較高閾值之間的訪問(wèn)特性的頁(yè)面可以被認(rèn)為是熱門(mén)的。具有高于較高閾值的訪問(wèn)特性的頁(yè)面可以被認(rèn)為是火熱的。術(shù)語(yǔ)“火熱”、“熱門(mén)”和“冷門(mén)”并不意味著要對(duì)在此所述的主題的各方面施加限制。這些術(shù)語(yǔ)的一個(gè)理念在于對(duì)頁(yè)面的訪問(wèn)可以落入百分比中。落入較高百分比范圍之內(nèi)的頁(yè)面可以被稱(chēng)為是火熱的。落入較低和較高百分比之間的頁(yè)面可以被稱(chēng)為是熱門(mén)的。落入較低百分比范圍之內(nèi)的頁(yè)面可以被稱(chēng)為是冷門(mén)的。在不背離在此所述的主題的各方面的精神和范圍的情況下,可以用其他詞、數(shù)字、標(biāo)識(shí)符、數(shù)據(jù)結(jié)構(gòu)等等來(lái)取代火熱、熱門(mén)和冷門(mén)這些詞。而且,雖然僅給出了三種稱(chēng)號(hào),在其他實(shí)施例中,可以存在超過(guò)三種的稱(chēng)號(hào)。一種可以用于分類(lèi)頁(yè)面的示范性標(biāo)準(zhǔn)是對(duì)頁(yè)面的訪問(wèn)的頻率。另一種可以用于分類(lèi)頁(yè)面的示范性標(biāo)準(zhǔn)是對(duì)頁(yè)面的訪問(wèn)歷史。例如,訪問(wèn)歷史可以包括頁(yè)面已經(jīng)被訪問(wèn)的最近一個(gè)或兩個(gè)時(shí)間。如果僅最近訪問(wèn)時(shí)間被用于分類(lèi)頁(yè)面,這種標(biāo)準(zhǔn)有時(shí)被稱(chēng)作最近使用(LRU)算法。如果最近訪問(wèn)時(shí)間的鄰近時(shí)間被用于分類(lèi)頁(yè)面,這種標(biāo)準(zhǔn)有時(shí)被稱(chēng)作(LRU-2)算法。上述例子并不旨在是包括一切的或是窮舉的。實(shí)際上,基于在此的示教,本領(lǐng)域中的技術(shù)人員可以認(rèn)識(shí)到許多其他標(biāo)準(zhǔn)可以被用于分類(lèi)頁(yè)面。在一個(gè)實(shí)施例中,僅當(dāng)確定較低閾值的采樣可以在主存儲(chǔ)器220和SSS 225中的頁(yè)面上執(zhí)行時(shí),才在主存儲(chǔ)器220中的頁(yè)面上執(zhí)行確定較高閾值的采樣。
在確定了這些閾值之后,當(dāng)DBMS 205需要驅(qū)逐頁(yè)面以在主存儲(chǔ)器220中空出更多空間時(shí),DBMS 205可以以任意各種順序,例如包括順序、循環(huán)、隨機(jī)、最近使用、基于位直、另一順序等等,來(lái)掃描遍歷緩沖池中的頁(yè)面。如果頁(yè)面在冷門(mén)閾值之上且在熱門(mén)閾值之下,并且SSS 225中存在可用的空間,則DBMS 205可以將該頁(yè)面復(fù)制到SSS 225或(通過(guò)向諸如頁(yè)面隊(duì)列的數(shù)據(jù)結(jié)構(gòu)中的要被從主存儲(chǔ)器220復(fù)制到SSS 225的頁(yè)面放置指針)指示只要可行的話該頁(yè)面就要被復(fù)制到SSS 225中。在已經(jīng)將頁(yè)面復(fù)制到SSS 225之后,主存儲(chǔ)器220中釋放的空間可以被用于存儲(chǔ)另一頁(yè)面。如果在SSS 225中不存在用于熱門(mén)和冷門(mén)頁(yè)面的足夠空間,則冷門(mén)的頁(yè)面將被轉(zhuǎn)儲(chǔ)清除(flush)或復(fù)制在隊(duì)列中以轉(zhuǎn)儲(chǔ)清除到磁盤(pán)(如果是臟的)或標(biāo)記為可用(如果是干凈的)。轉(zhuǎn)儲(chǔ)清除到磁盤(pán)的頁(yè)面可以來(lái)自主存儲(chǔ)器220以及SSS 225。在這種情況下,在一個(gè)實(shí)施例中,與從SSS 225轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面相比,將優(yōu)先權(quán)給予從主存儲(chǔ)器220轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面。例如,可以為從主存儲(chǔ)器220和SSS 225轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面維護(hù)一個(gè)或多個(gè)數(shù)據(jù)結(jié)構(gòu)(例如一個(gè)或多個(gè)隊(duì)列)。在已經(jīng)將來(lái)自主存儲(chǔ)器220的冷門(mén)頁(yè)面轉(zhuǎn)儲(chǔ)清除到磁盤(pán)之后,可以將來(lái)自SSS 225的冷門(mén)頁(yè)面轉(zhuǎn)儲(chǔ)清除到磁盤(pán)。在另一個(gè)實(shí)施例中,從主存儲(chǔ)器220轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面可以與從SSS 225轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面交替進(jìn)行。如果硬件子系統(tǒng)提供了適合的設(shè)備,可以并行執(zhí)行從主存儲(chǔ)器220轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面和從SSS 225轉(zhuǎn)儲(chǔ)清除冷門(mén)頁(yè)面。當(dāng)合適的硬件(例如直接存儲(chǔ)器存取(DMA)硬件等)可用時(shí),將來(lái)自SSS 225的頁(yè)面轉(zhuǎn)儲(chǔ)清除到磁盤(pán)可以在不需要從SSS 225讀取頁(yè)面到主存儲(chǔ)器220的情況下進(jìn)行。當(dāng)這樣的硬件對(duì)于SSS 225不可用時(shí),將來(lái)自SSS 225的頁(yè)面轉(zhuǎn)儲(chǔ)清除到磁盤(pán)可以通過(guò)讀取頁(yè)面到主存儲(chǔ)器220并隨后將該頁(yè)面從主存儲(chǔ)器220復(fù)制到磁盤(pán)上來(lái)執(zhí)行。當(dāng)DBMS 205需要訪問(wèn)在SSS 225中但不在主存儲(chǔ)器220中的頁(yè)面時(shí),可以從SSS225將該頁(yè)面復(fù)制到主存儲(chǔ)器220中。當(dāng)緩沖頁(yè)面要被寫(xiě)入SSS 225時(shí),如果可能的話,可以將多個(gè)寫(xiě)入合并成單個(gè)寫(xiě)入。這可以增加I/O吞吐量并增加SSS 225的壽命期望。如果達(dá)到了 SSS 225的I/O閾值,則可將新的I/O定向到磁盤(pán)。當(dāng)對(duì)SSS 225的訪問(wèn)接近SSS 225的讀/寫(xiě)帶寬或某個(gè)其他預(yù)定帶寬時(shí)可以達(dá)到I/O閾值??梢岳缫罁?jù)I/O響應(yīng)時(shí)間、I/O的數(shù)目或某個(gè)其他因素來(lái)確定是否已經(jīng)達(dá)到I/O閾值。例如,通過(guò)訪問(wèn)的某種模式或頻率,傳輸從SSS 225到RAM 220的數(shù)據(jù)的I/O可以超過(guò)SSS 225可用的帶寬。在這種情況下,可以將后續(xù)I/O發(fā)送給旋轉(zhuǎn)介質(zhì)210直到SSS225可用于更多I/O。圖3是表示根據(jù)此處所描述的主題的各方面的托管數(shù)據(jù)庫(kù)的系統(tǒng)的組件的框圖。組件300包括元數(shù)據(jù)305、主存儲(chǔ)器緩沖頁(yè)面310、SSS緩沖頁(yè)面315和其他存儲(chǔ)320。元數(shù)據(jù)305包括關(guān)于先前描述的頁(yè)面的數(shù)據(jù)。元數(shù)據(jù)305可以被存儲(chǔ)在主存儲(chǔ)器、高速緩存或某種其他高速存儲(chǔ)器中。元數(shù)據(jù)305可以指示頁(yè)面被存儲(chǔ)在主存儲(chǔ)器和/或SSS中。主存儲(chǔ)器緩沖頁(yè)面310可以被存儲(chǔ)在諸如RAM或其他易失存儲(chǔ)器之類(lèi)的主存儲(chǔ)器中。這樣的存儲(chǔ)器可以在不需要機(jī)械移動(dòng)的情況下被訪問(wèn)。換句話說(shuō),這樣的存儲(chǔ)器可以在不需要主存儲(chǔ)器的任何組件的物理移動(dòng)的情況下提供對(duì)數(shù)據(jù)的訪問(wèn)。這樣的存儲(chǔ)器通常比機(jī)械類(lèi)型的存儲(chǔ)要更加快。 主存儲(chǔ)器緩沖頁(yè)面310可以包括火熱頁(yè)面、熱門(mén)頁(yè)面和冷門(mén)頁(yè)面,這取決于有多少空間可用。例如,主存儲(chǔ)器緩沖頁(yè)面310可以包括來(lái)自其他存儲(chǔ)320的某些最近被檢索的冷門(mén)頁(yè)面。一些主存儲(chǔ)器緩沖頁(yè)面310的副本可以被存儲(chǔ)在SSS緩沖頁(yè)面315中。主存儲(chǔ)器緩沖頁(yè)面310中的一些頁(yè)面可能尚未被復(fù)制到SSS緩沖頁(yè)面315。而且,SSS緩沖頁(yè)面315可以包括不存在于主存儲(chǔ)器緩沖頁(yè)面310中的頁(yè)面。SSS緩沖頁(yè)面315可以被存儲(chǔ)在次存儲(chǔ)器中。為了實(shí)現(xiàn)性能增益,該次存儲(chǔ)器可以比存儲(chǔ)320執(zhí)行得更好(例如更快的響應(yīng)時(shí)間、更多的帶寬等等)??梢栽诓恍枰獧C(jī)械移動(dòng)的情況下訪問(wèn)某種存儲(chǔ)器(例如固態(tài)存儲(chǔ)),并且該存儲(chǔ)器是非易失的。雖然,這種存儲(chǔ)器可以比存儲(chǔ)320執(zhí)行得更好,但該存儲(chǔ)器可能比主存儲(chǔ)器更慢。其他存儲(chǔ)320可以包括諸如硬盤(pán)、磁帶、其他非易失存儲(chǔ)等之類(lèi)的非易失存儲(chǔ)。這種其他存儲(chǔ)320可以包括組件(例如臂、盤(pán)或其他介質(zhì)等等),這些組件在操作上移動(dòng)(例如在盤(pán)上往返、旋轉(zhuǎn)或其他方式)以提供對(duì)存儲(chǔ)320的存儲(chǔ)設(shè)備上的存儲(chǔ)器的訪問(wèn)。在不昂貴的實(shí)現(xiàn)中,存儲(chǔ)320可以具有比系統(tǒng)300的主存儲(chǔ)器和SSS更少的吞吐量。然而,在一些系統(tǒng)中,通過(guò)使用聯(lián)合工作的許多存儲(chǔ)設(shè)備(例如磁盤(pán)),存儲(chǔ)320的吞吐量可以接近或超過(guò)SSS的吞吐量,盡管響應(yīng)時(shí)間相對(duì)較大。元數(shù)據(jù)305存儲(chǔ)了關(guān)于在主存儲(chǔ)器緩沖頁(yè)面310和SSS緩沖頁(yè)面315中的頁(yè)面的信息。這樣的信息可以包括先前結(jié)合圖2所述的元數(shù)據(jù)。圖2-3中示出的組件是示例性的且不意味著包括一切的可能需要或包括的組件。在其他實(shí)施例中,結(jié)合圖2-3描述的組件和/或功能可被包括在其他組件(示出或未示出)中或者被放置在子組件中而不背離此處所描述的主題的各方面的精神或范圍。在某些實(shí)施例中,結(jié)合圖2-3所描述的組件和/或功能可跨多個(gè)設(shè)備地分布。圖4-5是概括地表示根據(jù)此處所描述的主題的各方面的可發(fā)生的動(dòng)作的流程圖。為解釋簡(jiǎn)明起見(jiàn),結(jié)合圖4-5來(lái)描述的方法被描繪和描述為一系列動(dòng)作??梢岳斫夂兔靼?,此處所描述的主題的各方面不受所示出的各動(dòng)作和/或各動(dòng)作次序的限制。在一個(gè)實(shí)施例中,各動(dòng)作以如下描述的次序發(fā)生。然而,在其它實(shí)施例中,各動(dòng)作可以并行地發(fā)生、以另一次序發(fā)生、和/或與此處未呈現(xiàn)和描述的其它動(dòng)作一起發(fā)生。此外,并非所有示出的動(dòng)作都是實(shí)現(xiàn)根據(jù)此處所描述的主題的各方面的方法所必需的。另外,本領(lǐng)域的技術(shù)人員將了解和明白,該方法也可以替代地經(jīng)由狀態(tài)圖而被表示為一系列相互相關(guān)聯(lián)的狀態(tài)或者被表示為事件。圖4是概括地表示根據(jù)此處所描述的主題的各方面的、可在掃描頁(yè)面以確定閾值且適合時(shí)驅(qū)逐頁(yè)面中發(fā)生的示例性動(dòng)作的流程圖。在框405,動(dòng)作開(kāi)始。在框410處,接收掃描頁(yè)面以確定閾值的請(qǐng)求。例如,參考圖4,響應(yīng)于存儲(chǔ)器壓力,DBMS 205可以向緩沖池組件發(fā)送掃描頁(yè)面的請(qǐng)求。在框415,訪問(wèn)頁(yè)面的元數(shù)據(jù)。例如,參考圖3,訪問(wèn)元數(shù)據(jù)305。取代訪問(wèn)所有的元數(shù)據(jù),可以采樣數(shù)據(jù)庫(kù)緩沖池的多個(gè)隨機(jī)選擇頁(yè)面的這些元數(shù)據(jù)。在一個(gè)實(shí)施例中,采樣頁(yè)面的元數(shù)據(jù)可以包括從頁(yè)面的元數(shù)據(jù)中為每個(gè)經(jīng)采樣的頁(yè)面獲得一個(gè) 或兩個(gè)時(shí)間戳,其中所述一個(gè)或兩個(gè)時(shí)間戳對(duì)應(yīng)于訪問(wèn)經(jīng)采樣的頁(yè)面的最近的一個(gè)或多個(gè)時(shí)間。將這種元數(shù)據(jù)提供給一個(gè)函數(shù)(例如分類(lèi)函數(shù)),該函數(shù)生成對(duì)應(yīng)于對(duì)該頁(yè)面的訪問(wèn)的值。由函數(shù)為該采樣的元數(shù)據(jù)所生成的值可以被用于選擇閾值。例如,在從函數(shù)獲得值之后,可以選擇對(duì)應(yīng)于這些值的不同預(yù)定百分比的閾值。百分比的范圍(例如0-5、5-25、25-100)可以對(duì)應(yīng)于火熱、熱門(mén)和冷門(mén)。在框420,可以從所述元數(shù)據(jù)中確定冷門(mén)閾值。例如,冷門(mén)閾值可以對(duì)應(yīng)于具有在0到25之間的百分比范圍的經(jīng)采樣的頁(yè)面的訪問(wèn)頻率。一旦已經(jīng)確定冷門(mén)閾值,如果將上述函數(shù)應(yīng)用于由頁(yè)面的元數(shù)據(jù)所表示的訪問(wèn)數(shù)據(jù)返回小于或等于該冷門(mén)閾值的值時(shí),就可以確定該頁(yè)面是冷門(mén)的。在框425,可以從所述元數(shù)據(jù)中確定熱門(mén)閾值。例如,熱門(mén)閾值可以對(duì)應(yīng)于具有在25到75之間的百分比范圍的經(jīng)采樣的頁(yè)面的訪問(wèn)頻率。一旦已經(jīng)確定熱門(mén)閾值,如果將上述函數(shù)應(yīng)用于由頁(yè)面的元數(shù)據(jù)所表示的訪問(wèn)數(shù)據(jù)返回大于冷門(mén)閾值且小于或等于熱門(mén)閾值的值時(shí),就可以確定該頁(yè)面是熱門(mén)的。在框430處,接收驅(qū)逐頁(yè)面的請(qǐng)求。例如,參考圖2,DBMS 205的驅(qū)逐組件可以接收將一個(gè)頁(yè)面從緩沖池215中驅(qū)逐出去以為一個(gè)或多個(gè)其他頁(yè)面釋放空間的請(qǐng)求。在框435,可以選擇緩沖池215的頁(yè)面以考慮用于驅(qū)逐。例如,參考圖3,可以選擇主存儲(chǔ)器緩沖頁(yè)面310中的一個(gè)考慮用于驅(qū)逐。選擇可以使用用于循環(huán)遍歷頁(yè)面以嘗試找出適于驅(qū)逐的頁(yè)面的算法、隊(duì)列或其他數(shù)據(jù)結(jié)構(gòu)等等來(lái)做出。在框440處,分類(lèi)頁(yè)面。這可以通過(guò)將上述函數(shù)應(yīng)用于頁(yè)面的元數(shù)據(jù)以獲得一個(gè)值來(lái)完成。隨后,可以將該值與前述的閾值相比較以確定該頁(yè)面是火熱、熱門(mén)還是冷門(mén)的。在框445,如果合適,驅(qū)逐該頁(yè)面。例如,如果確定該頁(yè)面是冷門(mén)的,則將該頁(yè)面驅(qū)逐到磁盤(pán)。如果該頁(yè)面是熱門(mén)的,則將該頁(yè)面復(fù)制到SSS中,除非達(dá)到SSS的吞吐量的閾值,在這種情況下,就將該頁(yè)面驅(qū)逐到磁盤(pán)。如果該頁(yè)面是火熱的,則將該頁(yè)面保留在主存儲(chǔ)器中,無(wú)需被驅(qū)逐。在框450處,可以執(zhí)行其他動(dòng)作(如果存在)。圖5是概括地表示根據(jù)此處所描述的主題的各方面的、可在由DBMS接收訪問(wèn)請(qǐng)求且緩沖池已滿時(shí)發(fā)生的一些示例性動(dòng)作的流程圖。在框505,動(dòng)作開(kāi)始。在框510,接收訪問(wèn)數(shù)據(jù)庫(kù)的數(shù)據(jù)的請(qǐng)求。例如,參考圖2,DBMS 205可接收訪問(wèn)數(shù)據(jù)庫(kù)中的數(shù)據(jù)的請(qǐng)求。在框515,DBMS確定數(shù)據(jù)駐留在主存儲(chǔ)器之外。
例如,參考圖2,DBMS 205可以確定所請(qǐng)求的數(shù)據(jù)駐留在SSS 225或旋轉(zhuǎn)介質(zhì)210中。在框520,DBMS確定主存儲(chǔ)器中的緩沖池滿了。例如,參考圖2,DBMS 205確定主存儲(chǔ)器220被頁(yè)面填滿并且需要驅(qū)逐一個(gè)頁(yè)面以為數(shù)據(jù)騰出空間。在框525處,選擇用于驅(qū)逐的頁(yè)面。選擇用于驅(qū)逐的頁(yè)面可以包括使用根據(jù)基于對(duì)頁(yè)面的訪問(wèn)的頻率的至少三種分類(lèi)(例如火熱、熱門(mén)和冷門(mén))中的一個(gè)來(lái)分類(lèi)頁(yè)面的函數(shù)(例如先前所述的分類(lèi)函數(shù))。例如,參考圖2,DBMS 205可以確定主存儲(chǔ)器220中用于驅(qū)逐的頁(yè)面。在框530處,驅(qū)逐頁(yè)面。例如,參考圖2,DBMS 205可以將所選的頁(yè)面驅(qū)逐到SSS225或旋轉(zhuǎn)介質(zhì)210。將頁(yè)面驅(qū)逐到SSS 225可以包括將頁(yè)面復(fù)制到SSS 225中。這將把頁(yè)面保持在緩沖池215中,僅僅是不在緩沖池的主存儲(chǔ)器220中。在這種方式中,SSS 225可以擴(kuò)展緩沖池(而不是僅僅作為用于被驅(qū)逐出主存儲(chǔ)器220的頁(yè)面的單獨(dú)高速緩存)。在框535處,可以執(zhí)行其他動(dòng)作(如果存在)。
雖然,上述討論引用了使用固態(tài)存儲(chǔ)來(lái)擴(kuò)展緩沖池,但在其他實(shí)施例中,除了固態(tài)存儲(chǔ)之外的存儲(chǔ)也可被用于擴(kuò)展緩沖池。其他存儲(chǔ)可以是目前現(xiàn)有的或還在開(kāi)發(fā)的。根據(jù)在此描述的主題的各方面,其他存儲(chǔ)可以具有比旋轉(zhuǎn)存儲(chǔ)更好但比主存儲(chǔ)器更差的吞吐量、帶寬或某個(gè)其他特性。如從上述詳細(xì)描述中可以看見(jiàn),已經(jīng)描述了關(guān)于數(shù)據(jù)系統(tǒng)的緩沖池的各方面。盡管本文所描述的主題的各方面易于作出各種修改和替換構(gòu)造,但其某些說(shuō)明性實(shí)施例在附圖中示出并在上面被詳細(xì)地描述。然而,應(yīng)當(dāng)理解,并不旨在將所要求保護(hù)主題的各方面限制于所公開(kāi)的具體形式,而是相反地,目的是要覆蓋落入本文所描述的主題的各方面的精神和范圍之內(nèi)的所有修改、替換構(gòu)造和等效方案。
權(quán)利要求
1.一種至少部分地由計(jì)算機(jī)實(shí)現(xiàn)的方法,所述方法包括 訪問(wèn)數(shù)據(jù)庫(kù)緩沖池的頁(yè)面的元數(shù)據(jù),所述數(shù)據(jù)庫(kù)緩沖池潛在地包括被存儲(chǔ)在主存儲(chǔ)器中的頁(yè)面、存儲(chǔ)在固態(tài)存儲(chǔ)器中的頁(yè)面以及存儲(chǔ)在主存儲(chǔ)器和固態(tài)存儲(chǔ)器兩者之中的頁(yè)面; 從所述元數(shù)據(jù)中確定用于確定頁(yè)面是否是冷門(mén)的冷門(mén)閾值,其中如果將ー個(gè)函數(shù)應(yīng)用于由所述頁(yè)面的元數(shù)據(jù)所表示的訪問(wèn)數(shù)據(jù)返回小于或等于所述冷門(mén)閾值的值,則所述頁(yè)面是冷門(mén)的; 從所述元數(shù)據(jù)中確定用于確定頁(yè)面是否是熱門(mén)的熱門(mén)閾值,其中如果將所述函數(shù)應(yīng)用于所述頁(yè)面的元數(shù)據(jù)的訪問(wèn)數(shù)據(jù)返回大于所述冷門(mén)閾值且小于或等于所述熱門(mén)閾值的值,則所述頁(yè)面是熱門(mén)的;以及 將頁(yè)面從所述主存儲(chǔ)器或所述固態(tài)存儲(chǔ)器驅(qū)逐出去以為ー個(gè)或多個(gè)其他頁(yè)面釋放空 間。
2.如權(quán)利要求I所述的方法,其特征在于,其中訪問(wèn)數(shù)據(jù)庫(kù)緩沖池的頁(yè)面的元數(shù)據(jù)包括對(duì)所述數(shù)據(jù)庫(kù)緩沖池的ー個(gè)數(shù)目的隨機(jī)選擇的頁(yè)面的元數(shù)據(jù)進(jìn)行采樣,所述數(shù)目小于所述數(shù)據(jù)庫(kù)緩沖池的所有頁(yè)面。
3.如權(quán)利要求2所述的方法,其特征在于,其中訪問(wèn)所述數(shù)據(jù)庫(kù)緩沖池的頁(yè)面的元數(shù)據(jù)包括從所述頁(yè)面的元數(shù)據(jù)中為每個(gè)經(jīng)采樣的頁(yè)面獲得ー個(gè)或兩個(gè)時(shí)間戳,其中所述ー個(gè)或兩個(gè)時(shí)間戳對(duì)應(yīng)于訪問(wèn)經(jīng)采樣的頁(yè)面的最近一個(gè)或多個(gè)時(shí)間,對(duì)至少所述ー個(gè)或兩個(gè)時(shí)間戳施加所述函數(shù)以生成指示所述頁(yè)面是火熱、熱門(mén)或冷門(mén)的值。
4.如權(quán)利要求I所述的方法,其特征在于,其中驅(qū)逐頁(yè)面包括如果所述固態(tài)存儲(chǔ)器具有可用的空閑空間并且如果在所述固態(tài)存儲(chǔ)器中不存在所述冷門(mén)頁(yè)面的副本,則將所述冷門(mén)頁(yè)面復(fù)制到所述固態(tài)存儲(chǔ)器中。
5.如權(quán)利要求I所述的方法,其特征在干,進(jìn)ー步包括改變用于所述數(shù)據(jù)庫(kù)緩沖池的所述固態(tài)存儲(chǔ)的量。
6.如權(quán)利要求I所述的方法,其特征在于,還包括確定是否已經(jīng)達(dá)到所述固態(tài)存儲(chǔ)的I/O閾值,并且如果達(dá)到,則將所述頁(yè)面復(fù)制到除所述主存儲(chǔ)器和所述固態(tài)存儲(chǔ)器之外的存儲(chǔ)上。
7.如權(quán)利要求I所述的方法,其特征在于,其中,將頁(yè)面驅(qū)逐出所述固態(tài)存儲(chǔ)器包括將多個(gè)頁(yè)面在單個(gè)寫(xiě)入操作中從所述主存儲(chǔ)器復(fù)制到所述固態(tài)存儲(chǔ)器。
8.—種在計(jì)算環(huán)境中的系統(tǒng),包括 ー個(gè)或多個(gè)存儲(chǔ)設(shè)備集,包括在操作上移動(dòng)以提供對(duì)所述存儲(chǔ)設(shè)備的數(shù)據(jù)的訪問(wèn)的組件; 主存儲(chǔ)器,是易失的且操作上無(wú)需所述主存儲(chǔ)器的任意組件的物理移動(dòng)就能提供對(duì)其上存儲(chǔ)的數(shù)據(jù)的訪問(wèn); 次存儲(chǔ)器,是非易失的且操作上無(wú)需所述次存儲(chǔ)器的任意組件的物理移動(dòng)就能提供對(duì)其上存儲(chǔ)的數(shù)據(jù)的訪問(wèn); 一個(gè)或多個(gè)處理器,在操作上執(zhí)行對(duì)應(yīng)于數(shù)據(jù)庫(kù)管理系統(tǒng)的指令,所述數(shù)據(jù)庫(kù)管理系統(tǒng)在操作上管理所述主存儲(chǔ)器和次存儲(chǔ)器中的緩沖池中的頁(yè)面,并基于確定頁(yè)面是否具有對(duì)應(yīng)于至少三種分類(lèi)的訪問(wèn)來(lái)驅(qū)逐所述頁(yè)面,如果對(duì)所述頁(yè)面的訪問(wèn)在第一百分比范圍之內(nèi)則所述頁(yè)面具有對(duì)應(yīng)于第一分類(lèi)的訪問(wèn),如果對(duì)所述頁(yè)面的訪問(wèn)在第二百分比范圍之內(nèi)則所述頁(yè)面具有對(duì)應(yīng)于第二分類(lèi)的訪問(wèn),如果對(duì)所述頁(yè)面的訪問(wèn)在第三百分比范圍之內(nèi)則所述頁(yè)面具有對(duì)應(yīng)于第三分類(lèi)的訪問(wèn)。
9.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述ー個(gè)或多個(gè)存儲(chǔ)設(shè)備集包括一個(gè)或多個(gè)硬盤(pán),所述主存儲(chǔ)器包括隨機(jī)存取存儲(chǔ)器,而所述次存儲(chǔ)器包括固態(tài)存儲(chǔ)器。
10.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)管理系統(tǒng)在操作上還掃描所述緩沖池的隨機(jī)選擇的頁(yè)面的元數(shù)據(jù)以確定所述第一、第二和第三范圍,所述元數(shù)據(jù)包括指示每個(gè)頁(yè)面被訪問(wèn)的最近一個(gè)或多個(gè)時(shí)間的數(shù)據(jù)。
11.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)管理系統(tǒng)在操作上驅(qū)逐頁(yè)面包括所述數(shù)據(jù)庫(kù)管理系統(tǒng)在操作上將被確定為處于第二百分比范圍內(nèi)的頁(yè)面從所述主存儲(chǔ)器驅(qū)逐到所述次存儲(chǔ)器上。
12.如權(quán)利要求8所述的系統(tǒng),其特征在于,所述數(shù)據(jù)庫(kù)管理系統(tǒng)在操作上驅(qū)逐頁(yè)面包括在將所選中的頁(yè)面復(fù)制到所述存儲(chǔ)設(shè)備中的ー個(gè)或多個(gè)之前,所述數(shù)據(jù)庫(kù)管理系統(tǒng)在操作上將被確定為處于第三百分比范圍內(nèi)的所選中的頁(yè)面從所述次存儲(chǔ)器復(fù)制到所述主存儲(chǔ)器上。
13.如權(quán)利要求8所述的系統(tǒng),其特征在于,其中所述第一百分比范圍包括百分之0-百分之5,所述第二百分比范圍包括百分之5-百分之25,而所述第三百分比范圍包括百分之25-百分之100。
14.ー種具有計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)存儲(chǔ)介質(zhì),所述計(jì)算機(jī)可執(zhí)行指令在被執(zhí)行時(shí)執(zhí)行以下動(dòng)作,包括 接收對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的請(qǐng)求; 確定所述數(shù)據(jù)駐留在除主存儲(chǔ)器之外的存儲(chǔ)中; 確定所述主存儲(chǔ)器中的緩沖池是滿的; 基于ー函數(shù)選擇要從主存儲(chǔ)器中的所述緩沖池中驅(qū)逐出的候選頁(yè)面,所述函數(shù)根據(jù)基于對(duì)所述候選頁(yè)面的訪問(wèn)的至少三種分類(lèi)中的ー個(gè)對(duì)所述候選頁(yè)面分類(lèi);以及 將所述候選頁(yè)面從主存儲(chǔ)器中驅(qū)逐出去。
15.如權(quán)利要求14所述的計(jì)算機(jī)存儲(chǔ)介質(zhì),其特征在于,選擇要從主存儲(chǔ)器中的所述緩沖池中驅(qū)逐出的候選頁(yè)面包括查找處于所述分類(lèi)中的第三種分類(lèi)中的頁(yè)面,所述分類(lèi)中的第三種分類(lèi)表示與其他分類(lèi)中任一分類(lèi)中的頁(yè)面相比較少頻率地被訪問(wèn)的頁(yè)面。
全文摘要
此處所描述的主題的各方面涉及用于數(shù)據(jù)庫(kù)系統(tǒng)的緩沖池。在各方面,諸如固態(tài)存儲(chǔ)的次存儲(chǔ)器被用于擴(kuò)展數(shù)據(jù)庫(kù)系統(tǒng)的緩沖池??梢酝ㄟ^(guò)采樣算法來(lái)確定諸如火熱、熱門(mén)和冷門(mén)的閾值,所述閾值用于基于頁(yè)面的訪問(wèn)歷史來(lái)分類(lèi)頁(yè)面。當(dāng)數(shù)據(jù)庫(kù)系統(tǒng)需要釋放主存儲(chǔ)器中的緩沖池中的空間時(shí),可以基于該頁(yè)面被如何分類(lèi)以及次存儲(chǔ)器或其他存儲(chǔ)的條件來(lái)將一個(gè)頁(yè)面驅(qū)逐到次存儲(chǔ)器中的緩沖池或其他存儲(chǔ)。
文檔編號(hào)G06F17/30GK102782683SQ201180012126
公開(kāi)日2012年11月14日 申請(qǐng)日期2011年3月2日 優(yōu)先權(quán)日2010年3月4日
發(fā)明者A·韋爾比茨基, C·張, G·I·雷內(nèi)亞, S·克里希納穆希 申請(qǐng)人:微軟公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
大埔区| 措勤县| 文登市| 梓潼县| 高州市| 藁城市| 南木林县| 泸定县| 兰考县| 海原县| 正安县| 马尔康县| 通渭县| 屯昌县| 盐边县| 卢龙县| 西安市| 金溪县| 波密县| 高阳县| 靖宇县| 郧西县| 平泉县| 洛浦县| 车险| 海宁市| 龙陵县| 禹州市| 唐河县| 镇原县| 桂平市| 湛江市| 桃江县| 富裕县| 琼海市| 绥中县| 和田县| 古丈县| 万盛区| 白城市| 兖州市|