隨著嵌入式系統(tǒng)的廣泛應(yīng)用和用戶對數(shù)據(jù)處理和管理需求的不斷提高,各種智能設(shè)備和數(shù)據(jù)庫技術(shù)的緊密結(jié)合已經(jīng)得到了各方面的重視。不久的將來嵌入式數(shù)據(jù)庫將無處不在。縱觀目前國際、國內(nèi)嵌入式數(shù)據(jù)庫的應(yīng)用情況,目前基于嵌入式數(shù)據(jù)庫應(yīng)用的市場已經(jīng)進(jìn)入加速發(fā)展的階段。 1Linux 下常見的數(shù)據(jù)庫技術(shù)分析 基于Linux平臺的數(shù)據(jù)庫非常多,大型的商用數(shù)據(jù)庫有Oracle、Sybase、Informix、Informix、IBM DB2等;中小型的更是不勝枚舉,以下是常見的幾種。 (1) PostgreSQL PostgreSQL 是世界上最優(yōu)秀的開放源碼的數(shù)據(jù)庫之一,是完全免費(fèi)的數(shù)據(jù)庫,不需要任何版權(quán)費(fèi)用和購買費(fèi)。因此,它是許多Linux發(fā)行版本的首選,例如: Redhat、TurboLinux都預(yù)裝了PostgreSQL。 PostgreSQL兼容性很強(qiáng),如果是SQL92兼容的,移植PostgreSQL非常簡單和快捷。 (2) MySQL MySQL是多 用戶、多進(jìn)程的SQL database server。MySQL包括一個server daemon(mysqld)和client programs與libraries的client/server實(shí)現(xiàn)工具;比較適合小而簡單的數(shù)據(jù)庫,對復(fù)雜的操作要求支持不是很好。MySQL的 licensing policy:如果你是普通的最終用戶,使用MySQL不需要付錢;但如果是直接或間接地出售MySQL的服務(wù)程序或相關(guān)產(chǎn)品,或是在一些客戶端維護(hù) MySQL server并收取費(fèi)用,或是在發(fā)行版中包括MySQL,就需要獲得許可。 * 本課題是2003年河南省杰出人才創(chuàng)新基金項(xiàng)目(0321000300),獲得了河南省科技廳的資金支持。 (3) mSQL(mini SQL) mSQL是一個單用戶數(shù)據(jù)庫管理系統(tǒng)。由于它的短小精悍,使其開發(fā)的應(yīng)用系統(tǒng)特別受到互聯(lián)網(wǎng)用戶青 睞。mSQL并非是完全的freeware,若是在大學(xué)中使用此一軟件,或是為了學(xué)術(shù)研究與慈善等非營利性目的,才能免費(fèi)得到使用權(quán)(free license),否則就得付費(fèi)注冊才能得到正式的版權(quán)。 (4) Berkeley DB Berkeley DB是一個開放源代碼的嵌入式數(shù)據(jù)庫管理系統(tǒng),能夠?yàn)閼?yīng)用程序提供高性能的數(shù)據(jù)管理服務(wù)。應(yīng)用它,程序員只需要調(diào)用一些簡單的API就可以完成對數(shù)據(jù)的訪 問和管理。與常用的數(shù)據(jù)庫管理系統(tǒng)(如MySQL和Oracle等)有所不同,在Berkeley DB中并沒有數(shù)據(jù)庫服務(wù)器的概念。應(yīng)用程序不需要事先同數(shù)據(jù)庫服務(wù)建立起網(wǎng)絡(luò)連接,而是通過內(nèi)嵌在程序中的Berkeley DB函數(shù)庫來完成對數(shù)據(jù)的保存、查詢、修改和刪除等操作。 (5) SQLite SQLite支持絕大多數(shù)標(biāo)準(zhǔn)的SQL92語句,采用單文 件存放數(shù)據(jù)庫,速度又比 MySQL快上1~2倍(官方的數(shù)據(jù)),存儲量也不是問題。在操作語句上更類似關(guān)系型數(shù)據(jù)庫的產(chǎn)品使用,非常方便。SQLite的版權(quán)允許無任何限制的應(yīng) 用,包括商業(yè)性的產(chǎn)品。在PHP5中已經(jīng)集成了這個輕巧的嵌入式數(shù)據(jù)庫產(chǎn)品。 2嵌入式開發(fā)對數(shù)據(jù)庫的需求特點(diǎn) 在眾多的數(shù)據(jù)庫中,如何選擇適用于嵌入式系統(tǒng)的數(shù)據(jù)庫呢?嵌入式系統(tǒng)開發(fā)環(huán)境決定了其對數(shù)據(jù)庫需求的特點(diǎn)。 (1) 適當(dāng)?shù)捏w積 嵌入式系統(tǒng)對于數(shù)據(jù)的存儲與程序的運(yùn)行一般都有較強(qiáng)的空間限制,所以適用于嵌入式系統(tǒng)使用的數(shù)據(jù)庫首先應(yīng)該有一個適當(dāng)?shù)捏w積。 (2) 較強(qiáng)的功能 嵌入式開發(fā)中有很多應(yīng)用,用戶需求決定了開發(fā)中需要有一個大小適中且功能齊備的數(shù)據(jù)庫來實(shí)現(xiàn)對數(shù)據(jù)的管理。對開發(fā)人員來說,要求采用的數(shù)據(jù)庫技術(shù)提供完備開發(fā)的文檔而且易于開發(fā)。 (3) 開源的代碼 作為產(chǎn)品的開發(fā),開源的代碼不僅可以減少產(chǎn)品的生產(chǎn)成本,更重要的是為產(chǎn)品的維護(hù)完善和穩(wěn)定運(yùn)行都提供了最為徹底的解決手段。 上 面介紹的數(shù)據(jù)庫技術(shù)中,Oracle、Sybase、Informix、IBM DB2等功能強(qiáng)大,系統(tǒng)體積龐大,要求付費(fèi)使用,僅適用于作為大型商業(yè)數(shù)據(jù)庫。MySQL在保持中等體積的情況下,提供了較為適用的功能已經(jīng)成為中小規(guī)模 數(shù)據(jù)庫應(yīng)用的首選,但商業(yè)應(yīng)用也要收費(fèi),而且對于嵌入式開發(fā)來說空間占用仍然太大,目前還不適用。 mSQL是一種簡化的SQL數(shù)據(jù)庫,短小精悍,開發(fā)方便,適用于嵌入式開發(fā);但mSQL只有30天的使用期限,并非完全的開源。 余下的開放源碼數(shù)據(jù)庫中,PostgreSQL是Linux下最完善的開源SQL數(shù)據(jù)庫,但體積也較大。Berkeley DB作為完全開源的嵌入式數(shù)據(jù)庫速度極快,可靠性高;但學(xué)習(xí)起來有一定難度,必然會加大開發(fā)成本。 SQLite 則簡單易用,速度也很快,同時提供了豐富的數(shù)據(jù)庫接口,功能雖較Berkeley DB略有遜色,但在開源社區(qū)的推動下差距正在縮小。它的設(shè)計(jì)思想是小型、快速和最小化的管理。這對于需要一個數(shù)據(jù)庫用于存儲數(shù)據(jù),但又不想花太多時間來調(diào) 整數(shù)據(jù)性能的開發(fā)人員很適用。實(shí)際上在很多情況下,并不需要存儲程序或復(fù)雜的表之間的關(guān)聯(lián)。這時會發(fā)現(xiàn)SQLite在大小和功能之間找到了一個理想的平衡 點(diǎn)。完全的開源代碼使其可以稱得上是理想的“嵌入式數(shù)據(jù)庫”。 |
免責(zé)聲明:本站部分文章和圖片均來自用戶投稿和網(wǎng)絡(luò)收集,旨在傳播知識,文章和圖片版權(quán)歸原作者及原出處所有,僅供學(xué)習(xí)與參考,請勿用于商業(yè)用途,如果損害了您的權(quán)利,請聯(lián)系我們及時修正或刪除。謝謝!
始終以前瞻性的眼光聚焦站長、創(chuàng)業(yè)、互聯(lián)網(wǎng)等領(lǐng)域,為您提供最新最全的互聯(lián)網(wǎng)資訊,幫助站長轉(zhuǎn)型升級,為互聯(lián)網(wǎng)創(chuàng)業(yè)者提供更加優(yōu)質(zhì)的創(chuàng)業(yè)信息和品牌營銷服務(wù),與站長一起進(jìn)步!讓互聯(lián)網(wǎng)創(chuàng)業(yè)者不再孤獨(dú)!
掃一掃,關(guān)注站長網(wǎng)微信