導航:首頁 > 源碼編譯 > berkeleydb源碼

berkeleydb源碼

發布時間:2022-01-25 00:18:21

① C# BerkeleyDB報錯.

在vs2008 mfc工程中編譯BerkeleyDB時,在db.h文件會出現編譯錯誤,錯誤的原因是DB_TYPE,DB_UNKNOWN已經在其它系統頭文件中被定義過,解決辦法之一是在db.h中,定義DB_TYPE,DB_UNKNOWN之前加上如下語句,即可。
#ifdef DB_UNKNOWN
#undef DB_UNKNOWN
#endif
#ifdef DBTYPE
#undef DBTYPE
#else
#define DBTYPE BDBTYPE
#endif

② Firebird好不好

你好,很高興為你解答

關於Firebird好不好,以下源於有經驗的網友總結:(供參考)
1.FireBird不是新手想像的那麼弱,要想數據完整性好,速度快,連接數容量大,資料庫大而不慢,還是FireBird是首選,用MSSQL是下策,至少目前MSSQL還達不到海量資料庫標准。
2.SQLite還是很雞肋,真的不如全功能的嵌入式FireBird,網上的測試都是太簡單,循環讀寫最簡單的記錄,我的測試是SQL語句只要稍復雜點,SQLite的速度可以說是慢,拋開復雜SQL語句不說,僅僅是循環插入BLOB欄位,SQLite跟狗帶了差不多,而Firebird依然是很歡快的。看來SQLite還是主要依賴操作系統,還不能叫做資料庫。
3.單單是為了速度的話,還是建議用BerkeleyDB,我做網路管理程序和資料庫管理程序時,主程序都是用BerkeleyDB保存各種數據,它也能全編譯進C++Builder,速度沒得說。而伺服器端資料庫的用戶信息、單位信息、產品型號標准等等變動少的表,我也是用BerkeleyDB做資料庫的緩存表,一有客戶端連接認證,直接查詢發出即可,開發者更容易控製程序的運行穩定性,維護很少。
希望對你有幫助

③ Berkeley DB安裝之後,沒有服務是如何編譯到程序中的

