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