亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

范圍化數(shù)據(jù)庫(kù)連接的制作方法

文檔序號(hào):6437950閱讀:211來(lái)源:國(guó)知局
專利名稱:范圍化數(shù)據(jù)庫(kù)連接的制作方法
技術(shù)領(lǐng)域
本申請(qǐng)涉及范圍化數(shù)據(jù)庫(kù)連接。
背景技術(shù)
1.背景和相關(guān)技術(shù)計(jì)算機(jī)系統(tǒng)和相關(guān)技術(shù)影響社會(huì)的許多方面。的確,計(jì)算機(jī)系統(tǒng)處理信息的能力已轉(zhuǎn)變了人們生活和工作的方式。計(jì)算機(jī)系統(tǒng)現(xiàn)在通常執(zhí)行在計(jì)算機(jī)系統(tǒng)出現(xiàn)以前手動(dòng)執(zhí)行的許多任務(wù)(例如,文字處理、日程安排和會(huì)計(jì)等)。最近,計(jì)算機(jī)系統(tǒng)彼此耦合并耦合到其他電子設(shè)備以形成計(jì)算機(jī)系統(tǒng)和其他電子設(shè)備可以在其上傳輸電子數(shù)據(jù)的有線和無(wú)線計(jì)算機(jī)網(wǎng)絡(luò)。因此,許多計(jì)算任務(wù)的執(zhí)行跨多個(gè)不同的計(jì)算機(jī)系統(tǒng)和/或多個(gè)不同的計(jì)算環(huán)境分布。在一些計(jì)算環(huán)境中,使用數(shù)據(jù)庫(kù)來(lái)管理一個(gè)或多個(gè)數(shù)據(jù)庫(kù)承租人(例如用戶、組織等)的數(shù)據(jù)集。當(dāng)管理多個(gè)承租人的數(shù)據(jù)時(shí),可以使用隔離邊界來(lái)將不同數(shù)據(jù)庫(kù)承租人的數(shù)據(jù)分隔開來(lái)并提升安全性。隔離邊界通常是通過(guò)對(duì)每個(gè)承租人使用單獨(dú)數(shù)據(jù)庫(kù)來(lái)形成的。例如,通過(guò)將來(lái)自一個(gè)用戶的數(shù)據(jù)存儲(chǔ)在單獨(dú)的數(shù)據(jù)庫(kù)中,可以將該用戶的數(shù)據(jù)與來(lái)自所有其他用戶的數(shù)據(jù)分隔開來(lái)。然而,一些應(yīng)用管理非常大量的承租人。例如,社交網(wǎng)絡(luò)站點(diǎn)可以具有數(shù)億用戶。 為每個(gè)承租人(用戶)維護(hù)單獨(dú)的數(shù)據(jù)會(huì)變得很麻煩并且資源密集的。在一些環(huán)境中,通過(guò)碎片化(sharding)來(lái)形成隔離邊界。碎片化是一種通過(guò)將不同的行分離到不同的表格中來(lái)拆分(分區(qū))一個(gè)或多個(gè)表格的水平分區(qū)形式。水平分區(qū)減少了每個(gè)表格中的行的總數(shù),減少了跨單個(gè)方案的實(shí)例(或同一邏輯服務(wù)器)的索引大小。 通過(guò)跨多個(gè)服務(wù)器(邏輯的或物理的)拆分(分區(qū))一個(gè)或多個(gè)表格來(lái)進(jìn)一步碎片化。這樣,碎片化能夠?qū)⑤^大的數(shù)據(jù)庫(kù)在多個(gè)機(jī)器上分布,改進(jìn)了性能。然而,碎片化難以實(shí)現(xiàn),并且通常需要手動(dòng)編碼和在應(yīng)用層和數(shù)據(jù)庫(kù)之間的復(fù)雜的協(xié)調(diào)。無(wú)論使用了什么隔離方案,在數(shù)據(jù)庫(kù)是在線或離線時(shí),數(shù)據(jù)隔離可以改變?cè)跀?shù)據(jù)庫(kù)或數(shù)據(jù)庫(kù)分區(qū)中數(shù)據(jù)的排列。這樣,即使底層數(shù)據(jù)保持相同,但數(shù)據(jù)集在數(shù)據(jù)庫(kù)環(huán)境中的位置會(huì)改變。因此,即使數(shù)據(jù)沒有被改變,但給定的數(shù)據(jù)庫(kù)查詢?cè)诓煌臅r(shí)間基于當(dāng)前的數(shù)據(jù)排列會(huì)返回不同的結(jié)果。

發(fā)明內(nèi)容
本發(fā)明擴(kuò)展到用于范圍化在聯(lián)合的數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)連接的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)接收在分布數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)使用的上下文。所述上下文標(biāo)識(shí)了分布數(shù)據(jù)庫(kù)系統(tǒng)中的指定相關(guān)的聯(lián)合部分。計(jì)算機(jī)系統(tǒng)還接收與所述上下文相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作。計(jì)算機(jī)系統(tǒng)根據(jù)所關(guān)聯(lián)的上下文對(duì)數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改以將該數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到指定相關(guān)的聯(lián)合部分。提供本概述以便以簡(jiǎn)化的形式介紹將在以下的詳細(xì)描述中進(jìn)一步描述的一些概念。本發(fā)明內(nèi)容并非旨在標(biāo)識(shí)所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于幫助確定所要求保護(hù)的主題的范圍。本發(fā)明的附加特征和優(yōu)點(diǎn)將在以下描述中敘述,且其一部分根據(jù)本說(shuō)明書將是顯而易見的,或可通過(guò)對(duì)本發(fā)明的實(shí)踐來(lái)獲知。本發(fā)明的特征和優(yōu)點(diǎn)可通過(guò)在所附權(quán)利要求書中特別指出的工具和組合來(lái)實(shí)現(xiàn)和獲得。本發(fā)明的這些和其他特征將通過(guò)以下描述和所附權(quán)利要求書變得更加顯而易見,或可通過(guò)對(duì)下文中所述的本發(fā)明的實(shí)踐來(lái)領(lǐng)會(huì)。


