<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統 > 設計應用 > 嵌入式數據庫在Java中的應用[1]

          嵌入式數據庫在Java中的應用[1]

          作者: 時間:2008-04-03 來源:網絡 收藏

          無需安裝,體積小巧,速度又很快,在很多場合可以替代目前流行的MySQL, SQLServer等大中型數據庫。本文介紹兩種產品:Berkeley DB和,并著重討論它們與之間的接口。

            通常我們采用各種數據庫產品來實現對數據的存儲、檢索等功能,例如,Oracle,SQL Server,MySQL等等。這些產品除提供基本的查詢,刪除,添加等功能外,也提供了很多高級特性,如觸發(fā)器,存儲過程,數據備份恢復,全文檢索功能等。但實際上,很多的應用,僅僅利用到了這些數據庫產品的基本特性而已。而且在一些小型應用上,或者某些特殊場合的應用,比如桌面程序,這些數據庫產品就明顯有一些臃腫。在這些情況下,的優(yōu)勢就特別明顯了。

            嵌入式數據庫無須獨立運行的數據庫引擎,它是由程序直接調用相應的API去實現對數據的存取操作。更直白的講,嵌入式數據庫是一種具備了基本數據庫特性的數據文件。嵌入式數據庫與其它數據庫產品的區(qū)別是,前者是程序驅動式, 而后者是引擎響應式。嵌入式數據庫的一個很重要的特點是它們的體積非常小,編譯后的產品也不過幾十K。這不但對桌面程序的數據存儲方案是一個很好的選擇,也使得它們可以應用到一些移動設備上。同時,很多嵌入式數據庫在性能上也優(yōu)于其它數據庫,所以在高性能的應用上也常見嵌入式數據庫的身影。

            下面介紹的是兩個開放源代碼的嵌入式數據庫,Berkeley DB和。同時側重介紹如何應用連接這兩種嵌入式數據庫。

            一. Berkeley DB

            1. 簡介

            Berkeley DB是一款健壯的,高速的工業(yè)級嵌入式數據庫產品,你可以在它的官方主頁(見參考鏈接一)上發(fā)現很多知名的公司都采用了這款嵌入式數據庫。Berkeley DB的一個很重要的特點是就是高速存儲。在高流量,高并發(fā)的情況下,Berkeley DB要比非嵌入式的數據庫表現得更加出色。所以在一些技術實現上,Berkeley DB被作為大型關系數據庫的中間數據緩沖層,用來快速的保存數據,可能會在適當的時刻再導入到大型數據庫中,進而應用大型數據庫所提供的更為高級的特性。

            Berkeley DB雖然是開源的產品,但對某些條件下的商業(yè)性應用,卻不是免費的,而且價格頗為昂貴。這些商業(yè)條件排除了開源的情況,不發(fā)放分布版本的情況,等等。比如,如果你的程序是開放源代碼的或者僅僅應用到單一的網站上,在這種情況下,Berkeley DB是免費的。

            2. 獲得與Berkeley DB的接口

            Berkeley DB目前的版本是4.1.25,自帶了Java接口。下載的壓縮包中包含C和Java語言的源代碼和編譯配置文件。在Windows平臺,可以用MS Visual C++ 6.0或MS VC.Net編譯。用VC6編譯的操作如下介紹:在源代碼的build_win32路徑下打開VC的工程文件,之后在Build菜單中的Set Active Configuration選擇db_java win32 release編譯選項。在VC的Tools菜單Options選項中指定JNI.H等Java本地化接口編譯時所需要頭文件的位置。你會在JDK的include路徑下找到這些頭文件, 例如加入的路徑可能會是這樣的:C:jdk1.4include和C:jdk1.4includewin32。最后在Tools菜單中Options選項還要設置Javac.exe和Jar.exe的執(zhí)行路徑,這個設置會使VC開發(fā)環(huán)境也能調用Java編譯器,從而在VC環(huán)境下直接完成對Java接口類的編譯和打包。在編譯后,在release 路徑下的文件中找到db.jar, libdb41.dll, libdb_java41.dll,這三個文件組成了Berkeley DB 的Java接口程序包。

            3. 應用Java與Berkeley DB的接口

            Berkeley DB并不是一個關系型的數據庫。不能應用標準的SQL語句對數據庫操作,對它的操作要調用專用的API實現。這些API提供了查詢、插入、刪除等功能。比如com.sleepycat.db.Db類代表數據庫對象。Db類的put()方法完成的是插入功能,get()方法完成的是讀出數據的功能。


          上一頁 1 2 3 4 5 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();