日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

BDB (Berkeley DB)简要数据库(转载)

發布時間:2023/12/9 数据库 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 BDB (Berkeley DB)简要数据库(转载) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

使用最近DBD。然后搜了下相關資料,首先公布的是一門科學:

轉會http://www.javaeye.com/topic/202990

?

DB綜述
DB最初開發的目的是以新的HASH訪問算法來取代舊的hsearch函數和大量的dbm實現(如AT&T的dbm,Berkeley的ndbm。GNU項目的gdbm),DB的第一個發行版在1991年出現,當時還包括了B+樹數據訪問算法。在1992年,BSD UNIX第4.4發行版中包括了DB1.85版。基本上覺得這是DB的第一個正式版。

在1996年中期,Sleepycat軟件公司成立,提供對DB的商業支持。

在這以后,DB得到了廣泛的應用,當前最新版本號是4.3.27。

DB支持差點兒全部的現代操作系統,如LINUX、UNIX、WINDOWS等,也提供了豐富的應用程序接口。支持C、C++、JAVA、PERL、TCL、PYTHON、PHP等。DB的應用十分廣泛,在非常多知名的軟件中都能看到其身影。比如參考資料2中作者談到利用DB在LINUX下實現內核級文件系統。參考資料3中通過實際測試數據說明DB提高了OPENLDAP的效率。LINUX下的軟件包管理器RPM也使用DB管理軟件包相關數據。能夠使用命令file查看RPM數據文件夾/var/lib/rpm下的文件,則有形式例如以下的輸出:

Dirnames: Berkeley DB (Btree, version 9, native byte-order)?
Filemd5s: Berkeley DB (Hash, version 8, native byte-order)

值得注意的是DB是嵌入式數據庫系統,而不是常見的關系/對象型數據庫,對SQL語言不支持,也不提供數據庫常見的高級功能,如存儲過程。觸發器等。

?

DB的設計思想
DB的設計思想是簡單、小巧、可靠、高性能。假設說一些主流數據庫系統是大而全的話,那么DB就可稱為小而精。

DB提供了一系列應用程序接口(API),調用本身非常easy。應用程序和DB所提供的庫在一起編譯成為可執行程序。這樣的方式從雙方面極大提高了DB的效率。第一:DB庫和應用程序執行在同一個地址空間,沒有client程序和數據庫server之間昂貴的網絡通訊開銷,也沒有本地主機進程之間的通訊。第二:不須要對SQL代碼解碼。對數據的訪問直截了當。

DB對須要管理的數據看法非常easy,DB數據庫包括若干條記錄,每個記錄由keyword和數據(KEY/VALUE)構成。數據能夠是簡單的數據類型,也能夠是復雜的數據類型,比如C語言中結構。DB對數據類型不做不論什么解釋, 全然由程序猿自行處理。典型的C語言指針的"自由"風格。假設把記錄看成一個有n個字段的表。那么第1個字段為表的主鍵,第2--n個字段相應了其他數據。DB應用程序通常使用多個DB數據庫,從某種意義上看,也就是關系數據庫中的多個表。

DB庫非常緊湊,不超過500K。但能夠管理大至256T的數據量。

DB的設計充分體現了UNIX的基于工具的哲學。即若干簡單工具的組合能夠實現強大的功能。

DB的每個基礎功能模塊都被設計為獨立的,也即意味著其使用領域并不局限于DB本身。比如加鎖子系統能夠用于非DB應用程序的通用操作,內存共享緩沖池子系統能夠用于在內存中基于頁面的文件緩沖。

?

DB核心數據結構
數據庫句柄結構DB:包括了若干描寫敘述數據庫屬性的參數。如數據庫訪問方法類型、邏輯頁面大小、數據庫名稱等;同一時候,DB結構中包括了大量的數據庫處理函數指針,大多數形式為 (*dosomething)(DB *, arg1, arg2, …)。

當中最重要的有open,close,put,get等函數。

數據庫記錄結構DBT:DB中的記錄由keyword和數據構成,keyword和數據都用結構DBT表示。實際上全然能夠把keyword看成特殊的數據。結構中最重要的兩個字段是 void * data和u_int32_t size,分別相應數據本身和數據的長度。

數據庫游標結構DBC:游標(cursor)是數據庫應用中常見概念,其本質上就是一個關于特定記錄的遍歷器。注意到DB支持多重記錄(duplicate records),即多條記錄有同樣keyword,在對多重記錄的處理中,使用游標是最easy的方式。

數據庫環境句柄結構DB_ENV:環境在DB中屬于高級特性。本質上看,環境是多個數據庫的包裝器。

當一個或多個數據庫在環境中打開后,環境能夠為這些數據庫提供多種子系統服務。比如多線/進程處理支持、事務處理支持、高性能支持、日志恢復支持等。

DB中核心數據結構在使用前都要初始化。隨后能夠調用結構中的函數(指針)完畢各種操作,最后必須關閉數據結構。從設計思想的層面上看,這樣的設計方法是利用面向過程語言實現面對對象編程的一個典范。

?

