解析移動嵌入式數(shù)據(jù)庫市場與技術(shù)
數(shù)據(jù)庫技術(shù)一直隨著計算的發(fā)展而不斷進步,隨著移動計算時代的到來,嵌入式操作系統(tǒng)對數(shù)據(jù)庫系統(tǒng)的需求為數(shù)據(jù)庫技術(shù)開辟了新的發(fā)展空間。嵌入式數(shù)據(jù)庫技術(shù)目前已經(jīng)從研究領(lǐng)域逐步走向廣泛的應(yīng)用領(lǐng)域。
隨著智能移動終端的普及,人們對移動數(shù)據(jù)實時處理和管理要求的不斷提高,嵌入式數(shù)據(jù)庫越來越體現(xiàn)出其優(yōu)越性,從而被學(xué)界和業(yè)界所重視。移動計算環(huán)境比傳統(tǒng)的計算環(huán)境更為復(fù)雜和靈活。
計算平臺的移動性、連接的頻繁斷接性、網(wǎng)絡(luò)條件的多樣性、網(wǎng)絡(luò)通訊的非對稱性、系統(tǒng)的高伸縮性和低可靠性以及電源能力的有限性等因素對移動數(shù)據(jù)庫的性能提出了相當(dāng)高的要求。移動技術(shù)的發(fā)展必將對嵌入式移動數(shù)據(jù)庫的發(fā)展起強大的推動作用,同時嵌入式移動數(shù)據(jù)庫的發(fā)展也能促進移動計算的廣泛應(yīng)用。
隨著嵌入式系統(tǒng)廣泛應(yīng)用及嵌入式實時操作系統(tǒng)的不斷普及,為嵌入式環(huán)境提供數(shù)據(jù)管理成為系統(tǒng)中需要解決的重要問題。當(dāng)前的數(shù)據(jù)管理不僅限于大型通用的后臺數(shù)據(jù)庫中,在各種網(wǎng)絡(luò)設(shè)備(路由器、交換機等),移動通信、計算和娛樂設(shè)備(掌上電腦、移動電話、便攜式媒體播放機等),數(shù)據(jù)采集與控制設(shè)備,數(shù)字家庭智能家電產(chǎn)品,交通、建筑、醫(yī)療智能設(shè)備的應(yīng)用領(lǐng)域,計算和數(shù)據(jù)技術(shù)向微型化、網(wǎng)絡(luò)化、移動性方向的發(fā)展,業(yè)界預(yù)測將來會出現(xiàn)數(shù)以億計的嵌入式設(shè)備存在數(shù)據(jù)管理的需要,數(shù)據(jù)采用集中式方法進行管理是遠(yuǎn)遠(yuǎn)不夠的,這些都是嵌入式數(shù)據(jù)庫應(yīng)用的潛在市場。
典型產(chǎn)品介紹
目前,嵌入式數(shù)據(jù)庫技術(shù)目前已經(jīng)從研究領(lǐng)域逐步走向廣泛的應(yīng)用領(lǐng)域。國內(nèi)外的相關(guān)產(chǎn)品包括:Oracle的嵌入式數(shù)據(jù)庫產(chǎn)品:嵌入式Oracle數(shù)據(jù)庫10g提供關(guān)系數(shù)據(jù)庫功能;Oracle TimesTen內(nèi)存數(shù)據(jù)庫具有在內(nèi)存中實時進行關(guān)系數(shù)據(jù)管理的能力和高速緩存功能;Oracle Berkeley數(shù)據(jù)庫實現(xiàn)了高性能嵌入式數(shù)據(jù)管理;Oracle數(shù)據(jù)庫Lite則方便了在線/離線移動數(shù)據(jù)管理。這些產(chǎn)品的所有管理功能都不需要人工干預(yù),非常適合通信、高科技、航空航天/國防等行業(yè)的應(yīng)用,因為這些行業(yè)對智能化邊緣設(shè)備和服務(wù)的要求非常苛刻。
Oracle TimesTen內(nèi)存數(shù)據(jù)庫——這個內(nèi)存型實時關(guān)系數(shù)據(jù)庫以中檔產(chǎn)品為目標(biāo),滿足性能關(guān)鍵應(yīng)用的數(shù)據(jù)管理需求。
Oracle Berkeley數(shù)據(jù)庫——這個產(chǎn)品系列由3個高性能開源嵌入式數(shù)據(jù)庫組成。2006年9月發(fā)布了新版Berkeley數(shù)據(jù)庫和Berkeley數(shù)據(jù)庫Java版,而Berkeley數(shù)據(jù)庫XML 2.3則剛于2006年12月發(fā)布。
Oracle數(shù)據(jù)庫Lite——這是一個完整的集成式環(huán)境,用于為多種產(chǎn)品開發(fā)、實施和管理移動應(yīng)用。Oracle數(shù)據(jù)庫Lite中包含一個適用于移動產(chǎn)品的小型關(guān)系數(shù)據(jù)庫和一個用來實現(xiàn)與Oracle數(shù)據(jù)庫同步的移動服務(wù)器,還具有應(yīng)用處理和設(shè)備管理功能。
SQLite作為一個開源的嵌入式數(shù)據(jù)庫產(chǎn)品,具有系統(tǒng)開銷小,檢索效率高的特性,適用于手機、PDA、機頂盒設(shè)備等電器。SQLite 是一個小型C庫實現(xiàn)的一種強有力的嵌入式關(guān)系數(shù)據(jù)庫管理系統(tǒng)。它提供了對SQL92 的大多數(shù)支持:支持多表和索引、事務(wù)、視圖、觸發(fā)和一系列的用戶接口及驅(qū)動,實現(xiàn)了完備的、可嵌入的、零配置的SQL數(shù)據(jù)庫引擎。
日立公司的嵌入式數(shù)據(jù)庫Entier,該數(shù)據(jù)庫軟件已經(jīng)在日本用于十種嵌入式終端,還有三十多種終端產(chǎn)品正在開發(fā)過程當(dāng)中。這款數(shù)據(jù)庫軟件只占用1MB內(nèi)存,可以用于媒體播放器或者汽車導(dǎo)航系統(tǒng)中,可以提供快速的數(shù)據(jù)查詢。
RDM是由Mbrane公司的優(yōu)質(zhì)產(chǎn)品,已有20年的發(fā)展歷史。它是當(dāng)前唯一一個實現(xiàn)了網(wǎng)狀數(shù)據(jù)庫模式的產(chǎn)品,由于其快速而且可靠性高的特點,廣泛應(yīng)用于許多嵌入式產(chǎn)品中。RDM引擎本身開銷很小,一般只需要200K左右的內(nèi)存運行開銷,如果應(yīng)用需要,數(shù)據(jù)庫也可以全部在RAM中運行。由于使用了網(wǎng)狀結(jié)構(gòu),從設(shè)計初始,RDM就避免了不必要的索引開銷,可以顯著地減少磁盤空間、I/O和CPU周期。RDM使用了緩存技術(shù),用戶可以在程序中和設(shè)計過程中確定頁面大小和緩存大小,因此可以直接控制紀(jì)錄在磁盤上的存儲方式,從而實現(xiàn)最佳的存取性能。
技術(shù)發(fā)展趨勢
在嵌入式系統(tǒng)中,計算和應(yīng)用環(huán)境比傳統(tǒng)的計算環(huán)境更為復(fù)雜和靈活。傳統(tǒng)的大型通用關(guān)系型數(shù)據(jù)庫產(chǎn)品雖然非常優(yōu)秀而且非常成熟,但是由于他們依賴于高性能的主機、運行速度慢、資源開銷龐大,所以不能適用于嵌入式系統(tǒng)。嵌入式數(shù)據(jù)庫系統(tǒng)應(yīng)用有獨特的要求,計算資源的有限性、計算平臺的移動性、系統(tǒng)的高伸縮性、電源能力的有限性等因素對嵌入式數(shù)據(jù)庫的性能提出了相當(dāng)高的要求。嵌入式數(shù)據(jù)庫的技術(shù)發(fā)展趨勢主要體現(xiàn)在:
(1) 模塊化的可裁剪的體系結(jié)構(gòu)
嵌入式系統(tǒng)的應(yīng)用領(lǐng)域非常廣泛,目前存在數(shù)十種軟件體系結(jié)構(gòu)和操作系統(tǒng),產(chǎn)品及功能相當(dāng)豐富和多樣化。在這種背景下,嵌入式數(shù)據(jù)庫系統(tǒng)必須滿足寬范圍內(nèi)的、靈活部署的、可伸縮的應(yīng)用需求,這就要求數(shù)據(jù)庫本身采用可根據(jù)應(yīng)用裁減、可配制的,模塊化的系統(tǒng)體系結(jié)構(gòu)。同時,嵌入式數(shù)據(jù)還應(yīng)該支持彼此協(xié)同計算以獲得高可伸縮性、提高可靠性。
(2) 微內(nèi)核、低功耗和低成本
作為嵌入式數(shù)據(jù)庫的基礎(chǔ)平臺,嵌入式系統(tǒng)本身計算、存儲和能源等資源都比較有限,在開發(fā)嵌入式系統(tǒng)應(yīng)用時,各方面的開銷大小是最關(guān)鍵的考慮因素之一,應(yīng)用對價格也比較敏感。因此,嵌入式數(shù)據(jù)庫必須滿足微內(nèi)核、低功耗和低成本,最大程度提高嵌入式系統(tǒng)的整體性價比。
(3) 多樣化的數(shù)據(jù)檢索界面
各種嵌入式設(shè)備面向廣大最終用戶,為用戶所樂于使用的重要因素之一是它們與使用者之間的親和力,用戶與設(shè)備交互要求以圖形界面屏幕為中心的多媒體界面,顯示在嵌入式系統(tǒng)的平板顯示器上。手寫文字輸入、語音控制、圖象識別等需求對于嵌入式數(shù)據(jù)庫的數(shù)據(jù)檢索提出了新的要求,對非結(jié)構(gòu)化數(shù)據(jù)的訪問需要提供快速的檢索技術(shù),這對于提高數(shù)據(jù)的利用效率是非常重要的,因此,實現(xiàn)基于內(nèi)容的微內(nèi)核的索引和查詢技術(shù)是嵌入式數(shù)據(jù)庫發(fā)展的趨勢。
(4) 嵌入式數(shù)據(jù)庫的數(shù)據(jù)安全
隨著大量的嵌入式系統(tǒng)的應(yīng)用,其面臨的安全威脅也日益增長,黑客的攻擊目標(biāo)已經(jīng)從臺式機轉(zhuǎn)向嵌入式系統(tǒng),而嵌入式數(shù)據(jù)庫的應(yīng)用情況,使我們對它們的可靠性期望值比普通的大多數(shù)其它數(shù)據(jù)庫系統(tǒng)高得多。另一方面嵌入式數(shù)據(jù)庫的用戶經(jīng)常是最終用戶,而缺乏有經(jīng)驗的數(shù)據(jù)庫安全管理員。因此,嵌入式數(shù)據(jù)庫需要在數(shù)據(jù)安全方面提供更加可靠的保障。
關(guān)鍵技術(shù)研究
嵌入式移動數(shù)據(jù)庫的研發(fā),需要在以下幾個方面進行研究以解決相關(guān)問題。
(1) 微內(nèi)核嵌入式數(shù)據(jù)庫研究
考慮到嵌入式設(shè)備在計算、存儲、能源等方面的資源有限,嵌入式數(shù)據(jù)庫應(yīng)采用微內(nèi)核技術(shù)實現(xiàn),在滿足嵌入式應(yīng)用的前提下緊縮其系統(tǒng)結(jié)構(gòu)以滿足嵌入式應(yīng)用的需求。微內(nèi)核數(shù)據(jù)庫必須能滿足在1M內(nèi)存以內(nèi)系統(tǒng)中運行的需求。
(2) 內(nèi)存數(shù)據(jù)庫技術(shù)研究
與基于磁盤文件的傳統(tǒng)系統(tǒng)不同,需要為內(nèi)存數(shù)據(jù)庫研究特有的索引結(jié)構(gòu)和查詢優(yōu)化算法。傳統(tǒng)的B+樹結(jié)構(gòu)對于磁盤上的數(shù)據(jù)和索引文件比較適合,但并不適合于管理內(nèi)存中的數(shù)據(jù)。將數(shù)據(jù)保存到內(nèi)存中以后,索引模式的目標(biāo)是減少 CPU 開銷而非磁盤I/O開銷。需要研究特殊的的內(nèi)存數(shù)據(jù)庫索引,并開發(fā)適應(yīng)的開銷評估和查詢優(yōu)化算法,以達(dá)到內(nèi)存數(shù)據(jù)管理的目標(biāo):減低空間要求、消除磁盤 I/O 以及簡化算法、代碼路徑和內(nèi)存使用量。
(3) 嵌入式數(shù)據(jù)庫事務(wù)管理技術(shù)研究
嵌入式數(shù)據(jù)庫的日志可以記錄在非易失型存儲器中,也可以記錄在內(nèi)存中。這樣事務(wù)并非完全滿足傳統(tǒng)數(shù)據(jù)庫的ACID特性。為此,需要在事務(wù)管理上研究特有的管理算法,包括事務(wù)的分組提交、模糊匹配檢查點、實現(xiàn)數(shù)據(jù)庫在性能和可用性方面的平衡。
(4) 嵌入式數(shù)據(jù)庫安全技術(shù)研究
嵌入式設(shè)備是系統(tǒng)中業(yè)務(wù)處理的關(guān)鍵設(shè)備,因此對于數(shù)據(jù)安全的要求很高。同時,許多嵌入式設(shè)備具有較高的移動性、便攜性和非固定的工作環(huán)境,其用戶本身又非有經(jīng)驗的數(shù)據(jù)庫安全管理人員。這都對數(shù)據(jù)庫帶來潛在的不安全因素。嵌入式數(shù)據(jù)庫某些數(shù)據(jù)(如個人金融信息)的個人隱私性又很高,為此在防止非授權(quán)數(shù)據(jù)訪問、設(shè)備丟失或盜竊、黑客攻擊等對數(shù)據(jù)安全威脅上需要提供充分的安全性保證。
(5) 自動化管理技術(shù)研究
考慮嵌入式系統(tǒng)終端的用戶主要為普通消費者,并不熟悉數(shù)據(jù)管理技能。嵌入式數(shù)據(jù)庫的管理滿足自主性的要求,即:無需數(shù)據(jù)庫管理員人工干預(yù)即可進行數(shù)據(jù)庫管理、自我備份、自我恢復(fù)、自動化配置。嵌入式數(shù)據(jù)庫系統(tǒng)應(yīng)具有自動恢復(fù)功能,保證用戶數(shù)據(jù)的安全可靠,實現(xiàn)無人值守的運行。
(6) 數(shù)據(jù)高速緩存技術(shù)研究
作為一個微內(nèi)核數(shù)據(jù)庫,嵌入式數(shù)據(jù)庫本身數(shù)據(jù)管理的能力有限。因此應(yīng)該研究嵌入式數(shù)據(jù)庫與后臺數(shù)據(jù)庫的集成和緩存技術(shù),嵌入式應(yīng)用與嵌入式數(shù)據(jù)庫相連接,嵌入式數(shù)據(jù)庫維護一個后臺數(shù)據(jù)庫的高速緩存,并能夠把自身不能滿足的數(shù)據(jù)請求透明地轉(zhuǎn)交給后臺數(shù)據(jù)庫的處理。對于車載設(shè)備和移動通信終端中的嵌入式數(shù)據(jù)庫,其與后臺數(shù)據(jù)庫的連接重要是通過無線連接,具有帶寬低、延遲高、穩(wěn)定性差等特點。為此,需要研究專門的緩存管理與更新策略。
(7) 數(shù)據(jù)復(fù)制技術(shù)研究
嵌入式移動數(shù)據(jù)庫提供數(shù)據(jù)同步機制,支持移動設(shè)備與中心數(shù)據(jù)庫服務(wù)器之間的雙向數(shù)據(jù)同步。
(8) 非結(jié)構(gòu)化數(shù)據(jù)處理技術(shù)
嵌入式數(shù)據(jù)庫處理的數(shù)據(jù)不僅僅限于傳統(tǒng)的結(jié)構(gòu)化的關(guān)系數(shù)據(jù),也包括大量的半結(jié)構(gòu)化和非結(jié)構(gòu)化的數(shù)據(jù)。娛樂和定位導(dǎo)航是移動通信終端和車載智能終端的兩項主要應(yīng)用。對于電子娛樂設(shè)備,需要管理語音、圖像等媒體數(shù)據(jù)。對于車載設(shè)備中的嵌入式數(shù)據(jù)庫,汽車車輛定位、導(dǎo)航、調(diào)度、交通信息等方面的數(shù)據(jù)包含大量的空間地理數(shù)據(jù)。為此,需要研究對于媒體信息基于內(nèi)存的內(nèi)容檢索和索引技術(shù),以及對于基于內(nèi)存的空間數(shù)據(jù)的索引和空間檢索技術(shù)。
(9) 嵌入式應(yīng)用環(huán)境關(guān)鍵技術(shù)研究
針對移動通信終端和車載智能終端的嵌入式應(yīng)用,由于其運行環(huán)境在振動、溫度、濕度、電磁輻射等方面比較復(fù)雜和惡劣,需要研究針對性的可靠性保障技術(shù)。
【編輯推薦】