資料介紹
隨著硬件的發(fā)展,內(nèi)存的容量在不斷擴(kuò)大,人們長(zhǎng)期思考的將全部或大部分?jǐn)?shù)據(jù)存放在 內(nèi)存中運(yùn)行成為可能。同時(shí),嵌入式設(shè)備在日常生活中得到廣泛應(yīng)用,如何對(duì)其內(nèi)部日益繁 多的數(shù)據(jù)進(jìn)行管理顯得很關(guān)鍵。當(dāng)前嵌入式內(nèi)存數(shù)據(jù)庫(kù)產(chǎn)品很多,大多數(shù)產(chǎn)品由于各方面的 限制,在性能和市場(chǎng)前景方面表現(xiàn)欠佳。在嵌入式內(nèi)存數(shù)據(jù)庫(kù)研究領(lǐng)域,新的存儲(chǔ)與索引方 法被不斷提出,同時(shí)面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言java作為當(dāng)前主流開發(fā)語(yǔ)言,在多線程和死鎖 處理方面有其獨(dú)特之處,為提出新的嵌入式內(nèi)存數(shù)據(jù)庫(kù)的設(shè)計(jì)方法,及基于事務(wù)模型的恢復(fù) 方法提供了可能。
1嵌入式內(nèi)存數(shù)據(jù)庫(kù)概述
嵌入式內(nèi)存數(shù)據(jù)庫(kù)的設(shè)計(jì)一般采取兩種思路:一種是對(duì)傳統(tǒng)的大型數(shù)據(jù)庫(kù)進(jìn)行裁剪和改 進(jìn),很多處理問(wèn)題的方法仍采用傳統(tǒng)數(shù)據(jù)庫(kù)的方法,某些方法在嵌入式內(nèi)存數(shù)據(jù)庫(kù)不適用則 做些稍微改進(jìn),這種思路沒(méi)有逃離傳統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)思想的束縛。另一種則是根據(jù)嵌入式內(nèi)存 數(shù)據(jù)庫(kù)自身的特點(diǎn),提出新的體系結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)和恢復(fù)機(jī)制,以滿足嵌入式內(nèi)存數(shù)據(jù)庫(kù)的 要求。目前,第二種方法被普遍采用和推崇,本文新的設(shè)計(jì)方法就采用后者。
1.2嵌入式內(nèi)存數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)
在新的體系結(jié)構(gòu)中,我們采用關(guān)系數(shù)據(jù)模型,最上層提供外部查詢接口,支持多種常用 語(yǔ)言如C,java等語(yǔ)言連接數(shù)據(jù)庫(kù)。第二層是對(duì)SQL語(yǔ)句進(jìn)行解析的查詢命令分解與優(yōu)化層, 這一層下面是兩個(gè)重要的模塊:數(shù)據(jù)組織與管理和事務(wù)管理器。其中,數(shù)據(jù)組織與管理模塊 完成常用的索引和數(shù)據(jù)組織工作,事務(wù)管理器具有創(chuàng)建事務(wù),調(diào)度事務(wù),回收事務(wù)的功能。 內(nèi)存工作區(qū)是該體系結(jié)構(gòu)最重要的模塊,全部數(shù)據(jù)操作及日志處理在這里進(jìn)行,它在事務(wù)處 理時(shí)為每一個(gè)事務(wù)分配一個(gè)內(nèi)存工作區(qū),其中存放數(shù)據(jù)和日志。日志管理器管理內(nèi)存工作區(qū) 中的日志,而恢復(fù)管理器則在系統(tǒng)出現(xiàn)故障時(shí)起作用。該數(shù)據(jù)庫(kù)大部分操作在內(nèi)存工作區(qū)中 運(yùn)行,只有當(dāng)發(fā)生檢查點(diǎn)操作和數(shù)據(jù)庫(kù)備份,及系統(tǒng)恢復(fù)時(shí)才與外面的磁盤打交道,因此該 數(shù)據(jù)庫(kù)是典型的嵌入式內(nèi)存數(shù)據(jù)庫(kù)。上述體系結(jié)構(gòu)圖如圖1所示:
2.?dāng)?shù)據(jù)的存儲(chǔ)與索引
嵌入式內(nèi)存數(shù)據(jù)庫(kù)通常在內(nèi)存受限的環(huán)境中進(jìn)行,CPU能直接操縱內(nèi)存中的數(shù)據(jù),且數(shù) 據(jù)經(jīng)常由于各種故障而丟失。因此合理的有效利用內(nèi)存資源,減少內(nèi)存開銷和CPU指令數(shù), 使內(nèi)存空間得到高效利用很關(guān)鍵,為此我們引用了一種新的存儲(chǔ)與索引方法——T樹。
T樹是將AVL樹和B樹結(jié)合在一起而得出的一種新的數(shù)據(jù)結(jié)構(gòu),T樹也是一種二叉樹,只不 過(guò)每個(gè)結(jié)點(diǎn)(稱為T結(jié)點(diǎn))都包含多個(gè)元素。每個(gè)T結(jié)點(diǎn)都包含一系列從小到大排序后的元素和 三個(gè)指針,指針?lè)謩e指向父結(jié)點(diǎn)和左右結(jié)點(diǎn)。某一T結(jié)點(diǎn)A的左結(jié)點(diǎn)中必會(huì)包含比A結(jié)點(diǎn)中最 小元素小的最大元素,而A結(jié)點(diǎn)的右結(jié)點(diǎn)中必會(huì)包含比A結(jié)點(diǎn)中最大元素大的最小元素。因?yàn)?是二叉樹,所以T樹具有AVL樹固有的二分查找特性,又因?yàn)槊總€(gè)結(jié)點(diǎn)包含多個(gè)元素,其又包 含了B樹良好的更新和存儲(chǔ)特性的優(yōu)點(diǎn)。對(duì)T樹來(lái)說(shuō),因插入和刪除數(shù)據(jù)所造成的數(shù)據(jù)移動(dòng)通 ??梢跃窒拊谝粋€(gè)結(jié)點(diǎn)內(nèi)進(jìn)行,和AVL樹一樣,T樹也是通過(guò)旋轉(zhuǎn)來(lái)使樹達(dá)到平衡的, 但其所 需要的旋轉(zhuǎn)操作的次數(shù)遠(yuǎn)少于AVL樹[ 2 ]。
1嵌入式內(nèi)存數(shù)據(jù)庫(kù)概述
嵌入式內(nèi)存數(shù)據(jù)庫(kù)的設(shè)計(jì)一般采取兩種思路:一種是對(duì)傳統(tǒng)的大型數(shù)據(jù)庫(kù)進(jìn)行裁剪和改 進(jìn),很多處理問(wèn)題的方法仍采用傳統(tǒng)數(shù)據(jù)庫(kù)的方法,某些方法在嵌入式內(nèi)存數(shù)據(jù)庫(kù)不適用則 做些稍微改進(jìn),這種思路沒(méi)有逃離傳統(tǒng)數(shù)據(jù)庫(kù)設(shè)計(jì)思想的束縛。另一種則是根據(jù)嵌入式內(nèi)存 數(shù)據(jù)庫(kù)自身的特點(diǎn),提出新的體系結(jié)構(gòu),存儲(chǔ)結(jié)構(gòu)和恢復(fù)機(jī)制,以滿足嵌入式內(nèi)存數(shù)據(jù)庫(kù)的 要求。目前,第二種方法被普遍采用和推崇,本文新的設(shè)計(jì)方法就采用后者。
1.2嵌入式內(nèi)存數(shù)據(jù)庫(kù)的體系結(jié)構(gòu)
在新的體系結(jié)構(gòu)中,我們采用關(guān)系數(shù)據(jù)模型,最上層提供外部查詢接口,支持多種常用 語(yǔ)言如C,java等語(yǔ)言連接數(shù)據(jù)庫(kù)。第二層是對(duì)SQL語(yǔ)句進(jìn)行解析的查詢命令分解與優(yōu)化層, 這一層下面是兩個(gè)重要的模塊:數(shù)據(jù)組織與管理和事務(wù)管理器。其中,數(shù)據(jù)組織與管理模塊 完成常用的索引和數(shù)據(jù)組織工作,事務(wù)管理器具有創(chuàng)建事務(wù),調(diào)度事務(wù),回收事務(wù)的功能。 內(nèi)存工作區(qū)是該體系結(jié)構(gòu)最重要的模塊,全部數(shù)據(jù)操作及日志處理在這里進(jìn)行,它在事務(wù)處 理時(shí)為每一個(gè)事務(wù)分配一個(gè)內(nèi)存工作區(qū),其中存放數(shù)據(jù)和日志。日志管理器管理內(nèi)存工作區(qū) 中的日志,而恢復(fù)管理器則在系統(tǒng)出現(xiàn)故障時(shí)起作用。該數(shù)據(jù)庫(kù)大部分操作在內(nèi)存工作區(qū)中 運(yùn)行,只有當(dāng)發(fā)生檢查點(diǎn)操作和數(shù)據(jù)庫(kù)備份,及系統(tǒng)恢復(fù)時(shí)才與外面的磁盤打交道,因此該 數(shù)據(jù)庫(kù)是典型的嵌入式內(nèi)存數(shù)據(jù)庫(kù)。上述體系結(jié)構(gòu)圖如圖1所示:
2.?dāng)?shù)據(jù)的存儲(chǔ)與索引
嵌入式內(nèi)存數(shù)據(jù)庫(kù)通常在內(nèi)存受限的環(huán)境中進(jìn)行,CPU能直接操縱內(nèi)存中的數(shù)據(jù),且數(shù) 據(jù)經(jīng)常由于各種故障而丟失。因此合理的有效利用內(nèi)存資源,減少內(nèi)存開銷和CPU指令數(shù), 使內(nèi)存空間得到高效利用很關(guān)鍵,為此我們引用了一種新的存儲(chǔ)與索引方法——T樹。
T樹是將AVL樹和B樹結(jié)合在一起而得出的一種新的數(shù)據(jù)結(jié)構(gòu),T樹也是一種二叉樹,只不 過(guò)每個(gè)結(jié)點(diǎn)(稱為T結(jié)點(diǎn))都包含多個(gè)元素。每個(gè)T結(jié)點(diǎn)都包含一系列從小到大排序后的元素和 三個(gè)指針,指針?lè)謩e指向父結(jié)點(diǎn)和左右結(jié)點(diǎn)。某一T結(jié)點(diǎn)A的左結(jié)點(diǎn)中必會(huì)包含比A結(jié)點(diǎn)中最 小元素小的最大元素,而A結(jié)點(diǎn)的右結(jié)點(diǎn)中必會(huì)包含比A結(jié)點(diǎn)中最大元素大的最小元素。因?yàn)?是二叉樹,所以T樹具有AVL樹固有的二分查找特性,又因?yàn)槊總€(gè)結(jié)點(diǎn)包含多個(gè)元素,其又包 含了B樹良好的更新和存儲(chǔ)特性的優(yōu)點(diǎn)。對(duì)T樹來(lái)說(shuō),因插入和刪除數(shù)據(jù)所造成的數(shù)據(jù)移動(dòng)通 ??梢跃窒拊谝粋€(gè)結(jié)點(diǎn)內(nèi)進(jìn)行,和AVL樹一樣,T樹也是通過(guò)旋轉(zhuǎn)來(lái)使樹達(dá)到平衡的, 但其所 需要的旋轉(zhuǎn)操作的次數(shù)遠(yuǎn)少于AVL樹[ 2 ]。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 【嵌入式實(shí)驗(yàn)】《嵌入式數(shù)據(jù)庫(kù) sqlite 移植及使用》
- Spring嵌入式數(shù)據(jù)庫(kù)示例
- H2:一款基于 Java 的嵌入式關(guān)系型數(shù)據(jù)庫(kù)
- 嵌入式數(shù)據(jù)庫(kù)
- 嵌入式數(shù)據(jù)庫(kù)在生產(chǎn)車間中的應(yīng)用 1次下載
- 基于非易失性內(nèi)存的持久化嵌入式內(nèi)存數(shù)據(jù)庫(kù) 1次下載
- 一種新的嵌入式移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)
- 嵌入式內(nèi)存數(shù)據(jù)庫(kù)的研究與設(shè)計(jì)
- 嵌入式移動(dòng)數(shù)據(jù)庫(kù)NimbleDB的實(shí)現(xiàn)
- 一種適用于嵌入式數(shù)據(jù)庫(kù)的新索引機(jī)制
- 嵌入式移動(dòng)數(shù)據(jù)庫(kù)的數(shù)據(jù)同步及其應(yīng)用
- 嵌入式移動(dòng)數(shù)據(jù)庫(kù)NimbleDB的實(shí)現(xiàn)
- 嵌入式移動(dòng)數(shù)據(jù)庫(kù)研究
- 一種嵌入式移動(dòng)數(shù)據(jù)庫(kù)系統(tǒng)的研究與實(shí)現(xiàn)
- 一種微型嵌入式數(shù)據(jù)庫(kù)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 嵌入式fpga是什么意思 992次閱讀
- OpenHarmony關(guān)系型數(shù)據(jù)庫(kù)概述 880次閱讀
- 分享一種嵌入式系統(tǒng)自動(dòng)化測(cè)試的詳細(xì)方案 2522次閱讀
- 常見的數(shù)據(jù)庫(kù)管理 1916次閱讀
- 嵌入式移動(dòng)數(shù)據(jù)庫(kù)的結(jié)構(gòu)體系特點(diǎn)及優(yōu)化查詢方法研究 2192次閱讀
- linux系統(tǒng)POS嵌入式數(shù)據(jù)庫(kù)如何去構(gòu)建 845次閱讀
- 嵌入式系統(tǒng)開發(fā)經(jīng)常使用哪一些數(shù)據(jù)庫(kù) 1682次閱讀
- 英創(chuàng)信息技術(shù)嵌入式數(shù)據(jù)庫(kù)SQLC介紹 1903次閱讀
- 基于μC/OS嵌入式操作系統(tǒng)的嵌入式數(shù)據(jù)管理設(shè)計(jì) 1178次閱讀
- 基于嵌入式數(shù)據(jù)庫(kù)的礦場(chǎng)安全系統(tǒng)設(shè)計(jì)方案詳解 1043次閱讀
- 一種基于嵌入式系統(tǒng)應(yīng)用的機(jī)器人視覺(jué)系統(tǒng)設(shè)計(jì)詳解 2511次閱讀
- 基于嵌入式數(shù)據(jù)庫(kù)的海量存儲(chǔ)技術(shù)解析 2701次閱讀
- 嵌入式常用的c標(biāo)準(zhǔn)庫(kù) 5207次閱讀
- 移動(dòng)Agent嵌入式移動(dòng)數(shù)據(jù)庫(kù)詳解及實(shí)現(xiàn)查詢優(yōu)化 1193次閱讀
- 一種嵌入式系統(tǒng)的內(nèi)存分配方案 2220次閱讀
下載排行
本周
- 1TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 2開關(guān)電源基礎(chǔ)知識(shí)
- 5.73 MB | 6次下載 | 免費(fèi)
- 3100W短波放大電路圖
- 0.05 MB | 4次下載 | 3 積分
- 4嵌入式linux-聊天程序設(shè)計(jì)
- 0.60 MB | 3次下載 | 免費(fèi)
- 5基于FPGA的光纖通信系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
- 0.61 MB | 2次下載 | 免費(fèi)
- 6基于FPGA的C8051F單片機(jī)開發(fā)板設(shè)計(jì)
- 0.70 MB | 2次下載 | 免費(fèi)
- 751單片機(jī)窗簾控制器仿真程序
- 1.93 MB | 2次下載 | 免費(fèi)
- 8基于51單片機(jī)的RGB調(diào)色燈程序仿真
- 0.86 MB | 2次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33564次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21548次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6653次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537796次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191185次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183278次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多