Berkeley DB (DB)是一個高性能的,嵌入資料庫編程庫,和C語言,C++,java,Perl,Python,PHP,Tcl以及其他很多語言都有綁定。Berkeley DB可以保存任意類型的鍵/值對,而且可以為一個鍵保存多個數據。Berkeley DB可以支持數千的並發線程同時操作資料庫,支持最大256TB的數據,廣泛用於各種操作系統包括大多數Unix類操作系統和Windows操作系統以及實時操作系統。 2.0版本或以上的Berkeley DB由Sleepycat Software公司開發,並使用基於自由軟體許可協議/私有許可協議的雙重授權方式提供[1],附有源代碼。開發者如果想把Berkeley DB嵌入在私有軟體內需要得到Sleepycat公司的許可,若將軟體同樣遵循GPL發布,則不需許可即可使用。而2.0版本以下的則使用BSD授權,可自由作商業用途。 Berkeley DB最初開發的目的是以新的HASH訪問演算法來代替舊的hsearch函數和大量的dbm實現(如AT&T的dbm,Berkeley的 ndbm,GNU項目的gdbm),Berkeley DB的第一個發行版在1991年出現,當時還包含了B+樹數據訪問演算法。在1992年,BSD UNIX第4.4發行版中包含了Berkeley DB1.85版。基本上認為這是Berkeley DB的第一個正式版。在1996年中期,Sleepycat軟體公司成立,提供對Berkeley DB的商業支持。在這以後,Berkeley DB得到了廣泛的應用,成為一款獨樹一幟的嵌入式資料庫系統。2006年Sleepycat公司被Oracle 公司收購,Berkeley DB成為Oracle資料庫家族的一員,Sleepycat原有開發者繼續在Oracle開發Berkeley DB,Oracle繼續原來的授權方式並且加大了對Berkeley DB的開發力度,繼續提升了Berkeley DB在軟體行業的聲譽。Berkeley DB的當前最新發行版本是4.7.25。 值得注意的是DB是嵌入式資料庫系統,而不是常見的關系/對象型資料庫,對SQL語言不支持,也不提供資料庫常見的高級功能,如存儲過程,觸發器等。 Berkeley DB的體系結構Berkeley DB以擁有比Microsoft SQL Server和Oracle等資料庫系統而言更簡單的體系結構而著稱。例如,它不支持網路訪問—程序通過進程內的API訪問資料庫。 他不支持SQL或者其他的資料庫查詢語言,不支持表結構和數據列。 訪問資料庫的程序自主決定數據如何儲存在記錄里,Berkeley DB不對記錄里的數據進行任何包裝,每個記錄有且只有兩部分:鍵、值,所以在Berkeley DB的背景下通常用key/data pair指代一個記錄。記錄和它的鍵都可以達到4G位元組的長度。 盡管架構很簡單,Berkeley DB卻支持很多高級的資料庫特性,比如ACID 資料庫事務處理,細粒度鎖,XA介面,熱備份以及同步復制。 Berkeley DB包含有與某些經典Unix資料庫編程庫兼容的介面,包括:dbm,ndbm和hsearch。Berkeley DB的核心數據結構資料庫環境句柄DB_ENV: 每個DB_ENV相當於一個資料庫,它包含了資料庫全局信息,比如緩沖區大小、以及對事務、日誌、鎖等子系統的全局配置信息。資料庫句柄結構DB:每個DB相當於關系資料庫的一個表,其中存儲了很多key/data pair。DB句柄代表了一個包含了若干描述資料庫表屬性的參數,如資料庫訪問方法類型、邏輯頁面大小、資料庫名稱等;同時,DB結構中包含了大量的資料庫處理函數指針,大多數形式為 (*dosomething)(DB *, arg1, arg2, …)。其中最重要的有open,close,put,get等函數。 資料庫記錄結構DBT:DB中的記錄由關鍵字和數據構成,關鍵字和數據都用結構DBT表示。實際上完全可以把關鍵字看成特殊的數據。結構中最重要的兩個欄位是 void * data和u_int32_t size,分別對應數據本身和數據的長度。 資料庫游標結構DBC:游標(cursor)是資料庫應用中常見概念,其本質上就是一個關於特定記錄的遍歷器。注意到DB支持多重記錄(plicate records),即多條記錄有相同關鍵字,在對多重記錄的處理中,使用游標是最容易的方式。 資料庫環境句柄結構DB_ENV:環境在DB中屬於高級特性,本質上看,環境是多個資料庫的包裝器。當一個或多個資料庫在環境中打開後,環境可以為這些資料庫提供多種子系統服務,例如多線/進程處理支持、事務處理支持、高性能支持、日誌恢復支持等。 DB中核心數據結構在使用前都要初始化,隨後可以調用結構中的函數(指針)完成各種操作,最後必須關閉數據結構。從設計思想的層面上看,這種設計方法是利用面向過程語言實現面對對象編程的一個典範。 Berkeley DB數據訪問演算法在資料庫領域中,數據訪問演算法對應了數據在硬碟上的存儲格式和操作方法。在編寫應用程序時,選擇合適的演算法可能會在運算速度上提高1個甚至多個數量級。大多數資料庫都選用B+樹演算法,DB也不例外,同時還支持HASH演算法、Recno演算法和Queue演算法。接下來,我們將討論這些演算法的特點以及如何根據需要存儲數據的特點進行選擇。 B+樹演算法B+樹是一個平衡樹,關鍵字有序存儲,並且其結構能隨數據的插入和刪除進行動態調整。為了代碼的簡單,DB沒有實現對關鍵字的前綴碼壓縮。B+樹支持對數據查詢、插入、刪除的常數級速度。關鍵字可以為任意的數據結構.HASH演算法DB中實際使用的是擴展線性HASH演算法(extended linear hashing),可以根據HASH表的增長進行適當的調整。關鍵字可以為任意的數據結構。 要求每一個記錄都有一個邏輯紀錄號,邏輯紀錄號由演算法本身生成。實際上,這和關系型資料庫中邏輯主鍵通常定義為int AUTO型是同一個概念。Recho建立在B+樹演算法之上,提供了一個存儲有序數據的介面。記錄的長度可以為定長或不定長。 和Recno方式接近, 只不過記錄的長度為定長。數據以定長記錄方式存儲在隊列中,插入操作把記錄插入到隊列的尾部,相比之下插入速度是最快的。 對演算法的選擇首先要看關鍵字的類型,如果為復雜類型,則只能選擇B+樹或HASH演算法,如果關鍵字為邏輯記錄號,則應該選擇Recno或Queue演算法。當工作集關鍵字有序時,B+樹演算法比較合適;如果工作集比較大且基本上關鍵字為隨機分布時,選擇HASH演算法。Queue演算法只能存儲定長的記錄,在高的並發處理情況下,Queue演算法效率較高;如果是其它情況,則選擇Recno演算法,Recno演算法把數據存儲為平面文件格式。

④ berkeleydb java jdb文件最大支持多少個

