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

存儲(chǔ)為行存儲(chǔ)和列存儲(chǔ)二者的混合數(shù)據(jù)庫(kù)表的制作方法

文檔序號(hào):6380376閱讀:259來(lái)源:國(guó)知局

專利名稱::存儲(chǔ)為行存儲(chǔ)和列存儲(chǔ)二者的混合數(shù)據(jù)庫(kù)表的制作方法
技術(shù)領(lǐng)域
:本發(fā)明涉及數(shù)據(jù)庫(kù)中數(shù)據(jù)的存儲(chǔ),而且更具體地,涉及以混合表格式的數(shù)據(jù)庫(kù)信息的存儲(chǔ)。
背景技術(shù)
:除非另有說(shuō)明,本節(jié)中所描述的方法不是本申請(qǐng)中的權(quán)利要求的現(xiàn)有技術(shù),并且不承認(rèn)由并入本節(jié)即表示現(xiàn)有技術(shù)。數(shù)據(jù)庫(kù)是以結(jié)構(gòu)化的方式存儲(chǔ)數(shù)據(jù)的電子編檔系統(tǒng)。數(shù)據(jù)庫(kù)中的主存儲(chǔ)結(jié)構(gòu)是表。數(shù)據(jù)庫(kù)可以包含多個(gè)表,而且每個(gè)表可以容納特定類型的信息。數(shù)據(jù)庫(kù)表以水平行和垂直列來(lái)存儲(chǔ)和組織數(shù)據(jù)。行通常對(duì)應(yīng)于真實(shí)世界的實(shí)體或關(guān)系,其代表表中的單個(gè)記錄。列可以指示這些實(shí)體或關(guān)系的特定屬性,諸如“名稱”、“地址”或“電話號(hào)碼”。例如,X公司可以具有包含“客戶”表的數(shù)據(jù)庫(kù),“客戶”表列出了它的客戶的名稱、地址和電話號(hào)碼。每一行可以代表單一的客戶,而且列可以代表每個(gè)客戶的名稱、地址和電話號(hào)碼。數(shù)據(jù)庫(kù)通常存儲(chǔ)在一維的計(jì)算機(jī)存儲(chǔ)器中。因此,二維的數(shù)據(jù)庫(kù)表必須被映射為一維的數(shù)據(jù)結(jié)構(gòu)以便存儲(chǔ)在數(shù)據(jù)庫(kù)中。一種映射方法涉及按行將表存儲(chǔ)在數(shù)據(jù)庫(kù)中(即,面向行的存儲(chǔ)模型)。這種方法可以使關(guān)于單一的實(shí)體的信息保持在一起。例如,按行存儲(chǔ)可以首先存儲(chǔ)關(guān)于第一客戶的所有信息,然后存儲(chǔ)關(guān)于第二客戶的所有信息,等等。可替換地,表可以被按行存儲(chǔ)在數(shù)據(jù)庫(kù)中(即,面向列的存儲(chǔ)模型)。這種方法可以使不同實(shí)體的相同屬性保持在一起。例如,按列存儲(chǔ)可以首先存儲(chǔ)所有客戶的名稱,然后存儲(chǔ)所有客戶的地址,等等。數(shù)據(jù)通常必須以與它被存儲(chǔ)的方式相同的方式從表中訪問(wèn)。也就是說(shuō),傳統(tǒng)的計(jì)算機(jī)存儲(chǔ)技術(shù)需要專用查詢操作符(operator),其能夠訪問(wèn)特定類型的存儲(chǔ)模型。例如,行查詢操作符用于處理以行格式的存儲(chǔ)模型(row-formattedstoragemodels)存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù),而且列查詢操作符用于處理以列格式的存儲(chǔ)模型(column-formattedstoragemodels)存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)。因而,選擇使用哪種存儲(chǔ)模型往往取決于數(shù)據(jù)將被如何使用。面向行的存儲(chǔ)模型通常非常適用于事務(wù)查詢。行存儲(chǔ)格式將數(shù)據(jù)庫(kù)行強(qiáng)調(diào)為可操作的元素,并且通常用于聯(lián)機(jī)事務(wù)處理(On-LineTransactionProcessing,0LTP),OLTP涉及相對(duì)較大數(shù)量的聯(lián)機(jī)事務(wù)(行),而且每個(gè)事務(wù)的特征在于相對(duì)更多的數(shù)據(jù)類型(列)。相比之下,面向列的存儲(chǔ)模型一般適用于分析查詢。列存儲(chǔ)格式將數(shù)據(jù)庫(kù)列強(qiáng)調(diào)為可操作的元素,并且通常用于關(guān)于可以包括基本數(shù)據(jù)類型的聚合的更少數(shù)量的數(shù)據(jù)類型(列)來(lái)對(duì)事務(wù)(行)總數(shù)的子集進(jìn)行聯(lián)機(jī)分析處理(On-LineAnalyticalProcessing,0LAP)。以列存儲(chǔ)格式的數(shù)據(jù)庫(kù)表通常用于為了解決問(wèn)題而對(duì)原始數(shù)據(jù)進(jìn)行詢問(wèn)(interrogation)和分析,并用于規(guī)劃形成業(yè)務(wù)智能(BusinessIntelligence,BI)效果的一部分??傊?,行存儲(chǔ)可以用于檢索單個(gè)記錄,該記錄包括許多具有主鍵條件(primarykeycondition)的列。列存儲(chǔ)可以用于執(zhí)行更復(fù)雜的功能,諸如對(duì)相對(duì)較小數(shù)量的列進(jìn)行水口/彡口口O因此,傳統(tǒng)的查詢處理方案被綁定到正被查詢的數(shù)據(jù)庫(kù)的底層存儲(chǔ)模型。然而,在現(xiàn)實(shí)中,具有以列格式的存儲(chǔ)模型存儲(chǔ)的某些數(shù)據(jù)的數(shù)據(jù)庫(kù)可以被要求處理與該數(shù)據(jù)有關(guān)的事務(wù)查詢,或者具有以行格式的存儲(chǔ)模型存儲(chǔ)的某些數(shù)據(jù)的數(shù)據(jù)庫(kù)可以被要求處理與該數(shù)據(jù)有關(guān)的分析查詢。例如,具有以行格式的存儲(chǔ)模型存儲(chǔ)的數(shù)據(jù)的數(shù)據(jù)庫(kù)可以接收請(qǐng)求對(duì)該數(shù)據(jù)進(jìn)行事務(wù)處理和分析處理的一組混合的查詢。行存儲(chǔ)數(shù)據(jù)庫(kù)表格式和列存儲(chǔ)數(shù)據(jù)庫(kù)表格式二者都提供各種好處。例如,行存儲(chǔ)格式為數(shù)據(jù)提供現(xiàn)成的可擴(kuò)展性,因?yàn)樗A(yù)期越來(lái)越多的事務(wù)將需要存儲(chǔ)在附加行中。然而,行存儲(chǔ)表格式對(duì)于分析查詢(例如,聚合、結(jié)合)而言是相對(duì)內(nèi)存密集型(memoryintensive)的,因?yàn)樗怪睊呙璞?,這導(dǎo)致在水平存儲(chǔ)數(shù)據(jù)時(shí)發(fā)生緩存未命中(cachemiss)。相反,列存儲(chǔ)格式在允許涉及表結(jié)合和聚合的復(fù)雜的數(shù)據(jù)操作方面提供靈活性,以及通過(guò)允許利用字典編碼對(duì)跨多個(gè)條目的數(shù)據(jù)類型內(nèi)的壓縮來(lái)提供相對(duì)較低的內(nèi)存消耗。然而,列存儲(chǔ)數(shù)據(jù)庫(kù)格式通常不允許與行存儲(chǔ)表一樣容易地操作大量數(shù)據(jù)。因此,行存儲(chǔ)表用作逐行記錄訪問(wèn)(諸如利用主鍵查找的單個(gè)記錄選擇)是更有效的。列存儲(chǔ)表用作逐列記錄訪問(wèn)(諸如單列聚合)是更好的。對(duì)于逐行記錄訪問(wèn),列存儲(chǔ)表變?yōu)閮?nèi)存密集型,因?yàn)閿?shù)據(jù)格式是以列存儲(chǔ)的形式垂直組織的,從而在水平訪問(wèn)記錄值時(shí)發(fā)生緩存未命中。對(duì)于逐行記錄訪問(wèn),行存儲(chǔ)表變?yōu)閮?nèi)存密集型,因?yàn)閿?shù)據(jù)格式是以行存儲(chǔ)的形式水平組織的,從而當(dāng)讀取特定列值時(shí)發(fā)生緩存未命中。盡管各種數(shù)據(jù)庫(kù)表類型具有各種優(yōu)點(diǎn),但是傳統(tǒng)上表在業(yè)務(wù)生命周期的任意時(shí)間點(diǎn)通常只能夠以行存儲(chǔ)或列存儲(chǔ)。因此,本公開利用實(shí)現(xiàn)存儲(chǔ)為行存儲(chǔ)和列存儲(chǔ)二者的混合數(shù)據(jù)庫(kù)表的系統(tǒng)和方法來(lái)解決這個(gè)和其他問(wèn)題。
發(fā)明內(nèi)容混合數(shù)據(jù)庫(kù)表被存儲(chǔ)為行存儲(chǔ)和列存儲(chǔ)二者。一個(gè)或多個(gè)技術(shù)可以單獨(dú)使用或組合使用,以便通過(guò)調(diào)節(jié)對(duì)處理密集型列存儲(chǔ)數(shù)據(jù)的訪問(wèn)和/或調(diào)節(jié)處理密集型列存儲(chǔ)數(shù)據(jù)的大小來(lái)提高混合表的性能。例如,在插入操作過(guò)程中,只有在已經(jīng)考慮了某些過(guò)濾和/或邊界條件之后才可以針對(duì)列存儲(chǔ)數(shù)據(jù)搜索唯一性違背情況。在另一種技術(shù)中,混合表管理器可以基于諸如訪問(wèn)頻率或者潛在的業(yè)務(wù)邏輯的考慮來(lái)控制將數(shù)據(jù)移動(dòng)到列存儲(chǔ)。根據(jù)又一種技術(shù),混合表的查詢可以導(dǎo)致僅在行存儲(chǔ)數(shù)據(jù)的初始搜索沒(méi)有返回結(jié)果之后才搜索列存儲(chǔ)數(shù)據(jù)。計(jì)算機(jī)實(shí)現(xiàn)的方法的實(shí)施例包括,在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中提供數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)以應(yīng)用層語(yǔ)言創(chuàng)建并且包括行分區(qū)的存儲(chǔ)和列分區(qū)的存儲(chǔ)。提供數(shù)據(jù)移動(dòng)管理器,該數(shù)據(jù)移動(dòng)管理器配置以根據(jù)數(shù)據(jù)移動(dòng)策略執(zhí)行數(shù)據(jù)從行分區(qū)的存儲(chǔ)至列分區(qū)的存儲(chǔ)的移動(dòng)。當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)至列分區(qū)的存儲(chǔ)。一種非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的實(shí)施例具體實(shí)施用于執(zhí)行方法的計(jì)算機(jī)程序,所述方法包括,提供數(shù)據(jù)移動(dòng)管理器,該數(shù)據(jù)移動(dòng)管理器配置以根據(jù)數(shù)據(jù)移動(dòng)策略執(zhí)行數(shù)據(jù)從數(shù)據(jù)庫(kù)的行分區(qū)的存儲(chǔ)至數(shù)據(jù)庫(kù)的列分區(qū)的存儲(chǔ)的移動(dòng),該數(shù)據(jù)庫(kù)存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)至列分區(qū)的存儲(chǔ)。計(jì)算機(jī)系統(tǒng)的實(shí)施例包括:一個(gè)或多個(gè)處理器和能夠在所述計(jì)算機(jī)系統(tǒng)上執(zhí)行的軟件程序。該軟件程序配置以:提供數(shù)據(jù)移動(dòng)管理器,該數(shù)據(jù)移動(dòng)管理器配置以根據(jù)數(shù)據(jù)移動(dòng)策略執(zhí)行數(shù)據(jù)從數(shù)據(jù)庫(kù)的行分區(qū)的存儲(chǔ)至數(shù)據(jù)庫(kù)的列分區(qū)的存儲(chǔ)的移動(dòng),該數(shù)據(jù)庫(kù)存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中。當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)至列分區(qū)的存儲(chǔ)。某些實(shí)施例還包括維持行分區(qū)的存儲(chǔ)的記錄的用戶訪問(wèn)統(tǒng)計(jì),其中數(shù)據(jù)移動(dòng)策略基于數(shù)據(jù)的用戶訪問(wèn)頻率。在某些實(shí)施例中,該訪問(wèn)統(tǒng)計(jì)包括行分區(qū)的存儲(chǔ)的頁(yè)面的訪問(wèn)計(jì)數(shù)。在特定實(shí)施例中,該條件包括在行分區(qū)的存儲(chǔ)中的記錄的數(shù)量超過(guò)定義的閾值。根據(jù)某些實(shí)施例,該數(shù)據(jù)移動(dòng)策略基于業(yè)務(wù)語(yǔ)義。在某些實(shí)施例中,該條件包括參考表中的相關(guān)記錄至列分區(qū)的存儲(chǔ)的移動(dòng)。以下詳細(xì)描述和附圖提供了對(duì)本發(fā)明的性質(zhì)和優(yōu)點(diǎn)的更好理解。圖1示出了根據(jù)實(shí)施例的混合表的結(jié)構(gòu)和操作的簡(jiǎn)化示意圖2示出了將新的記錄插入混合表的實(shí)施例的簡(jiǎn)化示意圖2A示出了用于將新的記錄插入混合表的實(shí)施例的處理流程的簡(jiǎn)化視圖3A將布隆過(guò)濾器的性能標(biāo)繪為位/元素(bit/element)對(duì)散列函數(shù)的數(shù)量;圖3B針對(duì)可縮放的布隆過(guò)濾器標(biāo)繪了內(nèi)存大小對(duì)記錄的數(shù)量;圖4是顯示在利用不同數(shù)量線程的插入處理過(guò)程中、以每秒事務(wù)處理量(transactionspersecond,TPS)為單位的吞吐量的條形圖5示出了根據(jù)實(shí)施例的控制混合表中數(shù)據(jù)移動(dòng)的簡(jiǎn)化視圖5A示出了在混合表的實(shí)施例中用于在行分區(qū)存儲(chǔ)與列分區(qū)存儲(chǔ)之間移動(dòng)記錄的處理流程的簡(jiǎn)化視圖6示出了根據(jù)頁(yè)面級(jí)(page-level)訪問(wèn)統(tǒng)計(jì)管理來(lái)實(shí)施基于訪問(wèn)的數(shù)據(jù)移動(dòng)策略的簡(jiǎn)化示意圖7示出了根據(jù)實(shí)施例的業(yè)務(wù)感知的(business-aware)數(shù)據(jù)移動(dòng)策略的簡(jiǎn)化實(shí)施例;圖8示出了根據(jù)實(shí)施例的對(duì)混合數(shù)據(jù)庫(kù)進(jìn)行搜索操作的簡(jiǎn)化示意圖8A示出了用于搜索混合表的實(shí)施例的處理流程的簡(jiǎn)化視圖9示出了在單一混合表上進(jìn)行簡(jiǎn)單搜索的簡(jiǎn)化示意圖10是簡(jiǎn)化的流程圖,其示出如果有必要?jiǎng)t采取列搜索,隨后是行搜索結(jié)果和列搜索結(jié)果的合并;圖11示出了基于轉(zhuǎn)換的連接操作的簡(jiǎn)化示意圖12示出了原生混合連接操作的簡(jiǎn)化示意圖13示出了原生混合連接操作的另一個(gè)視圖14示出可以被配置為實(shí)施混合數(shù)據(jù)庫(kù)表的專用計(jì)算機(jī)器的硬件;圖15示出了計(jì)算機(jī)系統(tǒng)的示例;以及圖16針對(duì)傳統(tǒng)的行和列存儲(chǔ)表以及相應(yīng)混合表的搜索性能標(biāo)繪了吞吐量對(duì)連接的數(shù)量。具體實(shí)施方式這里描述的是提供存儲(chǔ)為行存儲(chǔ)和列存儲(chǔ)二者的混合數(shù)據(jù)庫(kù)表的技術(shù)。單獨(dú)使用或組合使用的某些技術(shù)通過(guò)限制對(duì)處理密集型(processing-1ntensive)列存儲(chǔ)數(shù)據(jù)的訪問(wèn)和/或限制處理密集型列存儲(chǔ)數(shù)據(jù)的大小來(lái)提高混合表的性能。在下面的描述中,為了解釋,闡述了實(shí)施例和具體細(xì)節(jié)以提供對(duì)各種實(shí)施例的透徹理解。然而,對(duì)本領(lǐng)域技術(shù)人員將顯而易見(jiàn)的是,由權(quán)利要求限定的本發(fā)明可以單獨(dú)包括這些實(shí)施例中的一些或所有特征,或者與下面描述的其它特征組合使用,并且可以進(jìn)一步包括這里所描述的特征和構(gòu)思的修改和等同物。圖1示出了根據(jù)實(shí)施例的混合表的簡(jiǎn)化示意圖?;旌媳?00包括第一數(shù)據(jù)存儲(chǔ)102,其包括根據(jù)內(nèi)存行分(in-memoryrowpartition)存儲(chǔ)的數(shù)據(jù)?;旌媳磉€包括第二數(shù)據(jù)存儲(chǔ)106,其包括根據(jù)內(nèi)存列分區(qū)(in-memorycolumnpartition)存儲(chǔ)的數(shù)據(jù)。如上面提到的,與以行存儲(chǔ)方向訪問(wèn)數(shù)據(jù)相比,以列存儲(chǔ)方向訪問(wèn)數(shù)據(jù)是更加處理密集型的。查詢處理器108與混合表通信以分別利用行引擎107和列引擎109來(lái)執(zhí)行行搜索和列搜索。行搜索結(jié)果110和列搜索結(jié)果112被返回到查詢處理器,而且合并的查詢搜索結(jié)果114被返回給用戶。圖1中的箭頭122示出將新的記錄插入到混合表的功能。如下面詳細(xì)描述的,這個(gè)插入功能能夠被優(yōu)化以提高混合表的性能。圖1還示出了,混合表中的數(shù)據(jù)可以從相對(duì)更新密集型(update-1ntensive)行分區(qū)方向被移動(dòng)到相對(duì)讀取密集型(read-1ntensive)列分區(qū)方向。數(shù)據(jù)管理器120負(fù)責(zé)這種數(shù)據(jù)移動(dòng),在某些情況下這可以采取到列表(columntable)的異步事務(wù)批量數(shù)據(jù)移動(dòng)的形式。異步數(shù)據(jù)移動(dòng)被設(shè)計(jì)成利用行分區(qū)和列分區(qū)二者的有利屬性。從性能的角度來(lái)看,可能期望將剛插入的記錄、經(jīng)常更新的記錄、和/或利用主鍵條件搜索的記錄放置在行分區(qū)。期望將不經(jīng)常更新的但有時(shí)聚合的記錄放置在列分區(qū)。從內(nèi)存(memory)消耗的角度來(lái)看,可能期望將行分區(qū)維持為盡可能的小,因?yàn)樾蟹謪^(qū)不被壓縮。因此,相同記錄量所消耗的內(nèi)容通常大于列分區(qū)。因此,混合表的實(shí)施例可以尋求避免犧牲OLTP性能(在行存儲(chǔ)中保持相關(guān)數(shù)據(jù)),并且提高聚合性能(在列存儲(chǔ)中保持穩(wěn)定的(stable)、舊的(aged)用于聚合的數(shù)據(jù)),同時(shí)保持合理的內(nèi)存消耗(例如,通過(guò)行/列邊界管理)。根據(jù)本發(fā)明的實(shí)施例的混合表可以提供某些潛在好處。特別是,存儲(chǔ)在行存儲(chǔ)方向中的數(shù)據(jù)的存在提供快速訪問(wèn)。存儲(chǔ)在行存儲(chǔ)方向中的數(shù)據(jù)適合利用搜索條件(例如,精確匹配(match)/范圍(range))的單個(gè)表選擇。因此,快速的“簡(jiǎn)單選擇”查詢可以用于訪問(wèn)行分區(qū)的數(shù)據(jù)存儲(chǔ)。行分區(qū)的數(shù)據(jù)存儲(chǔ)還提供可擴(kuò)展的更新和搜索性能。此外,行分區(qū)的數(shù)據(jù)存儲(chǔ)的存在允許利用精益棧(leanstack)處理并發(fā)工作負(fù)載。以相對(duì)低的系統(tǒng)資源的消耗執(zhí)行諸如插入、更新和刪除、以及簡(jiǎn)單的搜索(精確匹配/范圍)的功能的執(zhí)行是可能的。而且,行引擎中的運(yùn)行可以流水線化。關(guān)于列存儲(chǔ)數(shù)據(jù),通過(guò)對(duì)列表進(jìn)行字典編碼可以減少內(nèi)存消耗。列表還通過(guò)列引擎提供快速的OLAP處理。本發(fā)明的實(shí)施例可以尋求通過(guò)限制對(duì)處理密集型列存儲(chǔ)數(shù)據(jù)的訪問(wèn)和/或限制處理密集型列存儲(chǔ)數(shù)據(jù)的大小來(lái)保持混合表的性能。這方面的一個(gè)示例能夠在插入操作過(guò)程中發(fā)生,如圖2所示。特別地,圖2示出了將新的記錄插入混合表200的簡(jiǎn)化示意圖。首先,新的記錄202被插入與內(nèi)存行分區(qū)數(shù)據(jù)存儲(chǔ)206相關(guān)聯(lián)的唯一(unique)行存儲(chǔ)(RS)索引204。根據(jù)具體實(shí)施例,在采取在列分區(qū)的數(shù)據(jù)存儲(chǔ)208(處理密集型方面)中搜索每個(gè)值之前,為了檢查唯一'I"生違背情況(uniquenessviolation),混合表首先基于附加信息執(zhí)行優(yōu)化209。圖2A示出了用于將新的記錄插入混合表的實(shí)施例的處理流程250的簡(jiǎn)化視圖。第一步驟252包括在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中提供數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)以應(yīng)用層語(yǔ)言創(chuàng)建并且包括行分區(qū)的存儲(chǔ)和列分區(qū)的存儲(chǔ)。第二步驟252包括接收將被插入到數(shù)據(jù)庫(kù)中的新的記錄。第三步驟256包括使行引擎根據(jù)行存儲(chǔ)索引將新的記錄插入到行分區(qū)的存儲(chǔ)。第四步驟258包括基于附加信息執(zhí)行優(yōu)化以檢查唯一性違背情況。第五步驟260包括,只有在優(yōu)化擔(dān)保(warrant)的情況下,才在列分區(qū)的存儲(chǔ)中檢查唯一'丨生違背情況。第六步驟262包括顯示對(duì)包括新的記錄的數(shù)據(jù)庫(kù)的查詢進(jìn)行處理的結(jié)果。第一優(yōu)化方法是利用閂鎖釋放結(jié)構(gòu)(latch-freestructure)保持列分區(qū)的唯一列(uniquecolumn)的最小/最大(min/max)值,以最小化爭(zhēng)用。這種方法可能導(dǎo)致對(duì)于多列的唯一鍵的許多誤命中(falsehit)。第二優(yōu)化方法是保持用于唯一列的過(guò)濾器(諸如布隆(Bloom)過(guò)濾器)。這種過(guò)濾方法210是有益的,因?yàn)橹挥性跀?shù)據(jù)從行存儲(chǔ)方向移動(dòng)到數(shù)據(jù)存儲(chǔ)方向的時(shí)候,過(guò)濾器才需要更新或刷新。特別是,布隆過(guò)濾器是有效地過(guò)濾掉不屬于一組的任何元素的一種數(shù)據(jù)結(jié)構(gòu)。布隆過(guò)濾器包括位向量和一組散列函數(shù)。如果布隆過(guò)濾器返回假(FALSE),則該元素絕對(duì)不是集合的成員。如果布隆過(guò)濾器返回真(TRUE),則該元素有可能在集合中。圖3A將布隆過(guò)濾器的性能標(biāo)繪為位/元素對(duì)散列函數(shù)的數(shù)量,具有0.1的誤報(bào)率(FalsePositiveRate,FPR)。FPR取決于散列函數(shù)的數(shù)量和元素的數(shù)量/(位向量的大小)。在某些實(shí)施例中,通過(guò)使用布隆過(guò)濾器可以提高在插入處理過(guò)程中的混合表的性能。特別是,只有布隆過(guò)濾器返回TRUE時(shí),才需要搜索列分區(qū)的數(shù)據(jù)存儲(chǔ)中的值。為了這個(gè)任務(wù)使用標(biāo)準(zhǔn)布隆過(guò)濾器可以消耗大量的內(nèi)存。例如,標(biāo)準(zhǔn)布隆過(guò)濾器需要大約60MB以便為100萬(wàn)條記錄保持FPR彡0.1。因此,某些實(shí)施例可以采用可擴(kuò)展的布隆過(guò)濾器(SBF),以便對(duì)混合表的插入處理執(zhí)行優(yōu)化。SBF是布隆過(guò)濾器的變體,其使用與已存儲(chǔ)的元素的數(shù)量成比例的空間。SBF的查詢時(shí)間遵從下列關(guān)系式:查詢時(shí)間=O(klogn),其中,k=散列函數(shù)的數(shù)量;以及η=記錄的數(shù)量。圖3B針對(duì)FPR=0.1和k=3的SBF,標(biāo)繪了內(nèi)存大小對(duì)記錄的數(shù)量。利用SBF的優(yōu)化插入處理能夠?qū)е禄旌媳碓鰪?qiáng)的性能。這將結(jié)合下面的示例進(jìn)行討論。示例80萬(wàn)條記錄的數(shù)據(jù)總量被配置在六(6)個(gè)不同的表類型中:面向行(行,A);面向列(列,B);未過(guò)濾且80萬(wàn)條記錄以行存儲(chǔ)的混合(C);未過(guò)濾且80萬(wàn)條記錄以列存儲(chǔ)的混合⑶;利用SBF且80萬(wàn)條記錄以行存儲(chǔ)的混合(E)以及利用SBF且80萬(wàn)條記錄以列存儲(chǔ)的混合(F)。圖4是顯示在利用不同數(shù)量線程的插入處理過(guò)程中、以每秒事務(wù)處理量(TPS)為單位的吞吐量的條形圖。混合表的性能能夠通過(guò)與具有以行方向(最低處理密集型格式)存儲(chǔ)的數(shù)據(jù)的表的比較來(lái)衡量。圖4表明,沒(méi)有過(guò)濾(C,D)的情況下,混合表的插入處理性能只有行表㈧的插入處理性能的約1/3。相比之下,在使用SBF的(E,F(xiàn))情況下,混合表顯示了與行表㈧類似的插入處理性能,盡管事實(shí)上混合表的全部數(shù)據(jù)位于列分區(qū)的數(shù)據(jù)存儲(chǔ)中。這代表顯著的增強(qiáng),使混合數(shù)據(jù)庫(kù)表的性能類似于傳統(tǒng)的行存儲(chǔ)方式的性能。雖然上述討論集中在使用可擴(kuò)展的布隆過(guò)濾器來(lái)優(yōu)化混合表的性能,但是本發(fā)明并不限于這個(gè)特定的過(guò)濾器類型??梢圆捎糜糜诳熘荡嬖跈z查(fastvalueexistencechecking)的不同類型的索引變體。實(shí)施例包括但不限于散列索引、B+樹索引、csb+樹索弓丨、以及其他??梢圆捎靡蕴岣呋旌媳淼男阅艿牧硪环N技術(shù)是選擇性地向/從列分區(qū)的數(shù)據(jù)存儲(chǔ)移動(dòng)記錄,以控制它的大小。圖5示出了根據(jù)實(shí)施例的控制混合表中數(shù)據(jù)移動(dòng)的簡(jiǎn)化視圖。特別是,混合表管理器500負(fù)責(zé)根據(jù)數(shù)據(jù)移動(dòng)策略來(lái)控制數(shù)據(jù)從內(nèi)存行分區(qū)存儲(chǔ)502到內(nèi)存列分區(qū)存儲(chǔ)504的移動(dòng)。通過(guò)對(duì)數(shù)據(jù)的智能分區(qū),選擇性的數(shù)據(jù)移動(dòng)可以允許快速OLTP處理,避免列分區(qū)訪問(wèn)。圖5A示出了在混合表的實(shí)施例中用于在行分區(qū)存儲(chǔ)與列分區(qū)存儲(chǔ)之間移動(dòng)記錄的處理流程550的簡(jiǎn)化視圖。第一步驟552包括在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中提供數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)以應(yīng)用層語(yǔ)言創(chuàng)建并且包括行分區(qū)的存儲(chǔ)和列分區(qū)的存儲(chǔ)。第二步驟554包括提供數(shù)據(jù)移動(dòng)管理器,其被配置為根據(jù)數(shù)據(jù)移動(dòng)策略來(lái)執(zhí)行數(shù)據(jù)從行分區(qū)的存儲(chǔ)到列分區(qū)的存儲(chǔ)的移動(dòng)。第三步驟556包括當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)到列分區(qū)的存儲(chǔ)。在可選的第四步驟558中,行分區(qū)的存儲(chǔ)的搜索結(jié)果被返回給用戶。數(shù)據(jù)移動(dòng)策略的一個(gè)示例是基于訪問(wèn)的。因?yàn)檫@樣的數(shù)據(jù)移動(dòng)策略不依賴于對(duì)業(yè)務(wù)規(guī)則(見(jiàn)下文)的知識(shí),所以其可以用作默認(rèn)的。根據(jù)基于訪問(wèn)的數(shù)據(jù)移動(dòng)策略,當(dāng)行分區(qū)上的記錄的數(shù)量超過(guò)定義的閾值時(shí),混合表管理器將行分區(qū)上的一些部分的記錄移動(dòng)到列分區(qū)。這種基于訪問(wèn)的數(shù)據(jù)移動(dòng)可以基于對(duì)已訪問(wèn)的記錄保持的統(tǒng)計(jì),從而當(dāng)移動(dòng)被觸發(fā)時(shí),具有較低的訪問(wèn)頻率的記錄被移動(dòng)。每當(dāng)數(shù)據(jù)移動(dòng)完成時(shí),訪問(wèn)統(tǒng)計(jì)可以被重置。圖6示出了根據(jù)頁(yè)面級(jí)(page-level)訪問(wèn)統(tǒng)計(jì)管理來(lái)實(shí)施基于訪問(wèn)的數(shù)據(jù)移動(dòng)策略600的簡(jiǎn)化示意圖。行分區(qū)存儲(chǔ)604中的多個(gè)頁(yè)面602中的每一個(gè)都包括持續(xù)訪問(wèn)計(jì)數(shù)606。根據(jù)這種訪問(wèn)計(jì)數(shù)的相對(duì)較低數(shù)量,具有最少訪問(wèn)頻率的頁(yè)面可以被移到列分區(qū)數(shù)據(jù)存儲(chǔ)。在一些實(shí)施例中,由于粗粒度的訪問(wèn)統(tǒng)計(jì)管理,頻繁訪問(wèn)的記錄有可能被移出到列分區(qū)的存儲(chǔ)。例如,一些特定的實(shí)施例可以執(zhí)行頁(yè)面級(jí)移動(dòng),而不是記錄級(jí)管理,其中頁(yè)面包括多個(gè)記錄,多個(gè)記錄中的一些被頻繁訪問(wèn)而另一些未被頻繁訪問(wèn)。這種方法是有可能的,雖然針對(duì)經(jīng)常訪問(wèn)的記錄可能發(fā)生不期望的數(shù)據(jù)移動(dòng)??商鎿Q的數(shù)據(jù)移動(dòng)策略可以基于業(yè)務(wù)概念,而不是訪問(wèn)頻率。當(dāng)業(yè)務(wù)語(yǔ)義(businesssemantic)已知時(shí),這樣的數(shù)據(jù)移動(dòng)策略可以提供最佳的結(jié)果。根據(jù)某些實(shí)施例,業(yè)務(wù)感知的數(shù)據(jù)移動(dòng)可以采取基于條件的移動(dòng)形式。在這種方法中,滿足一定業(yè)務(wù)條件的記錄可以被移出到列分區(qū)的存儲(chǔ)。在其它實(shí)施例中,業(yè)務(wù)感知的數(shù)據(jù)移動(dòng)可以采取基于參考的移動(dòng)形式。在這種方法中,當(dāng)(參考表中的)相關(guān)記錄被移出時(shí),記錄被移出到列分區(qū)的存儲(chǔ)。圖7示出了業(yè)務(wù)感知的數(shù)據(jù)移動(dòng)策略700的簡(jiǎn)化實(shí)施例。在這個(gè)示例中,關(guān)閉的銷售文檔被移動(dòng)到列分區(qū)的數(shù)據(jù)存儲(chǔ)。在圖7的示例中,對(duì)于銷售文檔表VBAK,如果GBSTK列的值是“C”,則它意味著閉合的文檔。因此,移出條件可以被指定為GBSTK=“C”,以便只移出關(guān)閉的文檔。通過(guò)將表之間的關(guān)系指定為移出條件,SD項(xiàng)目(VBAP)表和文檔首標(biāo)(VBUK)表中的關(guān)閉文檔相關(guān)記錄(Closed-document-relatedrecords)可以被相應(yīng)地移出。在這里,MANDT和VBELN列被用于指定這種關(guān)系。通過(guò)優(yōu)化搜索功能也可以增強(qiáng)混合表的性能。圖9示出了在單一混合表上進(jìn)行簡(jiǎn)單搜索的簡(jiǎn)化示意圖。具體而言,作為項(xiàng)目的一部分,對(duì)混合表902提出查詢900。行存儲(chǔ)(RS)906和列存儲(chǔ)(CS)908的搜索結(jié)果的聯(lián)合(union)904被返回給用戶。根據(jù)本發(fā)明的特定實(shí)施例,諸如邊界條件的信息可以被引用以控制對(duì)列存儲(chǔ)的數(shù)據(jù)的訪問(wèn),從而最小化簡(jiǎn)單查詢的列存儲(chǔ)訪問(wèn)。圖8示出了根據(jù)實(shí)施例的對(duì)混合數(shù)據(jù)庫(kù)800進(jìn)行搜索操作的簡(jiǎn)化示意圖。如在下面進(jìn)一步詳細(xì)描述的,搜索802最初可以在內(nèi)存行分區(qū)的數(shù)據(jù)存儲(chǔ)804上執(zhí)行。只有在已經(jīng)返回最初搜索802的結(jié)果時(shí)才做出是否執(zhí)行對(duì)存儲(chǔ)在內(nèi)存列分區(qū)808中的值進(jìn)行進(jìn)一步搜索806的決定。圖8A示出了用于搜索混合表的實(shí)施例的處理流程850的簡(jiǎn)化視圖。第一步驟852包括在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中提供數(shù)據(jù)庫(kù),該數(shù)據(jù)庫(kù)以應(yīng)用層語(yǔ)言創(chuàng)建并且包括行分區(qū)的存儲(chǔ)和列分區(qū)的存儲(chǔ)。第二步驟854包括接收來(lái)自用戶的查詢。第三步驟856包括基于所述查詢來(lái)搜索行分區(qū)的存儲(chǔ)。第四步驟858包括基于對(duì)行分區(qū)的存儲(chǔ)的搜索來(lái)執(zhí)行優(yōu)化。第五步驟860包括只有在優(yōu)化擔(dān)保的情況下,才基于所述查詢搜索列分區(qū)的存儲(chǔ)。在第六步驟862中,基于所述查詢的搜索結(jié)果被返回給用戶。如果優(yōu)化擔(dān)保,則對(duì)列存儲(chǔ)數(shù)據(jù)的搜索可以出現(xiàn)在背景中,對(duì)用戶是透明的。例如,涉及主鍵(PK)或唯一鍵(unique-key)的搜索可以最初只在較少的處理密集型行存儲(chǔ)數(shù)據(jù)上運(yùn)行。如果從這個(gè)最初搜索返回結(jié)果,那么就不需要采取還搜索列存儲(chǔ)數(shù)據(jù)的處理密集型任務(wù)。圖10的簡(jiǎn)化的流程圖示出了混合數(shù)據(jù)庫(kù)表搜索1000的實(shí)施例,其示出如果有必要?jiǎng)t采取列搜索1002,隨后是行搜索結(jié)果1006和列搜索結(jié)果的合并1004。根據(jù)邊界條件的過(guò)濾還可以用作混合表搜索中的優(yōu)化技術(shù)。例如,為了控制對(duì)列存儲(chǔ)數(shù)據(jù)的訪問(wèn),列字典可以保持每個(gè)列分區(qū)的最小和最大值。然后,實(shí)際列存儲(chǔ)數(shù)據(jù)的搜索可以被限制于僅滿足過(guò)濾條件(例如,搜索條件)的分區(qū)。如果給定的過(guò)濾條件不需要列分區(qū)訪問(wèn),則列分區(qū)的邊界可以被保持以允許搜索優(yōu)化(限制列分區(qū)訪問(wèn))。圖16標(biāo)繪了吞吐量(線程每秒,TPS)對(duì)連接的數(shù)量,以評(píng)估在傳統(tǒng)的行和列存儲(chǔ)表上執(zhí)行的以及在根據(jù)實(shí)施例的相應(yīng)混合表上執(zhí)行的PK精確匹配搜索的性能。圖16示出,利用PK剪枝優(yōu)化(pruningoptimization)搜索混合表導(dǎo)致混合表的吞吐量高于常規(guī)列存儲(chǔ)表的吞吐量。更復(fù)雜的搜索可以適于多個(gè)混合數(shù)據(jù)庫(kù)表。特別是,這種復(fù)雜的搜索可以涉及表的連接(join)操作??梢杂糜诙鄠€(gè)混合表的復(fù)雜搜索的一種技術(shù)是基于轉(zhuǎn)換的連接。這種基于轉(zhuǎn)換的連接在2010年12月30日提交的、題為“ProcessingDatabaseQueriesUsingFormatConversion(使用格式轉(zhuǎn)換處理數(shù)據(jù)庫(kù)查詢)”的第12/982,673號(hào)美國(guó)專利申請(qǐng)中詳細(xì)公開,并且出于所有目的,其整體通過(guò)引用合并于此。圖11示出了基于轉(zhuǎn)換的連接操作1100的簡(jiǎn)化示意圖。特別是,這種方法對(duì)于分割表(splittable)借用(leverage)列連接1102。行表作為分區(qū)。這種方法使用即時(shí)(on-the-fly)字典生成和字典緩存??梢杂糜诙鄠€(gè)混合表的復(fù)雜搜索的可替換的技術(shù)是混合的連接操作,其訪問(wèn)以其原生(native)行存儲(chǔ)方向或列存儲(chǔ)方向存儲(chǔ)的數(shù)據(jù)。這種原生混合連接方法在2011年12月12日提交的、題為“MixedJoinofRowandColumnDatabaseTablesinNativeOrientation(原生方向的行和列數(shù)據(jù)庫(kù)表的混合連接)”的第13/323,530號(hào)美國(guó)專利申請(qǐng)中詳細(xì)公開,并且出于所有目的,其整體通過(guò)引用合并于此。圖12示出了原生混合連接操作1200的簡(jiǎn)化示意圖。這種方法利用列字典作為索弓I。連接操作的修剪基于使用列字典索引作為數(shù)據(jù)邊界進(jìn)行過(guò)濾來(lái)實(shí)現(xiàn)。圖13示出了原生混合連接操作1300的另一個(gè)視圖,其使用列字典作為索引。首先,記錄在行表中被迭代。下一步涉及針對(duì)每個(gè)連接條件的列字典查找。在第三步中,匹配的記錄被返回。根據(jù)原生混合連接方法,通過(guò)在迭代行表時(shí)使用列字典查找,實(shí)現(xiàn)了沒(méi)有結(jié)果具體化(resultmaterialization)。這還允許使用行標(biāo)識(shí)符的流水線運(yùn)行。對(duì)于多列連接處理,如果存在連接屬性(concatenatedattribute)或外部鍵,貝丨J可以實(shí)現(xiàn)完全鍵匹配。逐列匹配是可能的。圖14示出可以被配置為執(zhí)行根據(jù)某些實(shí)施例的混合數(shù)據(jù)庫(kù)表的專用計(jì)算機(jī)器的硬件。特別是,計(jì)算機(jī)系統(tǒng)1401包括處理器1402,其與非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)1403電通信。這種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)具有存儲(chǔ)在其上的代碼1405,代碼1405對(duì)應(yīng)于內(nèi)存行分區(qū)。代碼1404對(duì)應(yīng)于內(nèi)存列分區(qū),內(nèi)存行分區(qū)和內(nèi)存列分區(qū)兩者都可以作為根據(jù)上面已經(jīng)描述的實(shí)施例的混合表的一部分進(jìn)行訪問(wèn)。系統(tǒng)還可以包括對(duì)應(yīng)于如上已經(jīng)示出和描述的數(shù)據(jù)移動(dòng)管理器的代碼。這里描述的裝置、方法和技術(shù)可以被實(shí)現(xiàn)為在一個(gè)或多個(gè)計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序(軟件)。計(jì)算機(jī)程序還可以被存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)上。非臨時(shí)性計(jì)算機(jī)可讀介質(zhì)可以包括用于執(zhí)行所述處理的指令。計(jì)算機(jī)系統(tǒng)可以包括軟件服務(wù)器。許多軟件服務(wù)器一起可以形成利用軟件程序編程的計(jì)算機(jī)系統(tǒng)的集群或邏輯網(wǎng)絡(luò),所述軟件程序相互通信并且一起工作以處理請(qǐng)求。示例性計(jì)算機(jī)系統(tǒng)1510在圖15中示出。計(jì)算機(jī)系統(tǒng)1510包括總線1505或其他用于對(duì)信息進(jìn)行通信的通信機(jī)制,以及與總線1505耦接的用于處理信息的處理器1501。計(jì)算機(jī)系統(tǒng)1510還包括與總線1505耦接的存儲(chǔ)器1502,用于存儲(chǔ)將被處理器1501執(zhí)行的信息和指令,例如,包括用于執(zhí)行如上所述的技術(shù)的信息和指令。這個(gè)存儲(chǔ)器還可以用于在將被處理器1501運(yùn)行的指令的運(yùn)行過(guò)程中,存儲(chǔ)變量或其它中間信息。這個(gè)存儲(chǔ)器的可能的實(shí)現(xiàn)可以是,但不限于,隨機(jī)存取存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、或兩者。存儲(chǔ)設(shè)備1503還被提供以用于存儲(chǔ)信息和指令。存儲(chǔ)設(shè)備的常見(jiàn)形式包括,例如,硬盤驅(qū)動(dòng)器、磁盤、光盤、⑶-ROM、DVD、閃存、USB存儲(chǔ)卡、或者計(jì)算機(jī)可以讀取的任何其它介質(zhì)。例如,存儲(chǔ)設(shè)備1503可以包括用于執(zhí)行上述技術(shù)的源代碼、二進(jìn)制代碼或軟件文件。存儲(chǔ)設(shè)備和存儲(chǔ)器是計(jì)算機(jī)可讀介質(zhì)的兩個(gè)示例。計(jì)算機(jī)系統(tǒng)1510可以經(jīng)由總線1505耦接到諸如陰極射線管(CRT)或液晶顯示器(LCD)的顯示器1512,以用于向計(jì)算機(jī)用戶顯示信息。諸如鍵盤和/或鼠標(biāo)的輸入設(shè)備1511耦接到總線1505,以用于將信息和命令選擇從用戶通信給處理器1501。這些組件的組合允許用戶與系統(tǒng)通信。在一些系統(tǒng)中,總線1505可以被劃分為多個(gè)專用總線。計(jì)算機(jī)系統(tǒng)1510還包括與總線1505耦接的網(wǎng)絡(luò)接口1504。網(wǎng)絡(luò)接口1504可以在計(jì)算機(jī)系統(tǒng)1510和本地網(wǎng)絡(luò)1520之間提供雙向數(shù)據(jù)通信。例如,網(wǎng)絡(luò)接口1504可以是數(shù)字用戶線(DSL)或調(diào)制解調(diào)器,以便通過(guò)電話線提供數(shù)據(jù)通信連接。網(wǎng)絡(luò)接口的另一個(gè)示例是局域網(wǎng)(LAN)卡,以便提供到可兼容LAN的數(shù)據(jù)通信連接。無(wú)線鏈接是另一個(gè)示例。在任何這樣的實(shí)現(xiàn)中,網(wǎng)絡(luò)接口1404發(fā)送和接收攜帶代表各種類型信息的數(shù)字?jǐn)?shù)據(jù)流的電、電磁或光信號(hào)。計(jì)算機(jī)系統(tǒng)1510可以通過(guò)網(wǎng)絡(luò)接口1504在本地網(wǎng)絡(luò)1520、內(nèi)聯(lián)網(wǎng)或互聯(lián)網(wǎng)1530上發(fā)送和接收信息,包括消息或其他接口動(dòng)作。對(duì)于本地網(wǎng)絡(luò),計(jì)算機(jī)系統(tǒng)1510可以與諸如服務(wù)器1515的多個(gè)其他計(jì)算機(jī)機(jī)器通信。因此,計(jì)算機(jī)系統(tǒng)1510以及由服務(wù)器1515代表的服務(wù)器計(jì)算機(jī)系統(tǒng)可以形成云計(jì)算網(wǎng)絡(luò),其可以利用這里所描述的過(guò)程進(jìn)行編程。在涉及互聯(lián)網(wǎng)的示例中,軟件組件或服務(wù)可以跨網(wǎng)絡(luò)駐留在多個(gè)不同的計(jì)算機(jī)系統(tǒng)1510或服務(wù)器1531至1535上。例如,上面描述的過(guò)程可以在一個(gè)或多個(gè)服務(wù)器上實(shí)現(xiàn)。服務(wù)器1531可以通過(guò)互聯(lián)網(wǎng)1530、本地網(wǎng)絡(luò)1520和網(wǎng)絡(luò)接口1504將來(lái)自一個(gè)組件的動(dòng)作或消息傳輸給計(jì)算機(jī)系統(tǒng)1510上的組件。例如,上述軟件組件和過(guò)程可以在任何計(jì)算機(jī)系統(tǒng)上實(shí)現(xiàn),并且可以跨網(wǎng)絡(luò)發(fā)送和/或接收信息。以上描述示出了本發(fā)明的各種實(shí)施例以及如何可以實(shí)現(xiàn)本發(fā)明的各個(gè)方面的示例。以上示例和實(shí)施例不應(yīng)被視為唯一的實(shí)施例,而且被呈現(xiàn)以用于說(shuō)明由以下權(quán)利要求所限定的本發(fā)明的靈活性和優(yōu)點(diǎn)?;谝陨瞎_和以下權(quán)利要求,其他安排、實(shí)施例、實(shí)現(xiàn)和等同物將對(duì)本領(lǐng)域技術(shù)人員是顯而易見(jiàn)的,而且可以使用而不脫離由權(quán)利要求限定的本發(fā)明的精神和范圍。權(quán)利要求1.一種計(jì)算機(jī)實(shí)現(xiàn)的方法,包括:在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中提供以應(yīng)用層語(yǔ)言創(chuàng)建并且包含行分區(qū)的存儲(chǔ)和列分區(qū)的存儲(chǔ)的數(shù)據(jù)庫(kù);提供數(shù)據(jù)移動(dòng)管理器,該數(shù)據(jù)移動(dòng)管理器配置以根據(jù)數(shù)據(jù)移動(dòng)策略執(zhí)行數(shù)據(jù)從行分區(qū)的存儲(chǔ)至列分區(qū)的存儲(chǔ)的移動(dòng);以及當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)至列分區(qū)的存儲(chǔ)。2.根據(jù)權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)的方法,進(jìn)一步包括,維持行分區(qū)的存儲(chǔ)的記錄的用戶訪問(wèn)統(tǒng)計(jì),其中數(shù)據(jù)移動(dòng)策略基于數(shù)據(jù)的用戶訪問(wèn)頻率。3.根據(jù)權(quán)利要求2的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中該訪問(wèn)統(tǒng)計(jì)包括行分區(qū)的存儲(chǔ)的頁(yè)面的訪問(wèn)計(jì)數(shù)。4.根據(jù)權(quán)利要求2的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中該條件包括在行分區(qū)的存儲(chǔ)中的記錄的數(shù)量超過(guò)定義的閾值。5.根據(jù)權(quán)利要求1的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中該數(shù)據(jù)移動(dòng)策略基于業(yè)務(wù)語(yǔ)義。6.根據(jù)權(quán)利要求5的計(jì)算機(jī)實(shí)現(xiàn)的方法,其中該條件包括參考表中的相關(guān)記錄至列分區(qū)的存儲(chǔ)的移動(dòng)。7.一種具體實(shí)施計(jì)算機(jī)程序的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),該計(jì)算機(jī)程序用于執(zhí)行方法,該方法包括:提供數(shù)據(jù)移動(dòng)管理器,該數(shù)據(jù)移動(dòng)管理器配置以根據(jù)數(shù)據(jù)移動(dòng)策略執(zhí)行數(shù)據(jù)從數(shù)據(jù)庫(kù)的行分區(qū)的存儲(chǔ)至數(shù)據(jù)庫(kù)的列分區(qū)的存儲(chǔ)的移動(dòng),該數(shù)據(jù)庫(kù)存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中;以及當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)至列分區(qū)的存儲(chǔ)。8.根據(jù)權(quán)利要求7的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該方法進(jìn)一步包括維持行分區(qū)的存儲(chǔ)的記錄的用戶訪問(wèn)統(tǒng)計(jì),其中數(shù)據(jù)移動(dòng)策略基于數(shù)據(jù)的用戶訪問(wèn)頻率。9.根據(jù)權(quán)利要求8的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該訪問(wèn)統(tǒng)計(jì)包括行分區(qū)的存儲(chǔ)的頁(yè)面的訪問(wèn)計(jì)數(shù)。10.根據(jù)權(quán)利要求8的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該條件包括行分區(qū)的存儲(chǔ)中的記錄的數(shù)量超過(guò)定義的閾值。11.根據(jù)權(quán)利要求7的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該數(shù)據(jù)移動(dòng)策略基于業(yè)務(wù)語(yǔ)義。12.根據(jù)權(quán)利要求11的非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其中該條件包括參考表中的相關(guān)記錄至列分區(qū)的存儲(chǔ)的移動(dòng)。13.一種計(jì)算機(jī)系統(tǒng),包括:一個(gè)或多個(gè)處理器;軟件程序,其能夠在所述計(jì)算機(jī)系統(tǒng)上執(zhí)行,該軟件程序配置以:提供數(shù)據(jù)移動(dòng)管理器,該數(shù)據(jù)移動(dòng)管理器配置以根據(jù)數(shù)據(jù)移動(dòng)策略執(zhí)行數(shù)據(jù)從數(shù)據(jù)庫(kù)的行分區(qū)的存儲(chǔ)至數(shù)據(jù)庫(kù)的列分區(qū)的存儲(chǔ)的移動(dòng),該數(shù)據(jù)庫(kù)存儲(chǔ)在非臨時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)中;以及當(dāng)滿足數(shù)據(jù)移動(dòng)策略的條件時(shí),使數(shù)據(jù)移動(dòng)管理器自動(dòng)地將記錄從行分區(qū)的存儲(chǔ)移動(dòng)至列分區(qū)的存儲(chǔ)。14.根據(jù)權(quán)利要求13的計(jì)算機(jī)系統(tǒng),進(jìn)一步包括代碼,其配置以維持行分區(qū)的存儲(chǔ)的記錄的用戶訪問(wèn)統(tǒng)計(jì),其中數(shù)據(jù)移動(dòng)策略基于數(shù)據(jù)的用戶訪問(wèn)頻率。15.根據(jù)權(quán)利要求14的計(jì)算機(jī)系統(tǒng),其中該訪問(wèn)統(tǒng)計(jì)包括行分區(qū)的存儲(chǔ)的頁(yè)面的訪問(wèn)計(jì)數(shù)。16.根據(jù)權(quán)利要求14的計(jì)算機(jī)系統(tǒng),其中該條件包括行分區(qū)的存儲(chǔ)中的記錄的數(shù)量超過(guò)定義的閾值。17.根據(jù)權(quán)利要求13的計(jì)算機(jī)系統(tǒng),其中該數(shù)據(jù)移動(dòng)策略基于業(yè)務(wù)語(yǔ)義。18.根據(jù)權(quán)利要求17的計(jì)算機(jī)系統(tǒng),其中該條件包括參考表中的相關(guān)記錄至列分區(qū)的存儲(chǔ)的移動(dòng)。`全文摘要混合數(shù)據(jù)庫(kù)表被存儲(chǔ)為行存儲(chǔ)和列存儲(chǔ)二者。一個(gè)或多個(gè)技術(shù)可以單獨(dú)使用或組合使用,以便通過(guò)調(diào)節(jié)對(duì)處理密集型列存儲(chǔ)數(shù)據(jù)的訪問(wèn)和/或調(diào)節(jié)處理密集型列存儲(chǔ)數(shù)據(jù)的大小來(lái)提高混合表的性能。例如,在插入操作過(guò)程中,只有在已經(jīng)考慮了某些過(guò)濾和/或邊界條件之后才可以針對(duì)列存儲(chǔ)數(shù)據(jù)搜索唯一性違背情況。在另一種技術(shù)中,混合表管理器可以基于諸如訪問(wèn)頻率或者潛在的業(yè)務(wù)邏輯來(lái)控制將數(shù)據(jù)移動(dòng)到列存儲(chǔ)。在又一種技術(shù)中,混合表的查詢可以僅在行存儲(chǔ)數(shù)據(jù)的初始搜索沒(méi)有返回結(jié)果之后才導(dǎo)致搜索列存儲(chǔ)數(shù)據(jù)。文檔編號(hào)G06F17/30GK103177058SQ20121043338公開日2013年6月26日申請(qǐng)日期2012年9月28日優(yōu)先權(quán)日2011年12月22日發(fā)明者Y·尹,C·鄭,J·李,C·B·宋,Y·S·權(quán),S·K·車申請(qǐng)人:Sap股份公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1