色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Perst嵌入式數(shù)據(jù)庫存儲結(jié)構(gòu)分析與研究

          Perst嵌入式數(shù)據(jù)庫存儲結(jié)構(gòu)分析與研究

          作者: 時間:2012-03-20 來源:網(wǎng)絡(luò) 收藏

          對于這種類型的索引值,value占用多大的空間,是根據(jù)數(shù)值類型實際占用的空間進行分配的。

          3)索引值的類型是字符串或字節(jié)數(shù)組類型

          對于這種類型的索引結(jié)構(gòu),在保存索引值的時候并不只是保存字符串或字節(jié)數(shù)組,還會保存字符串的一些信息,如字符串的字符個數(shù),字符串在該節(jié)點中存放的相對位置。以O(shè)ID1,“teacher”>為例,其如下圖所示:

          圖5.1.3 索引類型是字符串的節(jié)點


          從以上三種不同類型的節(jié)點,可以看出節(jié)點存儲結(jié)構(gòu)的共同點:1)節(jié)點的前4個字節(jié)保存該節(jié)點的基本信息;2)key,value>的存放:一個從節(jié)點頁的開頭按照其插入的順序存放(從前向后),另一個則是從節(jié)點頁的末尾開始存放(從后向前)。這樣處理的好處是可以很快地從節(jié)點中取出key,value>,不用經(jīng)過很復(fù)雜的計算過程,節(jié)省了設(shè)備資源的使用。

          5.2 在內(nèi)存中的重建

          Perst將整個的結(jié)構(gòu)保存在數(shù)據(jù)庫文件中,當(dāng)程序?qū)?shù)據(jù)操作的時候如何將整個B+樹裝入內(nèi)存呢?

          Perst中有一個可以引用所有記錄對象的Root Object的類,通過這個類Perst除了可以動態(tài)的加載B+樹類對象,而且可以很快的從數(shù)據(jù)庫文件中定位B+樹根節(jié)點的文件存儲位置。

          Perst找到相應(yīng)的B+樹根節(jié)點的時候,會一次性的從數(shù)據(jù)庫文件中讀取一個節(jié)點大小(4K)的數(shù)據(jù)到內(nèi)存中。由于在節(jié)點構(gòu)建的時候索引值是順序存放的,因此程序可以用二分查找的算法在節(jié)點中查找符合條件的索引值,如果找到就可以定位到此節(jié)點的子節(jié)點或者是和索引值對應(yīng)的記錄對象。如果節(jié)點是葉節(jié)點,程序就可以從這個節(jié)點中找出和索引值對應(yīng)的對象的OID,通過OID,Perst就可以從文件中讀取到整個記錄的字節(jié)數(shù)組形式,通過類對象的動態(tài)加載機制可以把字節(jié)數(shù)組還原為記錄對象的形式。如果是內(nèi)部節(jié)點,根據(jù)內(nèi)部節(jié)點的OID,Perst會將內(nèi)部節(jié)點的數(shù)據(jù)讀取到內(nèi)存中。這些被加載到內(nèi)存中的數(shù)據(jù)會臨時的存放在一個對象緩沖區(qū),當(dāng)需要的時候就可以直接從對象索引區(qū)讀取數(shù)據(jù),而不用重復(fù)的進行I/O操作。只有對象緩沖區(qū)滿時,Perst采用LRU置換機制把內(nèi)存中的數(shù)據(jù)寫入數(shù)據(jù)庫文件中。

          6結(jié)論

          本文著重分析了Perst的文件存儲結(jié)構(gòu)。B+樹結(jié)構(gòu)的設(shè)計使其在嵌入式設(shè)備上減少了對磁盤的I/O操作,適應(yīng)了嵌入式設(shè)備資源受限的特點。

          參考文獻:

          [1]Ramez Elmasri,Shamkant B.Navathe數(shù)據(jù)庫系統(tǒng)基礎(chǔ)初級篇[M].北京:人民郵電出版社,2007.305-355.

          [2]東緣.Perst獲Android平臺兼容性驗證[EB/OL]. http://webservices.ctocio.com.cn/wsopen/114/7766114.shtml.

          [3] Abraham Silberschatz,Henry F.Korth,S.Sudarshan.數(shù)據(jù)庫系統(tǒng)概念[M].北京:機械工業(yè)出版社,2006.274-339.


          上一頁 1 2 3 4 下一頁

          關(guān)鍵詞: 嵌入式數(shù)據(jù)庫 存儲結(jié)構(gòu) B+樹

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