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

為sql處理緩存外部數(shù)據(jù)源的制作方法

文檔序號(hào):9529258閱讀:444來(lái)源:國(guó)知局
為sql處理緩存外部數(shù)據(jù)源的制作方法
【技術(shù)領(lǐng)域】
[0001] 本公開(kāi)通常設(shè)及評(píng)估數(shù)據(jù)庫(kù)查詢的技術(shù),更具體地設(shè)及用于為查詢處理緩存外部 數(shù)據(jù)源的技術(shù)。
【背景技術(shù)】
[0002] 數(shù)據(jù)庫(kù)是存儲(chǔ)在諸如一組硬盤之類的一個(gè)或多個(gè)存儲(chǔ)設(shè)備上的數(shù)據(jù)和元數(shù)據(jù)的 結(jié)構(gòu)化的集合。依賴于實(shí)施方式,在數(shù)據(jù)庫(kù)內(nèi)的數(shù)據(jù)可W根據(jù)各種數(shù)據(jù)模型被邏輯器地組 織。例如,在關(guān)系模型中,數(shù)據(jù)通常被組織到一組表中,其中每個(gè)表包括一組行和列。在大 多數(shù)情況中,每行代表不同的對(duì)象,而每列代表不同的屬性。但是,其他數(shù)據(jù)模型也可W用 于組織數(shù)據(jù)。
[0003] 數(shù)據(jù)庫(kù)管理系統(tǒng)值BM巧是控制對(duì)數(shù)據(jù)庫(kù)中數(shù)據(jù)的訪問(wèn)的軟件。DBMS被配置為接 收和處理通常被稱為查詢的各種數(shù)據(jù)庫(kù)命令。在許多實(shí)施方式中,DBMS支持符合結(jié)構(gòu)化查 詢語(yǔ)言(S化)的查詢。S化是用于管理關(guān)系DBMS(畑MB巧中的數(shù)據(jù)的標(biāo)準(zhǔn)化查詢語(yǔ)言。
[0004] S化包括兩組不同的命令:用于管理和索引在數(shù)據(jù)庫(kù)中的數(shù)據(jù)結(jié)構(gòu)的數(shù)據(jù)定義語(yǔ) 言伽L)擬及用于訪問(wèn)和操作存在于數(shù)據(jù)結(jié)構(gòu)內(nèi)的數(shù)據(jù)的數(shù)據(jù)操作語(yǔ)言(DML)。孤L通常 被用于創(chuàng)建、改變W及刪除諸如表、索引、視圖和約束之類的數(shù)據(jù)庫(kù)對(duì)象,而DML通常被用 于添加、查詢、更新和刪除在已有的數(shù)據(jù)庫(kù)對(duì)象中的數(shù)據(jù)。
[0005] 當(dāng)DBMS接收諸如S化表達(dá)式之類的查詢時(shí),DBMS評(píng)估此查詢W得到查詢結(jié)果。查 詢?cè)u(píng)估包括兩個(gè)階段:查詢編譯和查詢執(zhí)行。在查詢編譯期間,DBMS解析S化表達(dá)式并且 生成查詢執(zhí)行計(jì)劃。查詢執(zhí)行計(jì)劃指定一組有序的步驟,其經(jīng)常被表示為查詢操作符樹,被 用于執(zhí)行查詢。在每個(gè)步驟處的查詢操作符與表示在查詢執(zhí)行中將被執(zhí)行的計(jì)算或其他動(dòng) 作的一個(gè)或多個(gè)表達(dá)式相關(guān)聯(lián)。示例的S化操作符包括但不限于表掃描、連接、表隊(duì)列、分 組操作W及布隆過(guò)濾器化loomfilter)。一旦查詢執(zhí)行計(jì)劃被生成,就根據(jù)所述計(jì)劃執(zhí)行 查詢。
[0006] 為了評(píng)估S化表達(dá)式,DBMS依賴于數(shù)據(jù)庫(kù)內(nèi)數(shù)據(jù)的內(nèi)部結(jié)構(gòu)和組織。例如,S化表 達(dá)式可W基于數(shù)據(jù)存在于特定表中的位置識(shí)別要訪問(wèn)數(shù)據(jù)庫(kù)中的哪個(gè)數(shù)據(jù)。存在于數(shù)據(jù)庫(kù) 外部的數(shù)據(jù)(運(yùn)里被稱為"外來(lái)數(shù)據(jù)(foreigndata)")通常不被由內(nèi)部的數(shù)據(jù)庫(kù)元數(shù)據(jù) 限定的結(jié)構(gòu)和組織所約束。例如,外來(lái)數(shù)據(jù)可W不被外部數(shù)據(jù)源組織成表格格式,并且可W 根據(jù)外部數(shù)據(jù)源限定的不同的結(jié)構(gòu)和格式被組織。因此,S化查詢通常不能被用于訪問(wèn)和 修改數(shù)據(jù)庫(kù)外部的數(shù)據(jù)。
[0007] 一種使得S化查詢能夠分析存在于數(shù)據(jù)庫(kù)之外的數(shù)據(jù)的方法設(shè)及將外來(lái)數(shù)據(jù)加 載到數(shù)據(jù)庫(kù)。數(shù)據(jù)庫(kù)加載器是從外部源中提取數(shù)據(jù)、將被提取的數(shù)據(jù)變換為適合于加載到 目標(biāo)數(shù)據(jù)庫(kù)表中的格式、W及用被提取的數(shù)據(jù)填充數(shù)據(jù)庫(kù)表的應(yīng)用。因此,來(lái)自外部源的數(shù) 據(jù)被數(shù)據(jù)庫(kù)內(nèi)部化,并且被轉(zhuǎn)換為符合數(shù)據(jù)庫(kù)的內(nèi)部組織的格式。運(yùn)種方法允許DBMS能夠 在來(lái)自外部數(shù)據(jù)源的數(shù)據(jù)被加載到數(shù)據(jù)庫(kù)之后對(duì)數(shù)據(jù)執(zhí)行查詢。但是加載過(guò)程設(shè)及較高的 處理和存儲(chǔ)開(kāi)銷,特別是在外部源包括大量連續(xù)更新的數(shù)據(jù)的情況中。
[0008] 另一個(gè)用于評(píng)估外來(lái)數(shù)據(jù)的方法是將查詢?cè)u(píng)估卸載到外來(lái)數(shù)據(jù)的外部源。例如, 當(dāng)指向外來(lái)數(shù)據(jù)的數(shù)據(jù)庫(kù)查詢被接收時(shí),DBMS可W將數(shù)據(jù)庫(kù)查詢發(fā)送到外部源W用于評(píng) 估。外部源然后可W評(píng)估查詢并且將查詢結(jié)果返回到DBMS。運(yùn)種方法增大了外部數(shù)據(jù)源的 處理開(kāi)銷,并且要求外部數(shù)據(jù)源能夠處理從DBMS接收到的查詢。
[0009] 在此部分中描述的方法是可W尋求的方法,但不一定是之前已經(jīng)被構(gòu)想或?qū)で蟮?方法。因此,除非W其他方式表明,不應(yīng)當(dāng)假定僅僅由于在此部分中包含運(yùn)些方法,在此部 分中所述的方法中的任一方法適合作為現(xiàn)有技術(shù)。
【附圖說(shuō)明】
[0010] 在附圖中,W示例的方式而不是W限制的方式說(shuō)明各種實(shí)施例,其中相同的引用 數(shù)字指代相同的元件,其中:
[0011] 圖1是描繪根據(jù)一個(gè)實(shí)施例的用于處理外部數(shù)據(jù)源的示例的系統(tǒng)架構(gòu)的框圖;
[0012] 圖2是說(shuō)明根據(jù)一個(gè)實(shí)施例的用于評(píng)估訪問(wèn)外來(lái)數(shù)據(jù)的查詢的進(jìn)程的流程圖;
[0013] 圖3是說(shuō)明根據(jù)一個(gè)實(shí)施例的示例的數(shù)據(jù)庫(kù)查詢和結(jié)果緩存的結(jié)果狀態(tài)的圖表;
[0014] 圖4是描繪可W在其上實(shí)施實(shí)施例的計(jì)算機(jī)系統(tǒng)的框圖。
【具體實(shí)施方式】
[0015]用于為S化處理緩存外來(lái)數(shù)據(jù)的技術(shù)在運(yùn)里被描述。在W下描述中,為了解釋的 目的,許多特定的細(xì)節(jié)被闡釋W(xué)便提供對(duì)本發(fā)明深入的理解。但是顯而易見(jiàn)的是,本發(fā)明可 W在沒(méi)有運(yùn)些特定細(xì)節(jié)的情況下被實(shí)施。在其他情況中,熟知的結(jié)構(gòu)和設(shè)備W框圖的形式 被示出W便避免不必要地使本發(fā)明難W理解。
[0016] 總體概述
[0017]根據(jù)運(yùn)里所述的實(shí)施例,數(shù)據(jù)庫(kù)系統(tǒng)被配置為按需要緩存外來(lái)數(shù)據(jù),而不用將外 來(lái)數(shù)據(jù)加載到數(shù)據(jù)庫(kù)的持久存儲(chǔ)設(shè)備中。對(duì)外來(lái)數(shù)據(jù)的緩存在運(yùn)里被稱為"外部數(shù)據(jù)緩 存"。通過(guò)緩存運(yùn)樣的數(shù)據(jù),可W對(duì)外來(lái)數(shù)據(jù)執(zhí)行S化分析和其他數(shù)據(jù)分析,而不用重復(fù)地 從外部源提取最經(jīng)常使用的外來(lái)數(shù)據(jù)。同時(shí),因?yàn)閿?shù)據(jù)僅僅被緩存而不是被持久存儲(chǔ)在數(shù) 據(jù)庫(kù)中,因此數(shù)據(jù)庫(kù)不被潛在地?zé)o關(guān)的外來(lái)數(shù)據(jù)過(guò)載。因此,對(duì)外來(lái)數(shù)據(jù)的查詢處理速度可 W增大,而不增大數(shù)據(jù)庫(kù)的存儲(chǔ)開(kāi)銷。另外,查詢?cè)u(píng)估可W被數(shù)據(jù)庫(kù)系統(tǒng)完全內(nèi)部化,而不 用將計(jì)算卸載到外來(lái)數(shù)據(jù)的外部源。
[0018] 在實(shí)施例中,即使生成外來(lái)數(shù)據(jù)的外部數(shù)據(jù)庫(kù)可不同的格式存儲(chǔ)數(shù)據(jù),DBMS 也可-種數(shù)據(jù)庫(kù)系統(tǒng)內(nèi)在的格式緩存外來(lái)數(shù)據(jù)。例如,外來(lái)數(shù)據(jù)可W存在于外部數(shù)據(jù) 源中任意的數(shù)據(jù)文件中。當(dāng)查詢被接收時(shí),適合的數(shù)據(jù)可W從數(shù)據(jù)文件被映射到由數(shù)據(jù)庫(kù) 系統(tǒng)定義的一個(gè)或多個(gè)數(shù)據(jù)庫(kù)對(duì)象。格式可W對(duì)應(yīng)于數(shù)據(jù)庫(kù)的內(nèi)部結(jié)構(gòu)和組織W促進(jìn)使用 外來(lái)數(shù)據(jù)的查詢?cè)u(píng)估。當(dāng)訪問(wèn)外來(lái)數(shù)據(jù)的隨后的查詢被接收時(shí),DBMS可W訪問(wèn)被緩存的外 來(lái)數(shù)據(jù),而不必從外部源重新提取數(shù)據(jù)或重新格式化數(shù)據(jù)W符合數(shù)據(jù)庫(kù)的內(nèi)部組織。
[0019] 在實(shí)施例中,DBMS根據(jù)一個(gè)或多個(gè)緩存管理策略管理外部數(shù)據(jù)緩存。例如,DBMS 可W從緩存中清除已經(jīng)變冷的外來(lái)數(shù)據(jù)。DMBS還可W使已經(jīng)變陳舊的外來(lái)數(shù)據(jù)無(wú)效。
[0020] 在其他實(shí)施例中,外部數(shù)據(jù)緩存分布在多個(gè)節(jié)點(diǎn)上,DBMS可W將外來(lái)數(shù)據(jù)分布到 不同的節(jié)點(diǎn)。當(dāng)訪問(wèn)外來(lái)數(shù)據(jù)的查詢被接收時(shí),多個(gè)節(jié)點(diǎn)可W用于并行地執(zhí)行查詢。 陽(yáng)ow 系統(tǒng)概述
[0022] 圖1是描繪根據(jù)實(shí)施例的示例的系統(tǒng)架構(gòu)的框圖。數(shù)據(jù)庫(kù)系統(tǒng)100通常包括數(shù)據(jù) 庫(kù)管理器110,外部數(shù)據(jù)緩存120,W及數(shù)據(jù)庫(kù)130。數(shù)據(jù)庫(kù)管理器110是包括一個(gè)或多個(gè) 數(shù)據(jù)庫(kù)服務(wù)器的DBMS,并且控制對(duì)存儲(chǔ)在數(shù)據(jù)庫(kù)130中的內(nèi)部數(shù)據(jù)的訪問(wèn),所述數(shù)據(jù)庫(kù)130 包括元數(shù)據(jù)存儲(chǔ)庫(kù)132和結(jié)構(gòu)化數(shù)據(jù)134。依賴于實(shí)施方式,數(shù)據(jù)庫(kù)管理器110可W分布在 多個(gè)計(jì)算系統(tǒng)中、或單個(gè)計(jì)算機(jī)中。數(shù)據(jù)庫(kù)管理器110包括數(shù)據(jù)庫(kù)查詢處理邏輯器112、無(wú) 效邏輯器114、W及訪問(wèn)驅(qū)動(dòng)器116。包括數(shù)據(jù)庫(kù)管理器110、外部數(shù)據(jù)緩存120、W及數(shù)據(jù) 庫(kù)130的數(shù)據(jù)庫(kù)系統(tǒng)100可W包括出于簡(jiǎn)潔的目的而不被示出的其他元件。
[0023] 查詢處理邏輯器112包括用于編譯和執(zhí)行由數(shù)據(jù)庫(kù)用戶140提交的數(shù)據(jù)庫(kù)查詢 142的邏輯器。數(shù)據(jù)庫(kù)用戶140可W是能夠?qū)?shù)據(jù)庫(kù)查詢142提交到數(shù)據(jù)庫(kù)系統(tǒng)100的任 何人、應(yīng)用、或其他機(jī)構(gòu)。查詢處理邏輯器112可W處理和執(zhí)行指向諸如外來(lái)數(shù)據(jù)152之類 的存在于數(shù)據(jù)庫(kù)130外部的數(shù)據(jù)的S化查詢、指向諸如結(jié)構(gòu)化數(shù)據(jù)134之類的數(shù)據(jù)庫(kù)130 內(nèi)部的數(shù)據(jù)的S化查詢、或指向兩者的任何組合的S化查詢。查詢處理邏輯器112可W包 括但不限于,用于從查詢表達(dá)式提取數(shù)據(jù)庫(kù)操作W及生成查詢執(zhí)行計(jì)劃的語(yǔ)言引擎,用于 優(yōu)化查詢執(zhí)行計(jì)劃的查詢優(yōu)化器,W及用于對(duì)適合的數(shù)據(jù)庫(kù)對(duì)象執(zhí)行被優(yōu)化的查詢執(zhí)行計(jì) 劃的數(shù)據(jù)庫(kù)操作的數(shù)據(jù)庫(kù)引擎。
[0024] 外部數(shù)據(jù)緩存120是由數(shù)據(jù)庫(kù)管理器110使用的用于存儲(chǔ)從外部數(shù)據(jù)源提取的外 來(lái)數(shù)據(jù)的存儲(chǔ)器緩存。外部數(shù)據(jù)緩存可W存在于在單個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)上的系統(tǒng)存儲(chǔ)器,或可 W分布到多個(gè)數(shù)據(jù)庫(kù)節(jié)點(diǎn)。數(shù)據(jù)庫(kù)節(jié)點(diǎn)可W包括針對(duì)數(shù)據(jù)庫(kù)管理器110的一個(gè)實(shí)例實(shí)施數(shù) 據(jù)庫(kù)服務(wù)器的任何主機(jī)。數(shù)據(jù)庫(kù)系統(tǒng)100可W包括出于簡(jiǎn)潔的目的而不被示出的其他數(shù)據(jù) 緩存。示例包括但不限于,元數(shù)據(jù)(或數(shù)據(jù)字典)緩存,緩沖區(qū)緩存,結(jié)果緩存,W及庫(kù)緩存。 在實(shí)施例中,外部數(shù)據(jù)緩存120是數(shù)據(jù)庫(kù)結(jié)果緩存的一部分,如下詳細(xì)所述。針對(duì)外部數(shù)據(jù) 緩存的存儲(chǔ)器可W在數(shù)據(jù)庫(kù)實(shí)例被啟動(dòng)時(shí)被分配,并且在數(shù)據(jù)庫(kù)實(shí)例終止時(shí)被釋放。外部 數(shù)據(jù)緩存120可W被屬于單個(gè)數(shù)據(jù)庫(kù)實(shí)例的多個(gè)進(jìn)程分享。如果外部數(shù)據(jù)緩存120不具有 用于緩存外來(lái)數(shù)據(jù)的更多有效空間,則外來(lái)數(shù)據(jù)中的一些數(shù)據(jù)可W被移動(dòng)到盤中,如下詳 細(xì)所述。
[00巧]訪問(wèn)驅(qū)動(dòng)器16是解釋針對(duì)數(shù)據(jù)庫(kù)系統(tǒng)100的外來(lái)數(shù)據(jù)152的應(yīng)用程序接口 (API)。當(dāng)數(shù)據(jù)庫(kù)查詢142中的一個(gè)數(shù)據(jù)庫(kù)查詢請(qǐng)求訪問(wèn)外來(lái)數(shù)據(jù)時(shí),數(shù)據(jù)庫(kù)管理器110可 W使用訪問(wèn)驅(qū)動(dòng)器116讀取和格式化來(lái)自外部數(shù)據(jù)源150的外來(lái)數(shù)據(jù)152。在實(shí)施例中,訪 問(wèn)驅(qū)動(dòng)器116對(duì)外來(lái)數(shù)據(jù)152執(zhí)行變換,W使得外來(lái)數(shù)據(jù)152與數(shù)據(jù)庫(kù)系統(tǒng)100的內(nèi)部結(jié) 構(gòu)和組織相匹配。
[00%] 緩存管理邏輯器114根據(jù)一個(gè)或多個(gè)緩存替換策略管理外部數(shù)據(jù)緩存120。例如, 緩存管理邏輯器114可W從外部數(shù)據(jù)緩存120中清除最近最少使用的外來(lái)數(shù)據(jù)對(duì)象,W針 對(duì)到來(lái)的外來(lái)數(shù)據(jù)生成空間。緩存管理邏輯器114還可W在外來(lái)數(shù)據(jù)變陳舊時(shí)使外來(lái)數(shù)據(jù) 無(wú)效。用于無(wú)效外來(lái)數(shù)據(jù)的技術(shù)在下面詳細(xì)地被描
當(dāng)前第1頁(yè)1 2 3 4 5 
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
聂拉木县| 泉州市| 临夏市| 淮滨县| 瑞安市| 虞城县| 新绛县| 凤山县| 海盐县| 中江县| 三门县| 沈阳市| 郑州市| 合川市| 西安市| 修文县| 安顺市| 绥中县| 富阳市| 宁蒗| 宁明县| 五大连池市| 西乌| 丰都县| 青州市| 四子王旗| 措美县| 稷山县| 探索| 定兴县| 海阳市| 同江市| 进贤县| 阳朔县| 西昌市| 利辛县| 会理县| 乳源| 石狮市| 陆丰市| 黄陵县|