[發(fā)明專利]用于提供對關(guān)系數(shù)據(jù)庫表的高性能數(shù)據(jù)修改的方法和系統(tǒng)無效
| 申請?zhí)枺?/td> | 200710169412.8 | 申請日: | 2007-11-13 |
| 公開(公告)號: | CN101187934A | 公開(公告)日: | 2008-05-28 |
| 發(fā)明(設(shè)計)人: | R·J·卡利奧;I·G·本德里海姆 | 申請(專利權(quán))人: | 國際商業(yè)機器公司 |
| 主分類號: | G06F17/30 | 分類號: | G06F17/30 |
| 代理公司: | 北京市中咨律師事務(wù)所 | 代理人: | 于靜;李崢 |
| 地址: | 美國*** | 國省代碼: | 美國;US |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 用于 提供 關(guān)系 數(shù)據(jù)庫 性能 數(shù)據(jù) 修改 方法 系統(tǒng) | ||
技術(shù)領(lǐng)域
本公開總體涉及計算機數(shù)據(jù)庫領(lǐng)域,并且更具體地涉及將大批量的數(shù)據(jù)從客戶機插入和更新到一個或多個關(guān)系數(shù)據(jù)庫表中。
背景技術(shù)
將數(shù)據(jù)行(rows?of?data)插入到一個或多個表中實際上在所有的現(xiàn)代客戶機-服務(wù)器或基于Web的關(guān)系數(shù)據(jù)庫應(yīng)用中都是一項普通的任務(wù)。在直接插入好幾萬數(shù)據(jù)行的分布式、多客戶機事務(wù)處理環(huán)境中,首要關(guān)注的是性能和并行性。
可以將性能測量為從客戶機角度來看的事務(wù)持續(xù)時間。直接對目標(biāo)表進行插入的遠程數(shù)據(jù)庫(RDB,Romote?Database)事務(wù)可能具有很糟糕的性能(performance?nightmare),其占用很多時間來完成,特別是如果將要插入的行數(shù)上萬的話。額外的損失出現(xiàn)在存在任何已定義的觸發(fā)和/或指標(biāo)的情況下。
并行性是對有多少客戶機可以同時訪問(讀和/或?qū)?數(shù)據(jù)庫中給定的目標(biāo)表的度量。如果應(yīng)用未能足夠頻繁地提交(commit)或者在延長的一段時間上保持目標(biāo)表上的排它鎖(exclusive?lock),則有可能會拒絕其他用戶訪問目標(biāo)表(死鎖)。
如果將要從客戶機插入到服務(wù)器的行數(shù)相對小,比方說數(shù)十行,則可以通過多種常規(guī)方法處理插入任務(wù)。然而,如果要插入很多行,比方說幾萬,那么常規(guī)方法受損于各種限制。
一種這樣的常規(guī)方法要求每個客戶機在本地安裝數(shù)據(jù)庫代碼并且執(zhí)行“加載實用工具(load?utility)”來將數(shù)據(jù)插入到目標(biāo)表。在該方法中,雖然性能通常不是問題,但是并行性受損極大。該方法還受損于權(quán)限和錯誤處理問題。
因為加載實用工具由特權(quán)用戶運行,所以使用這樣的實用工具將數(shù)據(jù)插入到關(guān)系表通常要求獲得目標(biāo)表上的排它鎖。表上的排它鎖將防止在加載期間對該表的任何級別的訪問(包括只讀),從而降低了該表的并行性。
在很多關(guān)系數(shù)據(jù)庫系統(tǒng)中,執(zhí)行加載實用工具被預(yù)留給特權(quán)用戶/系統(tǒng)管理員,并且其要求比通常授權(quán)給普通用戶或者普通用戶所要求的權(quán)限更高的權(quán)限。這可能引入諸如安全問題之類的不良方面影響。
在線事務(wù)處理系統(tǒng)的一個重要方面是從錯誤中恢復(fù)的能力。如果加載實用工具部分通過事務(wù)時失敗,則數(shù)據(jù)庫的正常錯誤恢復(fù)處理會將整個事務(wù)回退到最后的一致性點(consistency?point)。在一些數(shù)據(jù)庫系統(tǒng)中,當(dāng)加載失敗時,可以將表置于不可用狀態(tài),這要求數(shù)據(jù)庫管理員的人工干涉來清除錯誤。顯然,該情況不僅會影響直接客戶機(immediate?client),而且會影響正在嘗試訪問該表的任何其它的客戶機,從而將并行性降低到零。
需要的是在分布式瘦型客戶機(無本地數(shù)據(jù)庫代碼)環(huán)境中,利用錯誤重試能力,在最小客戶機權(quán)限的情況下獲得改進的表并行性和插入性能。
發(fā)明內(nèi)容
根據(jù)本發(fā)明的示例性實施例,提供了一種用于更新數(shù)據(jù)庫的方法。該方法包括以下步驟:從客戶機連接到服務(wù)器上的數(shù)據(jù)庫,在所述服務(wù)器上生成臨時表,其中所述臨時表是來自所述數(shù)據(jù)庫的目標(biāo)表的副本,將來自所述客戶機的客戶機數(shù)據(jù)存儲到所述臨時表中作為臨時表數(shù)據(jù),以及基于所述臨時表數(shù)據(jù)更新所述目標(biāo)表。
根據(jù)本發(fā)明的示例性實施例,提供了一種包括用于更新遠程關(guān)系數(shù)據(jù)庫的計算機代碼的計算機可讀介質(zhì)。所述計算機可讀介質(zhì)包括:用于從客戶機跨越網(wǎng)絡(luò)連接到遠程服務(wù)器上的關(guān)系數(shù)據(jù)庫的計算機代碼,用于在所述服務(wù)器上生成臨時表的計算機代碼,其中所述臨時表是來自所述數(shù)據(jù)庫的目標(biāo)表的副本,用于將來自所述客戶機的客戶機數(shù)據(jù)復(fù)制到所述臨時表中作為臨時表數(shù)據(jù)的計算機代碼,以及用于基于所述臨時表數(shù)據(jù)更新所述目標(biāo)表的計算機代碼。
根據(jù)本發(fā)明的示例性實施例,提供了一種分布式數(shù)據(jù)庫系統(tǒng),其包括:具有通信程序的客戶機、網(wǎng)絡(luò)、服務(wù)器,以及在所述服務(wù)器上的關(guān)系數(shù)據(jù)庫。所述客戶機使用所述通信程序來將客戶機數(shù)據(jù)存儲到對所述關(guān)系數(shù)據(jù)庫中的目標(biāo)表的結(jié)構(gòu)進行了鏡像(mirror)的臨時表中作為臨時表數(shù)據(jù),并且所述目標(biāo)表是基于所述臨時表數(shù)據(jù)而被更新的。
根據(jù)以下應(yīng)結(jié)合附圖閱讀的對示例性實施例的詳細(xì)描述,本發(fā)明的這些和其它的示例性實施例、方面、特征以及優(yōu)點將得到描述或變得更加清楚。
附圖說明
圖1是根據(jù)本發(fā)明的示例性實施例的分布式數(shù)據(jù)庫系統(tǒng)的高級框圖;
圖2是根據(jù)本發(fā)明的示例性實施例對修改遠程表的方法進行了說明的流程圖;
圖3根據(jù)本發(fā)明的示例性實施例說明了實現(xiàn)將數(shù)據(jù)插入到數(shù)據(jù)庫中的過程的應(yīng)用的數(shù)據(jù)流示圖;
圖4根據(jù)本發(fā)明的示例性實施例說明了用于將數(shù)據(jù)插入到遠程表中的系統(tǒng)視圖和布局;
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于國際商業(yè)機器公司,未經(jīng)國際商業(yè)機器公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/200710169412.8/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:自動更新系統(tǒng)、自動更新方法及其程序
- 下一篇:樹木藥液注入裝置
- 信息提供系統(tǒng)、信息提供方法、信息提供設(shè)備
- 信息提供裝置、信息提供系統(tǒng)
- 游戲提供系統(tǒng)、游戲提供程序和游戲提供方法
- 游戲提供系統(tǒng)、游戲提供程序和游戲提供方法
- 信息提供方法、信息提供裝置、信息提供系統(tǒng)及信息提供程序
- 動作信息提供裝置、提供系統(tǒng)以及提供方法
- 提供裝置、提供方法、提供系統(tǒng)以及存儲介質(zhì)
- 提供裝置、提供方法、存儲介質(zhì)以及提供系統(tǒng)
- 提供裝置、提供方法、存儲介質(zhì)以及提供系統(tǒng)
- 內(nèi)容提供裝置、內(nèi)容提供方法以及內(nèi)容提供系統(tǒng)
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫管理系統(tǒng)及數(shù)據(jù)庫
- 數(shù)據(jù)庫構(gòu)筑裝置、數(shù)據(jù)庫檢索裝置、數(shù)據(jù)庫裝置、數(shù)據(jù)庫構(gòu)筑方法、以及數(shù)據(jù)庫檢索方法
- 數(shù)據(jù)庫和數(shù)據(jù)庫處理方法
- 數(shù)據(jù)庫系統(tǒng)、數(shù)據(jù)庫更新方法、數(shù)據(jù)庫以及數(shù)據(jù)庫更新程序
- 容器數(shù)據(jù)庫
- 數(shù)據(jù)庫同步方法及數(shù)據(jù)庫
- 一種MongoDB數(shù)據(jù)庫對象復(fù)制延遲監(jiān)控方法和裝置
- 數(shù)據(jù)分布式存儲方法、裝置、電子設(shè)備及存儲介質(zhì)
- 數(shù)據(jù)庫語句執(zhí)行方法及裝置





