傳統(tǒng)的數(shù)據(jù)庫的存儲管理主要是基于磁盤存儲結構的," />
時間:2022-11-05 22:30:01 | 來源:信息時代
時間:2022-11-05 22:30:01 來源:信息時代
嵌入式數(shù)據(jù)庫存儲 : 在充分考慮存取時間、存儲空間利用率和維護代價等因素的基礎上,以內(nèi)存數(shù)據(jù)庫作為底層支持的實時數(shù)據(jù)庫存儲模式。
傳統(tǒng)的數(shù)據(jù)庫的存儲管理主要是基于磁盤存儲結構的,數(shù)據(jù)在存取過程中需要進行頻繁的I/O操作,由于I/O操作時間的不確定性,使得傳統(tǒng)數(shù)據(jù)庫存儲技術無法應用在嵌入式系統(tǒng)中??紤]到存取時間、存儲空間利用率和維護代價等因素,通常嵌入式系統(tǒng)的存儲結構分為兩個層次。第一層為內(nèi)存,整個嵌入式實時數(shù)據(jù)庫系統(tǒng)的高性能要求就是以內(nèi)存數(shù)據(jù)庫作為底層支持的,它是嵌入式實時數(shù)據(jù)庫系統(tǒng)的關鍵,用于程序運行和實時數(shù)據(jù)的處理,它存取速度快,無需進行磁盤的I/O操作,因此最適合用于實時數(shù)據(jù)的管理和操作; 第二層為外存,通常采用一些永久存儲設備,需要進行讀寫I/O操作,用于存儲系統(tǒng)中的歷史數(shù)據(jù)。這樣,對于那些固定不變的數(shù)據(jù)(如模擬量的工程單位)或存取頻率相對較低的數(shù)據(jù)(如只有在故障恢復時才使用的數(shù)據(jù)備份或日志備份)放在外存空間內(nèi),而把所有的實時數(shù)據(jù)或當前工作部分的數(shù)據(jù)駐留在內(nèi)存中,避免了數(shù)據(jù)庫文件的操作,大大提升了嵌入式實時數(shù)據(jù)庫系統(tǒng)的性能。對于這種兩層存儲結構中的內(nèi)存部分,可由嵌入式操作系統(tǒng)自動分配,用戶也可指定系統(tǒng)的分配空間,一般由三部分共享內(nèi)存構成,分別是索引區(qū)、數(shù)據(jù)區(qū)和系統(tǒng)信息區(qū),每條記錄由表名、段號、段內(nèi)偏移地址來確定。
而嵌入式數(shù)據(jù)庫中設計存儲模型的目的是為了對數(shù)據(jù)和索引進行壓縮。主要有FS、DS和RS三種存儲模型:
(1) flat存儲(flat storage,FS): 是一種最簡單的存儲模型,它存儲無重復的屬性值,元組順序存儲,屬性值嵌入到元組中。它的優(yōu)點是訪問的局部性;缺點是空間消耗嚴重,不能避免重復屬性值,而且效率較低,所有的操作順序計算??梢酝ㄟ^增加索引結構來改善效率問題,但會消耗更多的空間。
(2)基于指針的域存儲(domain storage,DS):是對數(shù)據(jù)的一種壓縮模型,它在域中對值進行分組,元組通過指針來引用他們的值,此外,一個域也能在多個屬性間進行共享。DS存儲模型適合存儲包含有重復值的屬性,也可以存儲可變大小的屬性,所有關系的所有元組都變成了固定大小的,便于處理,簡化了內(nèi)存管理。這種模型元組創(chuàng)建、更新和刪除的代價大,但由于所寫的數(shù)據(jù)量小,因此效率仍然很高。DS存儲模型如圖1所示。
圖1 DS存儲模型
圖2 RS存儲模型
微信公眾號
版權所有? 億企邦 1997-2022 保留一切法律許可權利。