嵌入式數(shù)據(jù)庫的基本特點
導讀:按照馬克思的哲學理論,事物發(fā)展的進程可以用螺旋式上升來描述。嵌入式數(shù)據(jù)庫和我們現(xiàn)在常見的企業(yè)級數(shù)據(jù)庫的基本關(guān)系也是一個螺旋上升式的關(guān)系。雖然,從名字上看,二者有著太多的相似性,但卻有著本質(zhì)的根本性的區(qū)別。外在的形式的相似性,并不能代表二者的實現(xiàn)方式和運用方式的相似。恰恰相反,嵌入式數(shù)據(jù)庫的實現(xiàn)和運用方式和企業(yè)級的數(shù)據(jù)庫有著很大的區(qū)別。嵌入式數(shù)據(jù)庫實際上是輕量級的,在運行時,它們需要較少的內(nèi)存。它們是使用精簡代碼編寫的,對于嵌入式設備,其速度更快,效果更理想。
在國外,嵌入式數(shù)據(jù)庫已經(jīng)發(fā)展了30多年,典型的代表是Empress嵌入式數(shù)據(jù)庫。它的特點也基本代表了現(xiàn)階段嵌入式實時數(shù)據(jù)庫的基本特點。下面就介紹一下Empress嵌入式數(shù)據(jù)庫所具有的區(qū)別于企業(yè)級數(shù)據(jù)庫的幾個主要特點。
嵌入性是嵌入式數(shù)據(jù)庫的基本特性。
嵌入式數(shù)據(jù)庫不僅可以嵌入到其他的軟件當中,也可以嵌入到硬件設備當中。Empress的方法之一就是使數(shù)據(jù)庫以組件的形式存在,并發(fā)布給客戶,客戶只需要像調(diào)用自己定義的函數(shù)那樣調(diào)用相應的函數(shù)就可以創(chuàng)建表、插入刪除數(shù)據(jù)等常規(guī)的數(shù)據(jù)庫操作??蛻粼谧约旱漠a(chǎn)品發(fā)布時,可以將Empress數(shù)據(jù)庫編譯到自己的產(chǎn)品內(nèi),變成自己產(chǎn)品的一部分,最終用戶是感受不到數(shù)據(jù)庫的存在的,也不用特意去維護數(shù)據(jù)庫。
實時性和嵌入性是分不開的。
只有具有了嵌入性的數(shù)據(jù)庫才能夠***時間得到系統(tǒng)的資源,對系統(tǒng)的請求在***時間內(nèi)做出響應。但是,并不是具有嵌入性就一定具有實時性。要想嵌入式數(shù)據(jù)庫具有很好的實時性,必須做很多額外的工作。比如:Empress實時數(shù)據(jù)庫將嵌入性和高速的數(shù)據(jù)引擎、定時功能以及防斷片處理等措施整合在一起來保證最基本的實時性。當然,不同的場合實時性要求比較高時,除了軟件的實時性外,硬件的實時性也是必須的,具體情況需要有具體和切實的解決方案,不能一概而論。
移動性
移動性是目前在國內(nèi)提的比較多的一個說法,這和目前國內(nèi)移動設備的大規(guī)模應用有關(guān)??梢赃@么說,具有嵌入性的數(shù)據(jù)庫一定具有比較好的移動性,但是具有比較好的移動性的數(shù)據(jù)庫,不一定具有嵌入性。比如,一個小型的C/S結(jié)構(gòu)的數(shù)據(jù)庫也可以運用在移動設備上,而具有移動性。但這個數(shù)據(jù)庫本身是一個獨立存在的實體,需要額外的運行資源,本質(zhì)上講和企業(yè)級數(shù)據(jù)庫區(qū)別不大。所以不具有嵌入性,也基本上不具備實時性。Empress是優(yōu)秀的嵌入式實時數(shù)據(jù)庫,毫無疑問也是非常優(yōu)秀的移動數(shù)據(jù)庫。
伸縮性在嵌入式場合顯得尤為重要。
首先嵌入式場合硬件和軟件的平臺都是千差萬別,基本都是客戶根據(jù)需要自己選擇的結(jié)果。
所以嵌入式場合的數(shù)據(jù)庫必須能夠支持非常多的平臺,如Empress目前支持6000多種平臺。同時,數(shù)據(jù)存儲要支持常見的存儲設備,如CF/Flash/HD等。多進程和多線程是必備的,現(xiàn)在的嵌入式系統(tǒng)已經(jīng)遠遠不是當初的簡單的編程,代碼量增大,功能日益復雜,所以必然要支持多線程和多進程。C/C++和SQL接口的支持也是必備的,作為數(shù)據(jù)庫當然要有大家熟悉的SQL,但同時不要忘記嵌入式場合用的最多的標準的C/C++接口。某種程度上說,嵌入式場合的數(shù)據(jù)比企業(yè)級應用的數(shù)據(jù)還要復雜,所以要支持各種類型的數(shù)據(jù),如多媒體數(shù)據(jù)和空間數(shù)據(jù)等,要支持各種數(shù)據(jù)結(jié)構(gòu),除了傳統(tǒng)的關(guān)系型,還要能處理樹狀結(jié)構(gòu)和網(wǎng)狀結(jié)構(gòu)。
當然,肯定要具備企業(yè)級數(shù)據(jù)庫所具有的一些共性。比如,一致性是數(shù)據(jù)庫所必需的特性。通過事務、鎖功能和數(shù)據(jù)同步等多種技術(shù)保證數(shù)據(jù)庫內(nèi)的各個表內(nèi)的數(shù)據(jù)的一致性,同時也保證數(shù)據(jù)庫和其他同步或鏡像數(shù)據(jù)庫內(nèi)數(shù)據(jù)的一致性。安全性也是必不可少的。在保證物理信息本身的安全的同時,也要保證用戶私有信息的安全。
嵌入式數(shù)據(jù)庫的基本特點就介紹到這,這篇文章對一些初學者來說是非常有用的,從這篇文章開始就能對嵌入式數(shù)據(jù)庫有個大體的了解,知道了它的特點,然后才能更深層的去學習嵌入式數(shù)據(jù)庫。
【編輯推薦】