DB數據訪問算法
在數據庫領域中,數據訪問算法相應了數據在硬盤上的存儲格式和操作方法。在編寫應用程序時,選擇合適的算法可能會在運算速度上提高1個甚至多個數量級。大多數數據庫都選用B+樹算法。DB也不例外。同一時候還支持HASH算法、Recno算法和Queue算法。

接下來。我們將討論這些算法的特點以及怎樣依據須要存儲數據的特點進行選擇。

B+樹算法:B+樹是一個平衡樹,keyword有序存儲,而且其結構能隨數據的插入和刪除進行動態調整。

為了代碼的簡單,DB沒有實現對keyword的前綴碼壓縮。B+樹支持對數據查詢、插入、刪除的常數級速度。keyword能夠為隨意的數據結構。

HASH算法:DB中實際使用的是擴展線性HASH算法(extended linear hashing),能夠依據HASH表的增長進行適當的調整。keyword能夠為隨意的數據結構。

Recno算法: 要求每個記錄都有一個邏輯紀錄號,邏輯紀錄號由算法本身生成。實際上,這和關系型數據庫中邏輯主鍵通常定義為int AUTO型是同一個概念。Recho建立在B+樹算法之上,提供了一個存儲有序數據的接口。記錄的長度能夠為定長或不定長。

Queue算法:和Recno方式接近, 僅僅只是記錄的長度為定長。數據以定長記錄方式存儲在隊列中,插入操作把記錄插入到隊列的尾部,相比之下插入速度是最快的。

對算法的選擇首先要看keyword的類型。假設為復雜類型,則僅僅能選擇B+樹或HASH算法,假設keyword邏輯記錄號,你應該選擇Recno或Queue算法。當工作組keyword訂購時,B+決策樹算法是合適的;如果我們假設大且基本上設置keyword隨機配送。選擇HASH算法。Queue算法只能存儲固定長度的記錄,在高并發的情況下,,Queue該算法的高效率;假設其他情況,選擇Recno算法,Recno算法的數據被存儲作為平面文件格式。

轉載于:https://www.cnblogs.com/hrhguanli/p/4592891.html

總結

以上是生活随笔為你收集整理的BDB (Berkeley DB)简要数据库(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 婷婷激情小说 | 久久av一区二区三区漫画 | 日韩无遮挡 | 国产精品乱码久久久久 | 精品人妻一区二区三区蜜桃 | 久久久久久久久99 | 91精品成人 | 香蕉视频官网在线观看 | 手机在线成人av | 久久福利视频导航 | 国产56页 | 天堂在线国产 | 成人午夜激情视频 | av在线首页| 91成年版| 日本福利在线观看 | 午夜久久福利 | 欧美日韩精品区别 | 美女激情网站 | 少妇真人直播免费视频 | 精品国产乱子伦 | 一区二区三区视频播放 | 国产免费视屏 | 欧美成人福利视频 | 成人午夜一区二区 | 成人免费视频国产免费 | 蜜桃av成人永久免费 | 国产成人精品久久久 | 羞羞影院体验区 | 亚洲第一色播 | 进去里在线观看 | 成人av网站在线观看 | 操韩国美女 | 蜜乳av一区二区三区 | 波多野结衣一区二区三区 | 亚洲最大中文字幕 | 男女无套免费视频网站动漫 | www.国产91| 超碰免费观看 | 97在线免费视频观看 | gay男互凵gay男同偷精 | 少妇的被肉日常np | 夜夜高潮夜夜爽 | 日韩一区二区三区精 | 国产精品欧美一区二区 | 韩国明星乱淫(高h)小说 | 亚洲骚 | 69sex久久精品国产麻豆 | 亚洲一区中文字幕在线观看 | 拔擦8x成人一区二区三区 | 麻豆91在线播放 | 国产熟女高潮一区二区三区 | 99r热| 国产欧美视频在线观看 | 国产又粗又长 | 久久精品小视频 | 轮番上阵免费观看在线电影 | 粗大的内捧猛烈进出视频 | 黄网址在线 | 国产短视频一区 | 饥渴放荡受np公车奶牛 | 日p免费视频 | 91免费看片| 中文av一区二区 | 日韩视频一区二区三区在线播放免费观看 | 欧美精品123区 | 91亚洲一区二区三区 | 婷婷超碰 | 在线免费看av片 | 视频黄页在线观看 | 99视频只有精品 | 就要操av | 狠狠干狠狠艹 | 天堂av免费在线观看 | av黄色免费 | 亚洲人精品 | 国产精品成人免费看片 | 久久国内精品 | 2017天天干| 亚洲激情二区 | 一级肉体全黄毛片 | 你懂的网址在线 | 国产精品污网站 | 久精品在线观看 | 国产午夜伦理 | 六月激情网 | 久久久久久久久久久久久女国产乱 | 亚洲色图综合 | 日本jizz在线观看 | 亚洲综合图片区 | 中文字幕在线观看欧美 | 久久av影视 | 欧美爱爱免费视频 | 动漫美女被吸乳奶动漫视频 | 波多野结衣精品在线 | 欧美有码在线观看 | 在线播放国产精品 | 天天做日日做 | 国产又粗又猛又色 |