中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

DB(BDB)與SQLite對(duì)比

  嵌入式數(shù)據(jù)庫(kù)無(wú)需安裝,體積小巧,速度又快,在很多場(chǎng)合可以替代目前流行的MySQL,SQL Server等大中型數(shù)據(jù)庫(kù)。本文介紹兩種嵌入式數(shù)據(jù)庫(kù)產(chǎn)品:Berkeley DB和SQLite,并著重討論它們與Java之間的接口。

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

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

  下面介紹的是兩個(gè)開(kāi)放源代碼的嵌入式數(shù)據(jù)庫(kù),Berkeley DB和SQLite。同時(shí)側(cè)重介紹如何應(yīng)用Java連接這兩種嵌入式數(shù)據(jù)庫(kù)。

  一. Berkeley DB

  1. 簡(jiǎn)介

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

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

  2. 獲得Java與Berkeley DB的接口

  Berkeley DB目前的版本是4.1.25,自帶了Java接口。下載的壓縮包中包含C和Java語(yǔ)言的源代碼和編譯配置文件。在Windows平臺(tái),可以用MS Visual C++ 6.0或MS VC.NET編譯。用VC6編譯的操作如下介紹:在源代碼的build_win32路徑下打開(kāi)VC的工程文件,之后在Build菜單中的Set Active Configuration選擇db_Java win32 release編譯選項(xiàng)。在VC的Tools菜單Options選項(xiàng)中指定JNI.H等Java本地化接口編譯時(shí)所需要頭文件的位置。

  你會(huì)在JDK的 include路徑下找到這些頭文件, 例如加入的路徑可能會(huì)是這樣的:C:/jdk1.4/include和C:/jdk1.4/include/ win32。最后在Tools菜單中Options選項(xiàng)還要設(shè)置Javac.exe和Jar.exe的執(zhí)行路徑,這個(gè)設(shè)置會(huì)使VC開(kāi)發(fā)環(huán)境也能調(diào)用 Java編譯器,從而在VC環(huán)境下直接完成對(duì)Java接口類(lèi)的編譯和打包。在編譯后,在release路徑下的文件中找到db.jar, libdb41.dll, libdb_Java41.dll,這三個(gè)文件組成了Berkeley DB的Java接口程序包。

  3. 應(yīng)用Java與Berkeley DB的接口

  Berkeley DB并不是一個(gè)關(guān)系型的數(shù)據(jù)庫(kù)。不能應(yīng)用標(biāo)準(zhǔn)的SQL語(yǔ)句對(duì)數(shù)據(jù)庫(kù)操作,對(duì)它的操作要調(diào)用專(zhuān)用的API實(shí)現(xiàn)。這些API提供了查詢(xún)、插入、刪除等功能。比 如com.sleepycat.db.Db類(lèi)代表數(shù)據(jù)庫(kù)對(duì)象。Db類(lèi)的put()方法完成的是插入功能,get()方法完成的是讀出數(shù)據(jù)的功能。 com.sleepycat.db.Dbc是Berkeley DB的游標(biāo)類(lèi),提供了遍歷數(shù)據(jù)庫(kù)記錄的功能。

  Berkeley DB每一個(gè)記錄都有一個(gè)鍵值和對(duì)應(yīng)的數(shù)據(jù)值,而鍵值和數(shù)據(jù)必須是類(lèi)com.sleepycat.db.Dbt的對(duì)象或其子類(lèi)的對(duì)象。Dbt提供了一些方法 可以將byte數(shù)組或Object對(duì)象保存到Dbt的對(duì)象中去。比如,Dbt類(lèi)中的set_data(byte[])或set_object (Object)方法。注意到目前Berkeley DB中的Java API命名方法并不符合Java的命名規(guī)范,比如set_data()方法應(yīng)該命名為setData()方法。Berkeley DB許諾在下一個(gè)版本中會(huì)提供符合命名規(guī)范的Java API。

  Berkeley DB對(duì)任何存入的數(shù)據(jù)都是直接原樣存儲(chǔ)到數(shù)據(jù)文件中去,無(wú)論其是二進(jìn)制數(shù)據(jù)還是ASCII或Unicode等編碼的文本。通??梢岳眠@一特性和Java串行化的概念方便的進(jìn)行數(shù)據(jù)的存取。例如聲明一個(gè)類(lèi)

   1. public class AccountInfo implements Serializable{  
2. //帳戶(hù)信息
3. public String loginName;
4. public String password;
5. public boolean auotLogin;
6. }

it知識(shí)庫(kù)DB(BDB)與SQLite對(duì)比,轉(zhuǎn)載需保留來(lái)源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 男女午夜激情视频 | 国产精品免费看 | 婷婷丁香在线视频 | 国产精品九九 | 欧美色性 | 亚洲精品一区在线 | 自拍偷拍中文字幕 | 九九视频在线观看 | 国产日韩欧美另类 | 国产日韩欧美另类 | 国产黄色av网站 | 欧美在线一区二区三区 | 一区二区中文 | 成人性视频在线 | 狠狠爱视频 | 国产日产精品一区二区三区四区 | 久久成人av电影 | 色婷婷精品久久二区二区蜜臂av | 超碰在线人 | 一区二区三区四区电影视频在线观看 | 久久久久国产一区二区三区四区 | 中文字幕成人免费视频 | 精品国产一区二区在线 | 一本一道久久a久久精品蜜桃 | 中文字幕高清 | 午夜精品久久久久久久久久久久久 | 久久天天躁狠狠躁夜夜躁2014 | 亚洲日日操 | 国产一区久久久 | 国产在线精品一区二区三区 | 国产一区二区三区色淫影院 | 国产精品视频在线观看 | 99综合网 | 欧美不卡视频一区发布 | 欧美激情久久久 | 在线视频 中文字幕 | 久久婷婷国产 | 日本aⅴ中文字幕 | 九九99精品 | 日韩成人免费视频 | 日韩成人免费在线视频 |