對(duì)象代理數(shù)據(jù)庫(kù)的雙向指針存儲(chǔ)優(yōu)化方法
發(fā)布時(shí)間:2019-05-13 18:01
【摘要】:在對(duì)象代理數(shù)據(jù)庫(kù)中,提出了兩個(gè)新的概念:代理對(duì)象和代理類.一個(gè)對(duì)象可以有一個(gè)或多個(gè)代理對(duì)象,該對(duì)象也被稱為代理對(duì)象的源對(duì)象.代理對(duì)象可以從其源對(duì)象中選擇性繼承屬性和方法,也可以擴(kuò)展定義代理類自己的屬性和方法.代理對(duì)象繼承自源對(duì)象的屬性稱為虛屬性,虛屬性不實(shí)際存儲(chǔ)其值,而是在查詢時(shí)根據(jù)源對(duì)象的實(shí)屬性值計(jì)算得到.對(duì)象代理數(shù)據(jù)庫(kù)利用雙向指針表來(lái)實(shí)現(xiàn)源對(duì)象和代理對(duì)象之間的這種關(guān)聯(lián),雙向指針表中每一條記錄包含兩個(gè)字段,分別對(duì)應(yīng)于源對(duì)象ID和代理對(duì)象ID.當(dāng)存在多層代理關(guān)系時(shí),查詢代理對(duì)象需要對(duì)雙向指針表執(zhí)行多次查詢操作,因而查詢效率往往不是很好.文中針對(duì)代理對(duì)象查詢效率低的問題進(jìn)行了深入研究,發(fā)現(xiàn)其主要原因是雙向指針表中具有相同代理類和源類的數(shù)據(jù)分布在不同的磁盤塊中,查詢雙向指針表時(shí)需要多次I/O操作.基于此,文中首先設(shè)計(jì)新的對(duì)象代理數(shù)據(jù)庫(kù)中空閑空間分配策略,在原有的空閑空間管理策略中加入新的索引信息,使得當(dāng)需要添加記錄時(shí)不僅使用空閑空間管理模塊FSM查找空閑空間大小一個(gè)條件,而且結(jié)合使用索引中指定的聚簇信息尋找具有合適空閑空間的磁盤塊,然后讀取目標(biāo)磁盤塊到內(nèi)存中,并將雙向指針表中的元組以源類和代理類為單位進(jìn)行分類寫入磁盤塊,從而實(shí)現(xiàn)基于代理關(guān)系的雙向指針表的聚簇存儲(chǔ).同時(shí)針對(duì)具體的應(yīng)用場(chǎng)景,文中根據(jù)數(shù)據(jù)庫(kù)模式中代理層次信息、用戶查詢頻率等因素設(shè)計(jì)一個(gè)I/O查詢代價(jià)模型,利用該模型計(jì)算各級(jí)代理類與源類聚簇之后的查詢代價(jià),從而選擇出一種查詢代價(jià)最小,性能最優(yōu)的聚簇策略,使得能夠最大限度的減少I/O次數(shù),提高代理對(duì)象的查詢效率.實(shí)驗(yàn)結(jié)果表明,該聚簇方法在真實(shí)數(shù)據(jù)集上的優(yōu)化效果比未優(yōu)化平均提高15%以上,比已有的雙向指針表的優(yōu)化方法平均提高9%以上.
[Abstract]:In the object proxy database, two new concepts are proposed: proxy object and proxy class. An object can have one or more proxy objects, also known as the source object of the proxy object. A proxy object can selectively inherit properties and methods from its source object, or it can extend the properties and methods that define the proxy class itself. The proxy object inherits the property from the source object called virtual attribute, which does not actually store its value, but is calculated according to the real property value of the source object when querying. The object proxy database uses a bidirectional pointer table to achieve this association between the source object and the proxy object. Each record in the bidirectional pointer table contains two fields, corresponding to the source object ID and the proxy object ID., respectively. When there is a multi-layer proxy relationship, the query agent object needs to perform multiple query operations on the bidirectional pointer table, so the query efficiency is often not very good. In this paper, the problem of low query efficiency of proxy object is deeply studied, and it is found that the main reason is that the data with the same proxy class and source class in the bidirectional pointer table are distributed in different disk blocks. Multiple I / O operations are required to query the bidirectional pointer table. Based on this, this paper first designs a new free space allocation strategy in the object agent database, and adds new index information to the original free space management strategy. So that when a record needs to be added, not only the free space management module FSM is used to find a condition for the free space size, but also the clustering information specified in the index is used to find the disk block with the appropriate free space, Then the target disk block is read into memory, and the tuples in the bidirectional pointer table are classified and written to the disk block in the units of the source class and the proxy class, so as to realize the clustering storage of the bidirectional pointer table based on the proxy relationship. At the same time, according to the information of agent level in database schema and the frequency of user query, an I 鈮,
本文編號(hào):2476078
[Abstract]:In the object proxy database, two new concepts are proposed: proxy object and proxy class. An object can have one or more proxy objects, also known as the source object of the proxy object. A proxy object can selectively inherit properties and methods from its source object, or it can extend the properties and methods that define the proxy class itself. The proxy object inherits the property from the source object called virtual attribute, which does not actually store its value, but is calculated according to the real property value of the source object when querying. The object proxy database uses a bidirectional pointer table to achieve this association between the source object and the proxy object. Each record in the bidirectional pointer table contains two fields, corresponding to the source object ID and the proxy object ID., respectively. When there is a multi-layer proxy relationship, the query agent object needs to perform multiple query operations on the bidirectional pointer table, so the query efficiency is often not very good. In this paper, the problem of low query efficiency of proxy object is deeply studied, and it is found that the main reason is that the data with the same proxy class and source class in the bidirectional pointer table are distributed in different disk blocks. Multiple I / O operations are required to query the bidirectional pointer table. Based on this, this paper first designs a new free space allocation strategy in the object agent database, and adds new index information to the original free space management strategy. So that when a record needs to be added, not only the free space management module FSM is used to find a condition for the free space size, but also the clustering information specified in the index is used to find the disk block with the appropriate free space, Then the target disk block is read into memory, and the tuples in the bidirectional pointer table are classified and written to the disk block in the units of the source class and the proxy class, so as to realize the clustering storage of the bidirectional pointer table based on the proxy relationship. At the same time, according to the information of agent level in database schema and the frequency of user query, an I 鈮,
本文編號(hào):2476078
本文鏈接:http://sikaile.net/kejilunwen/ruanjiangongchenglunwen/2476078.html
最近更新
教材專著