隨著Crawler抓取的網頁越多,我們之前使用Java子帶的ArrayList或者HashMap都不夠存儲,而且速度上也不能夠很好滿足我們的需要,所以這里推薦使用BerkeleyDB這種基於內存的小型資料庫,它是嵌入式資料庫,指的是嵌入在應用程序的資料庫。

⑤ configure: error: Berkeley db4 not found

配置錯誤, 後面的是錯誤信息
db應該是資料庫 database
berkeley這個我也不知道,可能文件名
對應的user、裡面local的 berkeley 資料庫錯誤,
配置錯誤, 找不到berkeley裡面第四個資料庫(db4)
配置失敗srclib/apr-util (這個我都不知道什麼)
scr應該是screen lib應該是library(庫) 後面可能是appearance utilities。估計是顯示資料庫損壞,或者裝載可視化失敗

⑥ berkeleydb 生成的資料庫文件怎麼查看

1 下載 下載Berkeley DB軟體包,下面鏈接中有Berkeley DB的版本歷史:
http://www.oracle.com/technology/global/cn/software/procts/berkeley-db/db/index.html
2 解壓縮,這個不用說了吧!
3 cd build_unix
4 ../list/configure
5 make
6 make install(三部曲 ,你應該懂的,)
ps:至此應該算是安裝成功了,提示一下,最好使用超級許可權執行以上命令
7 echo /etc/ld.so.conf /usr/local/BerkeleyDB5.3/lib
8 ldconfig

⑦ 有沒有什麼工具能瀏覽Berkeley DB的數據

Berkeley DB (DB)是一個高性能的,嵌入資料庫編程庫,和C語言,C++,Java,Perl,Python,PHP,Tcl以及其他很多語言都有綁定。Berkeley DB可以保存任意類型的鍵/值對,而且可以為一個鍵保存多個數據。Berkeley DB可以支持數千的並發線程同時操作資料庫,支持最大256TB的數據,廣泛用於各種操作系統包括大多數Unix類操作系統和Windows操作系統以及實時操作系統。 2.0版本或以上的Berkeley DB由Sleepycat Software公司開發,並使用基於自由軟體許可協議/私有許可協議的雙重授權方式提供[1],附有源代碼。開發者如果想把Berkeley DB嵌入在私有軟體內需要得到Sleepycat公司的許可,若將軟體同樣遵循GPL發布,則不需許可即可使用。而2.0版本以下的則使用BSD授權,可自由作商業用途。

⑧ 對於BerkeleyDB資料庫,在一個多任務系統中,在一個任務中創建的資料庫句柄,可以在其他任務中調用嗎

你對連接池是不是理解有誤啊?
一個connection只能對應一個線程,用完之後返回給連接池而已,不是共享!!!

⑨ 如何連接到本地安裝的OpenLDAP的服務

由於編譯安裝OpenLDAP 需要資料庫支持,因此OpenLDAP 軟體後端資料庫可採用BerkeleyDBBDB、Oracle、MySQL、MariaDB、GDBM 等資料庫軟體實現數據的存儲。
默認OpenLDAP 採用Berkeley DB 資料庫作為後端存儲引擎,而且OpenLDAP 對Berkey DB 的版本有一定要求,以OpenLDAP 2.4 軟體版本為例,需要Berkeley DB 4.4 版本以上,所以在編譯OpenLDAP 源碼包時需要先下載Brekeley DB 源碼包,並進行編譯安裝即可。

閱讀全文

與berkeleydb源碼相關的資料

熱點內容
h264編碼器源碼 瀏覽:664
有什麼辦法翻錄加密視頻 瀏覽:666
java數據結構與演算法面試題 瀏覽:977
解壓不了是什麼意思 瀏覽:359
紐西蘭編程師年薪 瀏覽:321
程序員為什麼大多生閨女 瀏覽:51
c編程用英文還是中文 瀏覽:723
一點都不解壓的游戲 瀏覽:203
解壓為什麼不能用中文文件夾 瀏覽:615
伺服器如何解除備份 瀏覽:144
安卓手機為什麼用一年就變卡 瀏覽:11
如何用風變編程自動回復 瀏覽:512
安卓閱讀幣怎麼樣 瀏覽:437
京東app怎麼切號 瀏覽:583
進入傳奇伺服器後如何修改 瀏覽:42
m0單片機的cycle怎麼知道 瀏覽:806
linux命令太長 瀏覽:782
壓縮機nb1111y是多少w 瀏覽:45
打賞視頻用什麼伺服器好 瀏覽:154
方舟好友伺服器怎麼加mod 瀏覽:982