嵌入式數(shù)據(jù)庫發(fā)展綜述
隨著數(shù)據(jù)存儲的快速發(fā)展,數(shù)據(jù)庫應(yīng)用的范圍更加深入和具體。那些僅適用于PC機、體積龐大、延時較長的數(shù)據(jù)庫技術(shù)已不能滿足針對性較強的嵌入式系統(tǒng)開發(fā)的需求。而且隨著嵌入式系統(tǒng)的內(nèi)存和各種永久存儲介質(zhì)容量都在不斷增加,嵌入式系統(tǒng)內(nèi)數(shù)據(jù)處理量會不斷增加,那么大量的數(shù)據(jù)如何處理問題變得非?,F(xiàn)實。一種全新的數(shù)據(jù)庫產(chǎn)品——嵌入式數(shù)據(jù)庫系統(tǒng)應(yīng)運而生。
本文引用地址:http://butianyuan.cn/article/149838.htm嵌入式數(shù)據(jù)庫系統(tǒng)
實時性是嵌入式系統(tǒng)的一個重要特性,一些專家將嵌入式系統(tǒng)稱為嵌入式實時系統(tǒng)。在該系統(tǒng)中,對數(shù)據(jù)庫的操作具有定時限制的特性,這里把應(yīng)用于嵌入式系統(tǒng)的數(shù)據(jù)庫系統(tǒng)稱為嵌入式數(shù)據(jù)庫系統(tǒng)或嵌入式實時數(shù)據(jù)庫系統(tǒng)(ERTDBS)。嵌入式數(shù)據(jù)庫的名稱來自其獨特的運行模式。這種數(shù)據(jù)庫嵌入到了應(yīng)用程序進程中,消除了與客戶機、服務(wù)器配置相關(guān)的開銷。嵌入式數(shù)據(jù)庫是嵌入式系統(tǒng)的重要組成部分,也成為對越來越多的個性化應(yīng)用開發(fā)和管理而采用的一種必不可少的有效手段。
嵌入式實時數(shù)據(jù)庫管理系統(tǒng)是近幾年才興起的一項新的數(shù)據(jù)管理技術(shù)。它以目前成熟的數(shù)據(jù)庫技術(shù)為基礎(chǔ),針對嵌入式設(shè)備的具體特點,實現(xiàn)對移動設(shè)備和嵌入式設(shè)備上的數(shù)據(jù)存儲、組織和管理。傳統(tǒng)的數(shù)據(jù)庫通常運行在大型的計算設(shè)備上,隨著計算設(shè)備的日益小型化,數(shù)據(jù)庫的小型化也日益迫切。
嵌入式數(shù)據(jù)庫在國外發(fā)展已有30多年的歷史,在國內(nèi)最近幾年才有了重視。在國內(nèi)外市場上近幾年比較活躍并且越來越受到廣泛重視和應(yīng)用的是商用級嵌入式實時數(shù)據(jù)庫系統(tǒng)。
嵌入式實時數(shù)據(jù)庫基本特性
首先看看實時數(shù)據(jù)的特性:1)變化快;2)突發(fā)性強;3)數(shù)據(jù)間關(guān)聯(lián)性強,結(jié)構(gòu)化。
實時數(shù)據(jù)管理對常規(guī)數(shù)據(jù)庫的挑戰(zhàn):1)常規(guī)數(shù)據(jù)庫基于文件系統(tǒng),速度慢;2)文件I/O、Buffer、Cache機制還引入文件操作不確定性;3)這些數(shù)據(jù)庫通常都是基于C/S架構(gòu),導(dǎo)致進程通信不確定性;4)尺寸通常不適應(yīng)嵌入式系統(tǒng)應(yīng)用的需求。圖1表明了常規(guī)數(shù)據(jù)庫中數(shù)據(jù)使用的歷程。
嵌入式實時數(shù)據(jù)庫的基本特性如下。
1. 嵌入性。嵌入式數(shù)據(jù)庫不僅可以嵌入到其他的軟件當中,也可以嵌入到硬件設(shè)備當中。由于嵌入式系統(tǒng)自身的特點,對數(shù)據(jù)的存儲和程序的運行都有較強的空間限制,所以嵌入式數(shù)據(jù)庫首先應(yīng)該保證適當?shù)捏w積。并且由于 API 是根據(jù)用戶數(shù)據(jù)特征產(chǎn)生的,調(diào)用這些API就可以使用嵌入式數(shù)據(jù)庫管理實時數(shù)據(jù),因此,嵌入式數(shù)據(jù)庫可以天然地與用戶程序集成在一起。圖2所示實時數(shù)據(jù)管理結(jié)構(gòu)。
2.實時性。嵌入式系統(tǒng)通常是緊湊系統(tǒng),即小系統(tǒng)。對于大量實時數(shù)據(jù)需要管理,實時性和嵌入性是分不開的。只有具有了嵌入性的數(shù)據(jù)庫才能第一時間得到系統(tǒng)的資源,對系統(tǒng)的請求在第一時間內(nèi)做出響應(yīng)。但是,并不是具有嵌入性就一定具有實時性。要想嵌入式數(shù)據(jù)庫具有很好的實時性,必須做很多額外的工作。
如McObject公司的eXtremeDB 首先是一個實時數(shù)據(jù)庫,而后才是嵌入式數(shù)據(jù)庫。由于實時數(shù)據(jù)管理對時間空間效率的要求非常高,完成同樣工作的資源要求更少。因此,在資源緊湊型系統(tǒng)中, 其優(yōu)點就顯示出來了。所以, eXtremeDB 開銷較小并與應(yīng)用程序天然集成實現(xiàn)嵌入,這并不意味著 eXtremeDB 只能管理小系統(tǒng)中的數(shù)據(jù)。數(shù)據(jù)庫是嵌入式的,但并不要求應(yīng)用系統(tǒng)是嵌入式的。應(yīng)用系統(tǒng)可以是嵌入式系統(tǒng)如手機、家庭網(wǎng)關(guān)、機頂盒、數(shù)字電視等,也可以是桌面系統(tǒng)或服務(wù)器系統(tǒng)如核心路由器、呼叫中心、金融交易系統(tǒng)等。
3.嵌入式實時數(shù)據(jù)庫系統(tǒng)通常作為嵌入式系統(tǒng)的應(yīng)用軟件出現(xiàn),系統(tǒng)常常在無人干預(yù)的情況下運行,需要具備較高的可靠性。同時要求數(shù)據(jù)庫操作具備可預(yù)知性,而且系統(tǒng)的大小和性能也都必須是可預(yù)知的,這樣才能保證系統(tǒng)的性能。
4.從目前嵌入式應(yīng)用的發(fā)展趨勢來看,嵌入式數(shù)據(jù)庫的實現(xiàn)必須充分體現(xiàn)系統(tǒng)的可定制性,即系統(tǒng)選擇的技術(shù)路線要面向具體的行業(yè)應(yīng)用。
5. 跨平臺的實時數(shù)據(jù)管理方案。首先嵌入式場合硬件和軟件的平臺是千差萬別。所以嵌入式場合的數(shù)據(jù)庫必須能夠支持非常多的平臺,嵌入式系統(tǒng)的平臺種類繁多,因此嵌入式數(shù)據(jù)庫應(yīng)有一定的可移植性,以適用于不同的軟硬件平臺。
最后,嵌入式數(shù)據(jù)庫和我們現(xiàn)在常見的企業(yè)級數(shù)據(jù)庫有很大的區(qū)別。雖然,從名字上看,二者有著太多的相似性,但卻有著本質(zhì)的根本性的區(qū)別。由于嵌入式實時數(shù)據(jù)庫系統(tǒng)在運行環(huán)境和運行方式上與常見的企業(yè)級數(shù)據(jù)庫管理系統(tǒng)有很大差別,因此,傳統(tǒng)的企業(yè)數(shù)據(jù)庫如Oracle、Sybase等在實時嵌入式環(huán)境下很難發(fā)揮作用,尤其在一些實時性要求很高的控制系統(tǒng)中,傳統(tǒng)數(shù)據(jù)庫更顯得無能為力。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論