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