嵌入式數據庫發展狀況研究
隨著數據存儲的快速發展,數據庫應用的范圍更加深入和具體。那些僅適用于PC機、體積龐大、延時較長的數據庫技術已不能滿足針對性較強的嵌入式系統開發的需求。而且隨著嵌入式系統的內存和各種永久存儲介質容量都在不斷增加,嵌入式系統內數據處理量會不斷增加,那么大量的數據如何處理問題變得非?,F實。一種全新的數據庫產品——嵌入式數據庫系統應運而生。
嵌入式數據庫系統
實時性是嵌入式系統的一個重要特性,一些專家將嵌入式系統稱為嵌入式實時系統。在該系統中,對數據庫的操作具有定時限制的特性,這里把應用于嵌入式系統的數據庫系統稱為嵌入式數據庫系統或嵌入式實時數據庫系統(ERTDBS)。嵌入式數據庫的名稱來自其獨特的運行模式。這種數據庫嵌入到了應用程序進程中,消除了與客戶機、服務器配置相關的開銷。嵌入式數據庫是嵌入式系統的重要組成部分,也成為對越來越多的個性化應用開發和管理而采用的一種必不可少的有效手段。
嵌入式實時數據庫管理系統是近幾年才興起的一項新的數據管理技術。它以目前成熟的數據庫技術為基礎,針對嵌入式設備的具體特點,實現對移動設備和嵌入式設備上的數據存儲、組織和管理。傳統的數據庫通常運行在大型的計算設備上,隨著計算設備的日益小型化,數據庫的小型化也日益迫切。
嵌入式數據庫在國外發展已有30多年的歷史,在國內最近幾年才有了重視。在國內外市場上近幾年比較活躍并且越來越受到廣泛重視和應用的是商用級嵌入式實時數據庫系統。
嵌入式實時數據庫基本特性
首先看看實時數據的特性:1)變化快;2)突發性強;3)數據間關聯性強,結構化。
實時數據管理對常規數據庫的挑戰:1)常規數據庫基于文件系統,速度慢;2)文件I/O、Buffer、Cache機制還引入文件操作不確定性;3)這些數據庫通常都是基于C/S架構,導致進程通信不確定性;4)尺寸通常不適應嵌入式系統應用的需求。圖1表明了常規數據庫中數據使用的歷程。
嵌入式實時數據庫的基本特性如下。
1. 嵌入性。嵌入式數據庫不僅可以嵌入到其他的軟件當中,也可以嵌入到硬件設備當中。由于嵌入式系統自身的特點,對數據的存儲和程序的運行都有較強的空間限制,所以嵌入式數據庫首先應該保證適當的體積。并且由于 API 是根據用戶數據特征產生的,調用這些API就可以使用嵌入式數據庫管理實時數據,因此,嵌入式數據庫可以天然地與用戶程序集成在一起。圖2所示實時數據管理結構。
2.實時性。嵌入式系統通常是緊湊系統,即小系統。對于大量實時數據需要管理,實時性和嵌入性是分不開的。只有具有了嵌入性的數據庫才能第一時間得到系統的資源,對系統的請求在第一時間內做出響應。但是,并不是具有嵌入性就一定具有實時性。要想嵌入式數據庫具有很好的實時性,必須做很多額外的工作。
如McObject公司的eXtremeDB 首先是一個實時數據庫,而后才是嵌入式數據庫。由于實時數據管理對時間空間效率的要求非常高,完成同樣工作的資源要求更少。因此,在資源緊湊型系統中, 其優點就顯示出來了。所以, eXtremeDB 開銷較小并與應用程序天然集成實現嵌入,這并不意味著 eXtremeDB 只能管理小系統中的數據。數據庫是嵌入式的,但并不要求應用系統是嵌入式的。應用系統可以是嵌入式系統如手機、家庭網關、機頂盒、數字電視等,也可以是桌面系統或服務器系統如核心路由器、呼叫中心、金融交易系統等。
3.嵌入式實時數據庫系統通常作為嵌入式系統的應用軟件出現,系統常常在無人干預的情況下運行,需要具備較高的可靠性。同時要求數據庫操作具備可預知性,而且系統的大小和性能也都必須是可預知的,這樣才能保證系統的性能。
4.從目前嵌入式應用的發展趨勢來看,嵌入式數據庫的實現必須充分體現系統的可定制性,即系統選擇的技術路線要面向具體的行業應用。
5. 跨平臺的實時數據管理方案。首先嵌入式場合硬件和軟件的平臺是千差萬別。所以嵌入式場合的數據庫必須能夠支持非常多的平臺,嵌入式系統的平臺種類繁多,因此嵌入式數據庫應有一定的可移植性,以適用于不同的軟硬件平臺。
最后,嵌入式數據庫和我們現在常見的企業級數據庫有很大的區別。雖然,從名字上看,二者有著太多的相似性,但卻有著本質的根本性的區別。由于嵌入式實時數據庫系統在運行環境和運行方式上與常見的企業級數據庫管理系統有很大差別,因此,傳統的企業數據庫如Oracle、Sybase等在實時嵌入式環境下很難發揮作用,尤其在一些實時性要求很高的控制系統中,傳統數據庫更顯得無能為力。
應用領域
嵌入式數據庫在國外30多年的歷史中以其優越的性能,應用于各行各業的實時數據管理中,在全球各個關鍵任務平臺中擔任重要角色。如圖3所示。
下面僅結合eXtremeDB嵌入式數據庫的應用情況,介紹一些應用領域。
目前在中國消費類電子比較火熱,它包含的范圍也非常廣。如:個人消費相關的PND(便攜式導航設備)、移動電話、PDA、智能手機等;信息家電和智能辦公相關的機頂盒、家用多媒體盒、互聯網電視接收裝置。用戶可以通過智能手機、PDA等設備直接訪問企業后臺的相關應用數據庫,實時處理關鍵業務,以提升企業一線業務人員的工作效率。
*軍工和航空航天
嵌入式數據庫以其良好的可靠性和卓越的實時性被廣泛地應用于軍事、航空航天等高精尖技術及實時性要求極高的領域中,如衛星通訊、軍事演習、彈道制導、飛機導航等。
*工業控制
工業控制的基本方式是一個反饋的閉環或半閉環的控制方式。隨著工業控制技術的發展,簡單的數據采集方式和反饋方式基本上很難滿足要求。采用嵌入式數據庫即能夠進行高速的數據采集,也能夠快速地反饋。因此,在一些核電站監控裝置、化學工廠系統監控裝置、電話制造系統監控裝置、汽車引擎監控裝置及工業級機器人中有廣泛應用。
此外,還有其它一些專門的移動應用,如鐵路交通控制系統、醫療電子等方面。嵌入式數據庫將隨著各種移動設備、智能計算設備、嵌入式設備的發展而迅速發展。
未來趨勢
隨著嵌入式系統的擴大,嵌入式產品的開發不再像過去那樣幾個人就可以完成整個系統的開發,需要更多的人組成團隊。嵌入式軟件的需求分析和品質管理也變得越來越復雜,開發周期也逐漸拉長。為了解決這些問題,引進第三方成熟的數據庫技術或解決方案變得非?,F實。專業的嵌入式數據庫廠商也逐漸進入了人們的視野。
對于未來嵌入式數據庫的發展趨勢,美國McObject公司亞太區副總裁杜虎生先生認為,“運用成熟的嵌入式數據庫技術可以降低開發成本、縮短開發周期,使開發者能夠將更多的精力放在業務邏輯的處理上,而不用花大把的金錢和精力來處理數據,對整個社會的資源也是一種節約?!倍呕⑸壬€表示,嵌入式數據庫與各種硬件設備的廣泛結合,不僅能夠將企業現有的信息以各種方式聯合起來。更重要的是,企業因此可以將更多的設備集成到企業IT系統中來加以利用和控制,這將是下一代嵌入式數據庫和下一代嵌入式系統所能夠帶來的利益。目前國內許多嵌入式軟件技術人員經過數據處理的困惑,經過開源的摸索和自主開發的嘗試,許多開發者正逐漸意識到商用數據庫的必要性。
嵌入式數據庫將會使人們希望隨時隨地存取任意數據信息的愿望成為現實,嵌入式數據庫將無處不在。
評論
查看更多