為了描述可獲得本發(fā)明的上述和其它優(yōu)點(diǎn)和特征的方式,將通過(guò)參考附圖中示出的本發(fā)明的具體實(shí)施例來(lái)呈現(xiàn)以上簡(jiǎn)要描述的本發(fā)明的更具體描述??梢岳斫猓@些附圖僅描述本發(fā)明的典型實(shí)施例,從而不被認(rèn)為是對(duì)其范圍的限制,本發(fā)明將通過(guò)使用附圖用附加特征和細(xì)節(jié)來(lái)描述和說(shuō)明,在附圖中圖IA示出了便于范圍化數(shù)據(jù)庫(kù)連接的示例計(jì)算機(jī)體系結(jié)構(gòu)。圖IB示出了便于范圍化數(shù)據(jù)庫(kù)連接的示例計(jì)算機(jī)體系結(jié)構(gòu)。圖2示出了用于范圍化被用于訪問數(shù)據(jù)庫(kù)分區(qū)的上下文的示例方法的流程圖。
具體實(shí)施例方式本發(fā)明擴(kuò)展到用于范圍化在聯(lián)合的數(shù)據(jù)庫(kù)中的數(shù)據(jù)庫(kù)連接的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)接收在分布數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)使用的上下文。所述上下文標(biāo)識(shí)了分布數(shù)據(jù)庫(kù)系統(tǒng)中的指定相關(guān)的聯(lián)合部分。計(jì)算機(jī)系統(tǒng)還接收與所述上下文相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作。計(jì)算機(jī)系統(tǒng)根據(jù)所關(guān)聯(lián)的上下文對(duì)數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改以將該數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到指定相關(guān)的聯(lián)合部分。本發(fā)明的各實(shí)施例可包括或利用專用或通用計(jì)算機(jī),該專用或通用計(jì)算機(jī)包括諸如例如一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器等計(jì)算機(jī)硬件,如以下更詳細(xì)討論的。本發(fā)明范圍內(nèi)的各實(shí)施例還包括用于攜帶或存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令和/或數(shù)據(jù)結(jié)構(gòu)的物理介質(zhì)和其他計(jì)算機(jī)可讀介質(zhì)。這些計(jì)算機(jī)可讀介質(zhì)可以是通用或?qū)S糜?jì)算機(jī)系統(tǒng)能夠訪問的任何可用介質(zhì)。存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)。攜帶計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì)是傳輸介質(zhì)。由此,作為示例而非限制,本發(fā)明的各實(shí)施例可包括至少兩種完全不同類型的計(jì)算機(jī)可讀介質(zhì)計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)和傳輸介質(zhì)。計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)包括RAM、ROM、EEPROM、CD-ROM或其他光盤存儲(chǔ)、磁盤存儲(chǔ)或其他磁存儲(chǔ)設(shè)備、或可用于存儲(chǔ)計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置的且可由通用或?qū)S糜?jì)算機(jī)訪問的任何其他介質(zhì)?!熬W(wǎng)絡(luò)”被定義為允許在計(jì)算機(jī)系統(tǒng)和/或模塊和/或其他電子設(shè)備之間傳輸電子數(shù)據(jù)的一個(gè)或多個(gè)數(shù)據(jù)鏈路。當(dāng)信息通過(guò)網(wǎng)絡(luò)或另一個(gè)通信連接(硬連線、無(wú)線、或者硬連線或無(wú)線的組合)傳輸或提供給計(jì)算機(jī)時(shí),該計(jì)算機(jī)將該連接適當(dāng)?shù)匾暈閭鬏斀橘|(zhì)。傳輸介質(zhì)可包括可用于攜帶計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的所需程序代碼裝置且可由通用或?qū)S糜?jì)算機(jī)訪問的網(wǎng)絡(luò)和/或數(shù)據(jù)鏈路。上述的組合也應(yīng)被包括在計(jì)算機(jī)可讀介質(zhì)的范圍內(nèi)。此外,在到達(dá)各種計(jì)算機(jī)系統(tǒng)組件之后,計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)形式的程序代碼裝置可從傳輸介質(zhì)自動(dòng)傳輸?shù)接?jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)(或反之亦然)。例如,通過(guò)網(wǎng)絡(luò)或數(shù)據(jù)鏈接接收到的計(jì)算機(jī)可執(zhí)行指令或數(shù)據(jù)結(jié)構(gòu)可被緩存在網(wǎng)絡(luò)接口模塊(例如, “NIC”)內(nèi)的RAM中,然后最終被傳輸?shù)接?jì)算機(jī)系統(tǒng)RAM和/或計(jì)算機(jī)系統(tǒng)處的較不易失性的計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)。因而,應(yīng)當(dāng)理解,計(jì)算機(jī)存儲(chǔ)介質(zhì)(設(shè)備)可被包括在還利用 (甚至主要利用)傳輸介質(zhì)的計(jì)算機(jī)系統(tǒng)組件中。計(jì)算機(jī)可執(zhí)行指令例如包括,當(dāng)在處理器處執(zhí)行時(shí)使通用計(jì)算機(jī)、專用計(jì)算機(jī)、或?qū)S锰幚碓O(shè)備執(zhí)行某一功能或某組功能的指令和數(shù)據(jù)。計(jì)算機(jī)可執(zhí)行指令可以是例如二進(jìn)制代碼、諸如匯編語(yǔ)言之類的中間格式指令、或甚至源代碼。盡管用結(jié)構(gòu)特征和/或方法動(dòng)作專用的語(yǔ)言描述了本主題,但可以理解,所附權(quán)利要求書中定義的主題不必限于上述特征或動(dòng)作。相反,上述特征和動(dòng)作是作為實(shí)現(xiàn)權(quán)利要求的示例形式而公開的。本領(lǐng)域的技術(shù)人員將理解,本發(fā)明可以在具有許多類型的計(jì)算機(jī)系統(tǒng)配置的網(wǎng)絡(luò)計(jì)算環(huán)境中實(shí)踐,這些計(jì)算機(jī)系統(tǒng)配置包括個(gè)人計(jì)算機(jī)、臺(tái)式計(jì)算機(jī)、膝上型計(jì)算機(jī)、消息處理器、手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的或可編程消費(fèi)電子設(shè)備、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)、移動(dòng)電話、PDA、尋呼機(jī)、路由器、交換機(jī)等等。本發(fā)明也可在其中通過(guò)網(wǎng)絡(luò)鏈接(或者通過(guò)硬連線數(shù)據(jù)鏈路、無(wú)線數(shù)據(jù)鏈路,或者通過(guò)硬連線和無(wú)線數(shù)據(jù)鏈路的組合)的本地和遠(yuǎn)程計(jì)算機(jī)系統(tǒng)兩者都執(zhí)行任務(wù)的分布式系統(tǒng)環(huán)境中實(shí)施。在分布式系統(tǒng)環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲(chǔ)器存儲(chǔ)設(shè)備中。通常,范圍化的連接被用于將它們查詢上的操作自動(dòng)向下過(guò)濾到指定的數(shù)據(jù)庫(kù)承租人,而不需要應(yīng)用必須完成過(guò)濾所述操作的額外工作。這種類型的連接使得在單個(gè)聯(lián)合成員(物理數(shù)據(jù)庫(kù))中安置多個(gè)承租人變得容易,同時(shí)確保了當(dāng)聯(lián)合成員內(nèi)的數(shù)據(jù)排列改變時(shí)的操作的一致性。本發(fā)明的實(shí)施例包括數(shù)據(jù)庫(kù)聯(lián)合的使用,該聯(lián)合尤其可用于數(shù)據(jù)隔離。數(shù)據(jù)庫(kù)聯(lián)合是一種一個(gè)或多個(gè)聯(lián)合成員的集合,每個(gè)聯(lián)合成員表示可以被分開存儲(chǔ)的數(shù)據(jù)庫(kù)分區(qū)。 根據(jù)聯(lián)合方案定義聯(lián)合成員,并且聯(lián)合成員包括一個(gè)或多個(gè)聯(lián)合的(或分布的)數(shù)據(jù)表格, 這些數(shù)據(jù)表格在公共聯(lián)合鍵(例如諸如federatiorukey (聯(lián)合_鍵)、tenant_id(承租人 id)等的列)上被聯(lián)合。這樣,每個(gè)聯(lián)合成員可以包括一個(gè)或多個(gè)具有在所定義的分布中的聯(lián)合鍵的值的聯(lián)合數(shù)據(jù)表格的一組行。數(shù)據(jù)庫(kù)聯(lián)合因此可以包括一個(gè)或多個(gè)聯(lián)合成員,每個(gè)聯(lián)合成員基于聯(lián)合鍵的值的對(duì)應(yīng)范圍而包括一個(gè)或多個(gè)聯(lián)合的表格的一部分。所述聯(lián)合方案定義下述一個(gè)或多個(gè)項(xiàng)每個(gè)聯(lián)合成員的聯(lián)合鍵、它們的數(shù)據(jù)類型以及分布數(shù)據(jù)(例如范圍、散列、循環(huán))。每個(gè)聯(lián)合可以具有其自身的聯(lián)合方案。聯(lián)合成員在應(yīng)用模型中可以是可見的,并且通過(guò)它們的聯(lián)合鍵分布以及在一些實(shí)施例中通過(guò)成員名字來(lái)標(biāo)識(shí)。每個(gè)聯(lián)合成員可以包括一個(gè)或多個(gè)聯(lián)合單元。聯(lián)合單元是具有公共的聯(lián)合鍵的值的一個(gè)或多個(gè)聯(lián)合數(shù)據(jù)表格的行的集合。在一些實(shí)施例中,聯(lián)合單元可以對(duì)應(yīng)于單獨(dú)數(shù)據(jù)庫(kù)承租人,并且聯(lián)合鍵可以用于使用承租人標(biāo)識(shí)符(例如tenanted = 55(承租人id = 55))來(lái)標(biāo)識(shí)承租人。這樣,聯(lián)合單元可以是依靠具有在聯(lián)合成員的聯(lián)合鍵范圍或分布中的聯(lián)合鍵的值的聯(lián)合成員的一部分。聯(lián)合單元通常是原子的,因此,它是不可分的??梢栽谌我鈹?shù)據(jù)庫(kù)中創(chuàng)建聯(lián)合。在一個(gè)數(shù)據(jù)庫(kù)中可以存在許多聯(lián)合,每個(gè)聯(lián)合表示一個(gè)分開的表格集合,例如“所有的消費(fèi)者數(shù)據(jù)”或“所有訂單數(shù)據(jù)”,并且,每個(gè)聯(lián)合成員
6可以含有完整的數(shù)據(jù)集的子集。然而,對(duì)于單個(gè)聯(lián)合成員來(lái)說(shuō),也可能含有整個(gè)表格集合。除了包含來(lái)自分區(qū)的或聯(lián)合的表格的行之外,聯(lián)合成員還可以包含其行是完整包含在所述成員內(nèi)的常規(guī)(非聯(lián)合的)表格。非聯(lián)合的表格可以包含結(jié)合分區(qū)數(shù)據(jù)來(lái)檢索的參考數(shù)據(jù)(例如產(chǎn)品信息(參考數(shù)據(jù))和產(chǎn)品銷售(由銷售日期聯(lián)合的))。聯(lián)合成員可以是彼此物理分開的(例如在不同的機(jī)器上運(yùn)行、保存在分開的存儲(chǔ)中)。這樣,在一個(gè)聯(lián)合成員處的數(shù)據(jù)也可以是與在其他聯(lián)合成員處的數(shù)據(jù)物理分開的。用于在一個(gè)聯(lián)合成員中的聯(lián)合的和非聯(lián)合的表格的方案可以與其他聯(lián)合成員中的表格的方案不相同。方案的分歧可以是臨時(shí)的,例如將新的方案版本跨聯(lián)合中的成員子集安置鋪開 (roll-out),并直到聯(lián)合成員最終聚合在同一方案上。聯(lián)合可以包括根數(shù)據(jù)庫(kù),它表示了聯(lián)合的應(yīng)用邊界。根數(shù)據(jù)庫(kù)對(duì)于連接到聯(lián)合的應(yīng)用是“著陸墊(landing pad) ”或是邏輯端點(diǎn)。根數(shù)據(jù)庫(kù)可以包含一個(gè)或多個(gè)命名的聯(lián)合,每個(gè)聯(lián)合具有其自身的定義聯(lián)合鍵的聯(lián)合方案。根數(shù)據(jù)庫(kù)還可以包含全局?jǐn)?shù)據(jù),包括 應(yīng)用定義(配置)數(shù)據(jù)、用戶和密碼以及角色。根數(shù)據(jù)庫(kù)還可以包含聯(lián)合成員的版本信息或提供分布查詢處理能力。聯(lián)合還可以定義用于數(shù)據(jù)分布的分布策略以及數(shù)據(jù)類型。通過(guò)聯(lián)合概念以及用于在物理數(shù)據(jù)庫(kù)之間在線復(fù)制數(shù)據(jù)的第一類服務(wù)器側(cè)的聲明的引入,可以更加容易地開發(fā)新類型的云、web和多承租人的解決方案。通過(guò)范圍化連接,應(yīng)用可以使用單個(gè)連接而連接到聯(lián)合成員,并只能看到包含該值的聯(lián)合表格的部分。根據(jù)上述內(nèi)容,圖IA和IB示出了便于范圍化數(shù)據(jù)庫(kù)連接的示例計(jì)算機(jī)體系100。 參考圖1A,計(jì)算機(jī)體系100包括數(shù)據(jù)訪問模塊101和數(shù)據(jù)庫(kù)聯(lián)合102。所描繪的組件中的每一個(gè)都通過(guò)諸如例如局域網(wǎng)(“LAN”)、廣域網(wǎng)(“WAN”)或甚至因特網(wǎng)之類的網(wǎng)絡(luò)彼此連接(或者是網(wǎng)絡(luò)的一部分)。因此,所描繪的組件中的每一個(gè)以及任何其他連接的計(jì)算機(jī)系統(tǒng)及其組件都可以創(chuàng)建消息相關(guān)數(shù)據(jù)并通過(guò)網(wǎng)絡(luò)交換與消息相關(guān)數(shù)據(jù)(例如,網(wǎng)際協(xié)議 (“IP”)數(shù)據(jù)報(bào)和利用IP數(shù)據(jù)報(bào)的其他更高層協(xié)議,諸如傳輸控制協(xié)議(“TCP”)、超文本傳輸協(xié)議(“HTTP”)、簡(jiǎn)單郵件傳輸協(xié)議(“SMTP”)等)。如所述,數(shù)據(jù)庫(kù)聯(lián)合102包括基于對(duì)應(yīng)于原始數(shù)據(jù)表格的一列的聯(lián)合鍵105而在聯(lián)合表格104A、104B和104C上分布原始數(shù)據(jù)表格(未示出)的行的分區(qū)(即聯(lián)合成員)103A、10;3B和103C。原始數(shù)據(jù)表格的行基于所述列的值以及分配給每個(gè)分區(qū)的鍵值 (106A、106B和106C)的部分在聯(lián)合表格(104A、104B禾口 104C)上分布。例如,分區(qū)103A包括聯(lián)合表格104A,它存儲(chǔ)了具有在鍵值106A的部分中的聯(lián)合鍵105的值的原始數(shù)據(jù)表格的行。類似地,分區(qū)10 和103C包括聯(lián)合表格104B和104C,聯(lián)合表格104B和104C各自存儲(chǔ)了分別具有在鍵值106B和106C的部分中的聯(lián)合鍵105的值的原始數(shù)據(jù)表格的行。鍵值106A、106B和106C的每個(gè)部分可以定義使用合適的數(shù)據(jù)分布技術(shù)的聯(lián)合鍵值的子集。例如,鍵值的每個(gè)部分可以定義聯(lián)合鍵值的連續(xù)范圍(例如具有聯(lián)合鍵105的值 1-10的行屬于分區(qū)103A、具有聯(lián)合鍵105的值11-20的行屬于分區(qū)10!3Β等)。然而,用于分配鍵值子集的職責(zé)和鍵值子集中的鍵值的其他機(jī)制不需要是連續(xù)的(例如散列、循環(huán))。分區(qū)可以可選地包括被完全包含在對(duì)應(yīng)分區(qū)之內(nèi)的一個(gè)或多個(gè)非聯(lián)合數(shù)據(jù)表格 (例如非聯(lián)合表格107Α、107Β和107C)。非聯(lián)合表格可以存儲(chǔ)參考數(shù)據(jù)或其他類型的非聯(lián)合數(shù)據(jù),它們可以結(jié)合聯(lián)合數(shù)據(jù)來(lái)訪問。
雖然圖IA僅說(shuō)明了一個(gè)數(shù)據(jù)庫(kù)聯(lián)合102,但數(shù)據(jù)庫(kù)可以包括任意數(shù)目的數(shù)據(jù)庫(kù)聯(lián)合。而且,雖然數(shù)據(jù)庫(kù)聯(lián)合102被示出為僅具有一個(gè)聯(lián)合鍵105,但數(shù)據(jù)庫(kù)聯(lián)合可以包括任意數(shù)目的聯(lián)合鍵和對(duì)應(yīng)分區(qū)。而且,雖然結(jié)合聯(lián)合鍵105示出了三個(gè)分區(qū),但人們可以理解借助于在此的揭示,所述數(shù)據(jù)庫(kù)聯(lián)合可以包括任意數(shù)目的分區(qū),包括單個(gè)分區(qū)。最后,雖然每個(gè)分區(qū)被示為僅存儲(chǔ)單個(gè)聯(lián)合表格,每個(gè)表示單個(gè)原始數(shù)據(jù)表格的一部分,但每個(gè)分區(qū)可以存儲(chǔ)對(duì)應(yīng)于多個(gè)原始數(shù)據(jù)表格的多個(gè)聯(lián)合表格。在這種情況下,所述多個(gè)數(shù)據(jù)表格的每個(gè)通過(guò)包括對(duì)應(yīng)于聯(lián)合鍵105的公共列被相關(guān)聯(lián)。分區(qū)103A、10;3B和103C的每個(gè)可以被存儲(chǔ)在分開的存儲(chǔ)位置上(例如分開的物理機(jī)器、分開的數(shù)據(jù)存儲(chǔ)等)。這樣,使用數(shù)據(jù)庫(kù)聯(lián)合102,數(shù)據(jù)庫(kù)操作者可以將原始數(shù)據(jù)表格分布并分區(qū)到多個(gè)分開的位置,因此,便利了數(shù)據(jù)隔離。雖然分區(qū)可以是分開存儲(chǔ)的,但通過(guò)數(shù)據(jù)聯(lián)合102,分區(qū)被作為單個(gè)單元呈現(xiàn)給客戶端應(yīng)用。數(shù)據(jù)庫(kù)聯(lián)合102可以通過(guò)一系列命令來(lái)形成。例如,分區(qū)模塊(未示出)可以發(fā)出創(chuàng)建命令以創(chuàng)建具有聯(lián)合名字109的數(shù)據(jù)庫(kù)聯(lián)合102。在創(chuàng)建數(shù)據(jù)庫(kù)聯(lián)合102后,可以創(chuàng)建覆蓋給定聯(lián)合鍵的所有值的單個(gè)分區(qū)。這樣,單個(gè)分區(qū)將包括原始數(shù)據(jù)表格的所有行。 接著,通過(guò)其他數(shù)據(jù)庫(kù)聯(lián)合操作(例如拆分操作和/或合并操作),單個(gè)分區(qū)被分成分區(qū) 103AU03B和103C,并且原始數(shù)據(jù)表格可以被“聯(lián)合”到聯(lián)合數(shù)據(jù)表格104A、104B和104C。 隨后,可以從數(shù)據(jù)庫(kù)聯(lián)合102中移除原始分區(qū)。數(shù)據(jù)訪問模塊101被配置為提供對(duì)存儲(chǔ)在分區(qū)中的數(shù)據(jù)的訪問。特別地,數(shù)據(jù)訪問模塊101被配置為提供到包含所請(qǐng)求的數(shù)據(jù)的特定分區(qū)的范圍化連接。范圍化連接確保了后續(xù)的拆分和合并操作將不會(huì)影響數(shù)據(jù)庫(kù)命令的結(jié)果,因?yàn)樵诜秶B接上執(zhí)行的命令在數(shù)據(jù)的相同行上操作,而不考慮它們?cè)跀?shù)據(jù)庫(kù)聯(lián)合102中的排列。數(shù)據(jù)庫(kù)訪問模塊101被配置為最初接收包括所請(qǐng)求的數(shù)據(jù)庫(kù)聯(lián)合102的聯(lián)合名字 109、范圍110和過(guò)濾選項(xiàng)111的范圍化連接請(qǐng)求108。范圍110可以是在聯(lián)合表格104A、 104B和104C之一的范圍中的聯(lián)合鍵值。在標(biāo)識(shí)合適的聯(lián)合表格后,數(shù)據(jù)訪問模型101可以被配置為建立到對(duì)應(yīng)的分區(qū)的范圍化的連接。例如,范圍110可以是聯(lián)合表格104A的聯(lián)合鍵值106A的所述部分中的值。這樣,可以在數(shù)據(jù)訪問模塊101和分區(qū)103A之間建立范圍化連接112。數(shù)據(jù)訪問模塊101還可以被配置為對(duì)通過(guò)范圍化連接112連接到分區(qū)103A的數(shù)據(jù)庫(kù)命令進(jìn)行修改,并與范圍110中的數(shù)據(jù)(例如包含在聯(lián)合表格104A中的指定的聯(lián)合鍵值的數(shù)據(jù))進(jìn)行交互。例如,數(shù)據(jù)訪問模塊101可以被配置為將數(shù)據(jù)庫(kù)命令113轉(zhuǎn)換成數(shù)據(jù)庫(kù)命令114,以便經(jīng)修改的數(shù)據(jù)庫(kù)命令114通過(guò)連接112被引向分區(qū)103A。隨后,依據(jù)過(guò)濾選項(xiàng)111的值,經(jīng)修改的數(shù)據(jù)庫(kù)命令114通常與聯(lián)合表格104A中的行進(jìn)行交互,或僅與匹配范圍114的行中的行交互。在一些實(shí)施例中,數(shù)據(jù)庫(kù)命令113、114可以包括結(jié)構(gòu)化查詢語(yǔ)言(SQL)命令。 可以以許多方式來(lái)建立到聯(lián)合成員的連接。在一些實(shí)施例中,范圍化連接請(qǐng)求可以為下述格式USE FEDERATION federation_name(federation_key_value)WITH FILTERING = {ON | OFF},RESET[;]
wherein federation_name是所述連接的目標(biāo)聯(lián)合的名字。federation_key_value定義了所述連接的范圍,并且包括連接到分區(qū)的聯(lián)合鍵值。服務(wù)該聯(lián)合鍵值的分區(qū)變成所述連接要建立到的分區(qū)。所述值通常與由federatioru name所指定的數(shù)據(jù)庫(kù)聯(lián)合所使用的聯(lián)合鍵值的類型相符合,并且不應(yīng)該為空(NULL)。WITH FILTERING = {0N|0FF}定義了所定義的范圍的行為。當(dāng)定義時(shí),WITH RESET使得連接重置清楚。具有FILTERING = ON 的 “USE FEDERATION federation_name (federation_key_ value) ”的聲明便利于與對(duì)應(yīng)分區(qū)建立范圍化連接112,所述范圍化連接112將數(shù)據(jù)庫(kù)命令限制到分區(qū)中的特定的聯(lián)合單元(即具有與聯(lián)合鍵相同的值),而不是存儲(chǔ)在分區(qū)中的行的全部范圍。就是說(shuō),在范圍化連接112期間,諸如SQL之類的數(shù)據(jù)操作語(yǔ)言(DML)僅范圍化到包含指定的聯(lián)合鍵值的對(duì)應(yīng)的聯(lián)合表格中的行。這可以通過(guò)數(shù)據(jù)訪問模型101將聯(lián)合鍵列上的預(yù)測(cè)值(例如“PartitionKey = @value”(分區(qū)鍵=@值))加入到指向聯(lián)合表格的每個(gè)查詢中來(lái)實(shí)現(xiàn)。在“UPDATE”(更新)和“INSERT”(插入)命令的情況下,在范圍之外的操作可以生成異常。對(duì)于“SELECT”(選擇)以及“刪除”命令,具有聯(lián)合鍵值之外的范圍的操作不返回值或沒有效果。具有FILTERING = OFF 的 “USE FEDERATION federation_name (federation_key_ value),,的聲明便利了連接到由包含指定聯(lián)合鍵值的分區(qū)所存儲(chǔ)的行的所有范圍。為定義數(shù)據(jù)結(jié)構(gòu)和要求最大可能的范圍(例如選擇聯(lián)合中的所有數(shù)據(jù)的扇出(fan-out)查詢)的查詢的數(shù)據(jù)定義語(yǔ)言(DDL)命令典型地保留這種連接類型。對(duì)分區(qū)的過(guò)濾可以通過(guò)數(shù)據(jù)訪問模型 101 將預(yù)測(cè)值(例如“range_low[< | <= JPartitionKey[ < | < = range_high”) 加入到指向聯(lián)合表格的每個(gè)查詢中來(lái)實(shí)現(xiàn)??蛇x地,可以建立到直接使用分區(qū)名字來(lái)取代聯(lián)合鍵值的分區(qū)的連接?,F(xiàn)在,返回到圖1B,示例性的聯(lián)合表格104A可以包括行115A-115E。如所示,聯(lián)合表格104A可以包括對(duì)應(yīng)于聯(lián)合鍵105 (例如federation_key,tenant_id等)的列。每個(gè)行115A可以包括在分區(qū)的鍵值106A的部分中的對(duì)應(yīng)的聯(lián)合鍵值116A-116D。在一些實(shí)施例中,聯(lián)合鍵值116A-116D在鍵值106A的部分中每個(gè)可以為唯一的值,而在其他實(shí)施例中, 至少一部分鍵值可以是相同的。例如,行115D和115E被示為共享同一聯(lián)合鍵值116D。在一些實(shí)施例中,例如,這可以指示行115D和115E中的數(shù)據(jù)對(duì)應(yīng)于公共數(shù)據(jù)庫(kù)承租人。當(dāng)使用FILTERING = ON連接到分區(qū)103A時(shí),連接的范圍可以被限制到僅為對(duì)應(yīng)于指定的鍵值的那些行。例如,范圍117A示出使用鍵值116D和FILTERING = ON所建立的連接112的范圍僅包括行115D和115E。這樣,經(jīng)修改的數(shù)據(jù)庫(kù)命令114可以僅作用在行 115D和115E上。當(dāng)指定鍵值對(duì)于一個(gè)行是唯一的時(shí),連接的范圍可以包括少至一行,或者當(dāng)指定的鍵值由多個(gè)行共享時(shí)可以包括多個(gè)行(多至包括聯(lián)合表格中的所有行)。相對(duì)地,當(dāng)連接到使用FILTERING = OFF的分區(qū)103A時(shí),連接的范圍可以是在分區(qū)中的所有行的范圍,如由范圍117B所指示的。這樣,不用考慮在連接請(qǐng)求108的范圍110 中所指定的聯(lián)合鍵值116A-116D,連接112被范圍化到整個(gè)聯(lián)合數(shù)據(jù)表格104A,并且,經(jīng)修改的數(shù)據(jù)庫(kù)命令114可以在表格的所有行(例如行115A-115E)上起作用。圖2示出了用于范圍化被用于訪問數(shù)據(jù)庫(kù)分區(qū)的上下文的示例方法200的流程圖。方法200將參考計(jì)算機(jī)體系結(jié)構(gòu)100的組件和數(shù)據(jù)來(lái)描述。方法200包括接收當(dāng)在分布式數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問時(shí)要使用的上下文的動(dòng)作,所述上下文標(biāo)識(shí)了指定相關(guān)的聯(lián)合部分(動(dòng)作201)。例如,數(shù)據(jù)訪問模塊101可以接收范圍化的連接請(qǐng)求108。范圍化連接請(qǐng)求108可以包括標(biāo)識(shí)要連接到的分區(qū)(例如分區(qū)103A、10;3B或103C之一)的范圍110。范圍化連接請(qǐng)求108還可以包括所請(qǐng)求的數(shù)據(jù)庫(kù)聯(lián)合(例如數(shù)據(jù)庫(kù)聯(lián)合10 和/或過(guò)濾選項(xiàng)111的聯(lián)合名字109。范圍110可以包括在對(duì)應(yīng)于聯(lián)合鍵105的聯(lián)合表格(例如聯(lián)合表格104A、104B或104C之一)中的聯(lián)合鍵列的值。基于與每個(gè)分區(qū)相關(guān)聯(lián)的所述值和鍵值的一部分(例如鍵值106A、106B、和106C的一部分),數(shù)據(jù)訪問模型101可以確定要連接到哪個(gè)分區(qū)。例如,數(shù)據(jù)訪問模型101可以確定范圍110標(biāo)識(shí)了對(duì)應(yīng)于分區(qū)103A的鍵值106A的部分中的一個(gè)鍵值,并且建立與分區(qū)103A 的范圍化連接112。方法200進(jìn)一步包括接收與上下文相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作的動(dòng)作(動(dòng)作202)。 例如,在接收范圍化連接請(qǐng)求108并建立了范圍化連接112之后,數(shù)據(jù)訪問模塊101可以接收與連接請(qǐng)求108相關(guān)聯(lián)的數(shù)據(jù)庫(kù)命令113。數(shù)據(jù)庫(kù)命令113可以包括任何合適的數(shù)據(jù)訪問操作,包括例如UPDATE (更新)、INSERT (插入)、SELECT (選擇)、DELETE (刪除)的DML 命令和/或DDL命令。方法200還包括根據(jù)所關(guān)聯(lián)的上下文對(duì)數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改以將該數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到指定相關(guān)的聯(lián)合部分的動(dòng)作(動(dòng)作203)。例如,數(shù)據(jù)訪問模型101可以修改數(shù)據(jù)庫(kù)命令113以創(chuàng)建在范圍化的連接112中執(zhí)行的數(shù)據(jù)庫(kù)命令114。修改的性質(zhì)可以至少部分地依賴于在范圍化連接請(qǐng)求中所包括的過(guò)濾選項(xiàng)111。當(dāng)過(guò)濾選項(xiàng)111為On (例如FILTERING = ON)時(shí),經(jīng)修改的數(shù)據(jù)庫(kù)命令114可以僅在由范圍110所標(biāo)識(shí)的連接的分區(qū)的數(shù)據(jù)表格中的行上執(zhí)行。在說(shuō)明的情況中,例如,如果范圍110定義鍵值116D,經(jīng)修改的數(shù)據(jù)庫(kù)命令114可以僅在(如由范圍117A所指示的)分區(qū)103中的聯(lián)合表格104A的行115D和115E上執(zhí)行或訪問這些行。類似地,如果范圍110 定義了不同的鍵值(例如116A),那么,經(jīng)修改的數(shù)據(jù)庫(kù)命令114將僅在聯(lián)合表格104A的對(duì)應(yīng)的不同的行(例如115A)上執(zhí)行或訪問該行??梢酝ㄟ^(guò)加入預(yù)測(cè)值,例如“fecLcolumn =value,,、“PartitionKey = Ovalue,,等來(lái)完成范圍化。當(dāng)過(guò)濾選項(xiàng)111為Off (例如FILTERING = OFF)時(shí),經(jīng)修改的數(shù)據(jù)庫(kù)命令114可以在由范圍Iio所標(biāo)識(shí)的連接的分區(qū)的聯(lián)合表格中的任意行上執(zhí)行。例如,如由范圍117B 所示,只要范圍110標(biāo)識(shí)了鍵116A-116D之一,經(jīng)修改的數(shù)據(jù)庫(kù)命令114將在聯(lián)合表格104A 的任意行上執(zhí)行,而不用考慮范圍110的特定值。如先前所示,聯(lián)合可以包括根數(shù)據(jù)庫(kù),該根數(shù)據(jù)庫(kù)表示了聯(lián)合的應(yīng)用邊界并且尤其包含一個(gè)或多個(gè)命名的聯(lián)合。在一些實(shí)施例中,USE FEDERATION(使用聯(lián)合)的聲明可以被用于使用下述格式連接到根數(shù)據(jù)庫(kù)USE FEDERATION ROOTWITH RESET這指明了在聯(lián)合根處的現(xiàn)有連接。當(dāng)在分區(qū)中運(yùn)行時(shí),連接被重置回聯(lián)合根數(shù)據(jù)庫(kù)。當(dāng)在任意其他數(shù)據(jù)庫(kù)中運(yùn)行時(shí),這將導(dǎo)致“空操作(noop)”。通過(guò)允許到包含了聯(lián)合對(duì)象的該數(shù)據(jù)庫(kù)的第一連接的應(yīng)用,所述USE FEDERATION聲明還可以為連接性庫(kù)提供有效連接池行為,并且通過(guò)USE FEDERATION聲明,切換到特定分區(qū)。這有助于確??蛻舳诉B接池保持與如果它必須定址個(gè)別分區(qū)(聯(lián)合成員)或聯(lián)合單元值時(shí)所要保持的池相比更小的池。USE FEDERATION可以典型地在連接的生命周期中的任意點(diǎn)處的連接上執(zhí)行。USE FEDERATION可以將連接從當(dāng)前分區(qū)或根數(shù)據(jù)庫(kù)再接到聯(lián)合根或包含在分區(qū)中的指定鍵值。 當(dāng)通過(guò)USE FEDERATION再次接通連接時(shí),可以重新建立連接。本發(fā)明可具體化為其它具體形式而不背離其精神或本質(zhì)特征。所描述的實(shí)施例在所有方面都應(yīng)被認(rèn)為僅是說(shuō)明性而非限制性的。因此,本發(fā)明的范圍由所附權(quán)利要求書而非前述描述指示。落入權(quán)利要求書的等效方案的含義和范圍內(nèi)的所有改變被權(quán)利要求書的范圍所涵蓋。
權(quán)利要求
1.在包括一個(gè)或多個(gè)處理器和系統(tǒng)存儲(chǔ)器的分布式數(shù)據(jù)庫(kù)系統(tǒng)處,所述分布式數(shù)據(jù)庫(kù)還包括在聯(lián)合(102)中的多個(gè)數(shù)據(jù)庫(kù)分區(qū)(103A、103B、103C),所述聯(lián)合(10 配置為存儲(chǔ)多個(gè)數(shù)據(jù)行(115A-115E),每個(gè)數(shù)據(jù)行由聯(lián)合鍵值(116A-116E)標(biāo)識(shí),使得所述聯(lián)合存儲(chǔ)了聯(lián)合鍵值集的數(shù)據(jù),所述多個(gè)數(shù)據(jù)庫(kù)分區(qū)(103A、10;3B、103C)中的每一個(gè)被配置為物理地存儲(chǔ)具有在集中的聯(lián)合鍵值的指定部分中的一個(gè)聯(lián)合鍵值的數(shù)據(jù)的任意行,一種用于對(duì)用于訪問數(shù)據(jù)庫(kù)分區(qū)的上下文進(jìn)行范圍化的方法,所述方法包括接收當(dāng)在所述分布式數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)要使用的上下文(108)的動(dòng)作,所述上下文標(biāo)識(shí)了所指定的相關(guān)的聯(lián)合部分;接收與所述上下文(108)相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作(11 的動(dòng)作;以及根據(jù)所關(guān)聯(lián)的上下文(108)對(duì)所述數(shù)據(jù)庫(kù)訪問操作(11 的語(yǔ)義進(jìn)行修改以將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到所述所指定的相關(guān)的聯(lián)合部分的動(dòng)作。
2.如權(quán)利要求1所述的方法,其特征在于,所述接收當(dāng)執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)要使用的上下文的動(dòng)作包括接收標(biāo)識(shí)所述聯(lián)合中的相關(guān)數(shù)據(jù)庫(kù)分區(qū)的上下文的動(dòng)作。
3.如權(quán)利要求2所述的方法,其特征在于,所述根據(jù)上下文對(duì)所述數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改的動(dòng)作包括修改所述數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義以將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到所述相關(guān)的數(shù)據(jù)庫(kù)分區(qū)的動(dòng)作。
4.如權(quán)利要求2所述的方法,其特征在于,所述接收當(dāng)執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)要使用的上下文的動(dòng)作包括接收一上下文的動(dòng)作,所述上下文包括包含在所述相關(guān)的數(shù)據(jù)庫(kù)分區(qū)中的指定值。
5.如權(quán)利要求4所述的方法,其特征在于,所述根據(jù)上下文對(duì)所述數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改的動(dòng)作包括修改所述數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義以將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到具有所述指定值的行的動(dòng)作。
6.如權(quán)利要求1所述的方法,其特征在于,所述接收數(shù)據(jù)庫(kù)訪問操作的動(dòng)作包括接收 SQL命令的動(dòng)作。
7.如權(quán)利要求1所述的方法,其特征在于,所述接收數(shù)據(jù)庫(kù)訪問操作的動(dòng)作包括接收對(duì)所述聯(lián)合中所存儲(chǔ)的數(shù)據(jù)的一個(gè)或多個(gè)行的查詢的動(dòng)作。
8.如權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括接收過(guò)濾選項(xiàng)的動(dòng)作。
9.如權(quán)利要求8所述的方法,其特征在于,所述過(guò)濾選項(xiàng)包括開啟過(guò)濾,所述修改數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義的動(dòng)作包括修改數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義以僅允許訪問所述所指定的相關(guān)的聯(lián)合部分中對(duì)應(yīng)于特定聯(lián)合鍵值的行的動(dòng)作。
10.如權(quán)利要求8所述的方法,其特征在于,所述過(guò)濾選項(xiàng)包括關(guān)閉過(guò)濾,所述修改數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義的動(dòng)作包括修改數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義以允許訪問整個(gè)所述所指定的相關(guān)的聯(lián)合部分的動(dòng)作,所述整個(gè)所指定的相關(guān)的聯(lián)合部分包括所述所指定的相關(guān)的聯(lián)合部分中對(duì)應(yīng)于特定聯(lián)合鍵值的行以及所述所指定的相關(guān)的聯(lián)合部分中的其他行。
11.一種在包括聯(lián)合(10 中的多個(gè)數(shù)據(jù)庫(kù)分區(qū)(103A、10;3B、103C)的計(jì)算機(jī)系統(tǒng)處使用的計(jì)算機(jī)程序產(chǎn)品,所述聯(lián)合(10 配置為存儲(chǔ)多個(gè)數(shù)據(jù)行(115A-115E),每個(gè)數(shù)據(jù)行由聯(lián)合鍵值(116A-116E)標(biāo)識(shí),使得所述聯(lián)合存儲(chǔ)了聯(lián)合鍵值集的數(shù)據(jù),所述多個(gè)數(shù)據(jù)庫(kù)分區(qū)(103A、10;3B、103C)中的每一個(gè)被配置為物理地存儲(chǔ)具有在集中的聯(lián)合鍵值的指定部分中的一個(gè)聯(lián)合鍵值的數(shù)據(jù)的任意行,一種用于對(duì)用于訪問數(shù)據(jù)庫(kù)分區(qū)的上下文進(jìn)行范圍化的方法,所述計(jì)算機(jī)程序產(chǎn)品包括在其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì),當(dāng)在處理器處執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí),使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行所述方法, 包括下述步驟接收當(dāng)在所述分布式數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)要使用的上下文(108),所述上下文標(biāo)識(shí)了所指定的相關(guān)的聯(lián)合部分;接收與所述上下文(108)相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作(11 ;以及根據(jù)所關(guān)聯(lián)的上下文(108)對(duì)所述數(shù)據(jù)庫(kù)訪問操作(11 的語(yǔ)義進(jìn)行修改以將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到所述所指定的相關(guān)的聯(lián)合部分。
12.如權(quán)利要求11所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述接收當(dāng)執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)要使用的上下文包括接收標(biāo)識(shí)所述聯(lián)合中的相關(guān)數(shù)據(jù)庫(kù)分區(qū)的上下文。
13.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述根據(jù)上下文對(duì)所述數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改包括修改所述數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義以將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到所述相關(guān)的數(shù)據(jù)庫(kù)分區(qū)。
14.如權(quán)利要求12所述的計(jì)算機(jī)程序產(chǎn)品,其特征在于,所述接收當(dāng)執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)要使用的上下文包括接收一上下文,所述上下文包括在所述相關(guān)的數(shù)據(jù)庫(kù)分區(qū)中所包含的指定值。
15.一種計(jì)算機(jī)系統(tǒng),所述計(jì)算機(jī)系統(tǒng)包括 一個(gè)或多個(gè)處理器;系統(tǒng)存儲(chǔ)器;以及在其上存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令的一個(gè)或多個(gè)計(jì)算機(jī)存儲(chǔ)介質(zhì),當(dāng)由所述一個(gè)或多個(gè)處理器執(zhí)行所述計(jì)算機(jī)可執(zhí)行指令時(shí),使得所述計(jì)算機(jī)系統(tǒng)執(zhí)行對(duì)用于訪問數(shù)據(jù)庫(kù)分區(qū)的上下文進(jìn)行范圍化的方法,包括下述步驟接收連接到分布式數(shù)據(jù)庫(kù)系統(tǒng)的范圍化連接請(qǐng)求(108),所述范圍化連接請(qǐng)求包括 當(dāng)在所述分布式數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)使用的范圍(110),所述范圍使用聯(lián)合鍵值標(biāo)識(shí)所述分布式數(shù)據(jù)庫(kù)系統(tǒng)中的聯(lián)合分區(qū);以及過(guò)濾選項(xiàng)(111),所述過(guò)濾選項(xiàng)指示當(dāng)所述過(guò)濾選項(xiàng)是開啟時(shí),是否將連接范圍限制到僅為對(duì)應(yīng)于所述聯(lián)合鍵值的所述聯(lián)合分區(qū)中的特定行,或者當(dāng)所述過(guò)濾選項(xiàng)是關(guān)閉時(shí), 是否將連接范圍限制到通常為所述聯(lián)合分區(qū)中的所有行;接收與所述范圍連接請(qǐng)求相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作(11 ;以及根據(jù)所關(guān)聯(lián)的范圍(110)和過(guò)濾選項(xiàng)(111),將所述數(shù)據(jù)庫(kù)訪問操作(11 的語(yǔ)義修改為經(jīng)修改的數(shù)據(jù)庫(kù)操作(114),以在所述過(guò)濾選項(xiàng)是開啟時(shí)將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到所述聯(lián)合分區(qū)中的特定行,或在所述過(guò)濾選項(xiàng)(111)是關(guān)閉時(shí)將所述數(shù)據(jù)庫(kù)訪問操作的應(yīng)用指引到通常為所述聯(lián)合分區(qū)中的所有行。
全文摘要
本發(fā)明涉及范圍化數(shù)據(jù)庫(kù)連接。本發(fā)明擴(kuò)展到用于范圍化用于訪問數(shù)據(jù)庫(kù)分區(qū)的上下文的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品。本發(fā)明的實(shí)施例在多承租人數(shù)據(jù)庫(kù)中使用分區(qū)來(lái)允許數(shù)據(jù)隔離,同時(shí)減輕客戶端應(yīng)用處理分區(qū)的負(fù)擔(dān)。例如,包括分布式數(shù)據(jù)庫(kù)系統(tǒng)的計(jì)算機(jī)系統(tǒng)接收當(dāng)在該分布式數(shù)據(jù)庫(kù)系統(tǒng)中執(zhí)行數(shù)據(jù)庫(kù)訪問操作時(shí)使用的上下文,所述分布式數(shù)據(jù)庫(kù)系統(tǒng)包括在聯(lián)合中的多個(gè)數(shù)據(jù)庫(kù)分區(qū)。上下文表示了指定修改的聯(lián)合部分。計(jì)算機(jī)系統(tǒng)還接收與所述上下文相關(guān)聯(lián)的數(shù)據(jù)庫(kù)訪問操作。計(jì)算機(jī)系統(tǒng)根據(jù)所關(guān)聯(lián)的上下文對(duì)數(shù)據(jù)庫(kù)訪問操作的語(yǔ)義進(jìn)行修改以指引將該數(shù)據(jù)庫(kù)訪問操作應(yīng)用到指定相關(guān)的聯(lián)合部分。
文檔編號(hào)G06F17/30GK102426602SQ20111035593
公開日2012年4月25日 申請(qǐng)日期2011年10月27日 優(yōu)先權(quán)日2010年10月28日
發(fā)明者A·卡爾漢, A·金博爾, C·比伊扣格魯, J·D·克拉克, J·哈默, L·諾維克, M·T·弗里德曼, T·J·B·特恩斯特倫 申請(qǐng)人:微軟公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1