日韩性视频-久久久蜜桃-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)简要数据库(转载)的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 国产黄色a | 天堂av中文在线 | 色眯眯视频 | 色哟哟国产 | 精品在线免费视频 | 亚洲一区二区三区黄色 | 岳睡了我中文字幕日本 | 好姑娘在线观看高清完整版电影 | 精品欧美一区二区三区免费观看 | 麻豆传媒在线观看 | 7777精品久久久久久 | 亚洲天堂无吗 | www.香蕉视频在线观看 | 超碰免费成人 | 黄色女女 | av乱码| 亚洲无人区码一码二码三码的含义 | 成年人黄色一级片 | 日韩av无码一区二区三区不卡 | 美女毛片网站 | 熟妇大屁股一区二区三区视频 | 五月天天| 日韩成人午夜影院 | 打屁股调教视频 | 人妖一区 | 182tv午夜 | 久久yy | 特黄做受又粗又大又硬老头 | 四虎在线免费播放 | 韩国美女主播跳舞 | 一区二区激情视频 | 邵氏电影《金莲外传2》免费观看 | 涩视频在线观看 | 不卡一二区 | 综合色小说 | 污片网址| 欧美我不卡 | 日韩av一卡| 夜夜爽影院 | av高潮 | 少妇脱了内裤让我添 | 91午夜视频在线观看 | 欧洲美女av | 四虎新网站 | 经典杯子蛋糕日剧在线观看免费 | 久久黄色视屏 | 欧美三级午夜理伦三级小说 | 在线成人毛片 | 女生扒开尿口让男生桶 | 日韩欧美一区二区三区四区五区 | 大肉大捧一进一出视频 | 狠狠综合久久av一区二区 | www.超碰97| 亚洲一区国产 | 国产69精品久久久久久 | 大尺度做爰呻吟舌吻情头 | av在线免费观看网站 | 精品一区二区三区在线观看视频 | 色屁屁www影院免费观看入口 | 男女日日 | 精品女同一区 | 久久亚洲少妇 | 毛毛毛片| 国产精品国产三级国产Av车上的 | 日日摸日日添日日碰9学生露脸 | av一区二区不卡 | 日日射av| 五月婷婷狠狠爱 | 国产精品99久久久久久久久久久久 | 波多野结衣一区二区三区高清av | 日本吃奶摸下激烈网站动漫 | 日韩美女黄色 | 久久55| 欧美 日韩 国产精品 | 欧美日韩一区二区三区在线 | 欧美日韩一 | 亚洲永久无码精品 | 欧美久久伊人 | 免费av看片 | 免费无码国产精品 | 波多野结衣在线一区二区 | 国产成人午夜精品 | 国内黄色一级片 | 亚洲特黄特色 | 日韩成人午夜影院 | 国产专区在线视频 | 非洲黄色片| 成年人国产精品 | 亚洲欧美日韩高清 | 亚洲欧美综合久久 | 欧美日韩亚洲免费 | 亚洲一区二区三区播放 | 最新久久久 | 一本视频 | 亚欧精品视频一区二区三区 | xxxx亚洲| 少女视频的播放方法 | 天天操天天爱天天干 | 国产v亚洲v天堂无码久久久 |