问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

dbd32数据库是什么?

发布网友 发布时间:2022-05-30 06:26

我来回答

1个回答

热心网友 时间:2023-10-12 15:34

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算法把数据存储为平面文件格式
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
容易发财的房地产中介公司名字 我想对自己的房子进行房产评估,去哪里办理,需要... 改字体的时候不小心改错了,全变成格仔了怎么办 手机文件不小心改错名字了怎么办 女生每天早晚各跑步一个小时,配合饮食,一个月瘦多少? 每天早晚各慢跑一小时.一个月能瘦多少斤 爱剪辑怎么去水印 给视频去水印方法 游戏本关机时可以晃吗? 笔记本玩游戏CPU温度高,会花屏 打剑网三一小时声音大,发热,还能继续吗? 圆脸 就是那种腮帮子肉比较多的 额头有点窄 发迹线有点高适合什么发型?目前我是奇刘海bob 我的脸是有些方,腮帮子有些肉肉的,头发特别长,想烫个大卷,刘海想减个斜刘海,什么样的好看? 已知大麦在萌芽过程中可以产生a-淀粉酶,用GA(赤霉素)溶液处理大麦可使其不用发芽就产生a-淀粉酶.为验 植物激素有哪些?及主要作用 10u g/mL的赤霉素(GA3 ),换算成单位是mmol/L 赤霉素(GA)能促进大豆茎节间的伸长,生长素(IAA)也可以促进茎的伸长.某同学设计了如下实验来验证: 陈梦晨的音乐作品 杜海涛和沈梦辰甜甜的恋爱令人羡慕,他们是否能走到最后? 陈梦晨 为什么不穿胸罩 完美世界手游玉魂怎么得 水与冰的数学日记 你在电视和电影中看到的“偷戏”场景中最棒的是什么呢? 有没有在500以内的数学日记 电影《1917》中,有哪些震撼的场景和演绎? 跪求一游泳比赛的数学日记400—500左右,最好是关于第14届国际泳联世界锦标赛的急急急急急急急求%>_<% 艺考中:编导 戏文 文化产业管理有什么不同,都侧重于什么方面? 买二手房发现漏水房主未告知 漏水的二手房能不能买,买二手房怎么检查漏水问题 二手房过户后发现漏水 房屋漏水维修过了想卖,卖时可以不告诉买方吗?在签买卖合同时说明房屋年代已久 DBD文件如何打开 怎样用delphi的DBD创建数据库表,请把过程写清楚,层次分明! OSPF中,DBD与LSDB的关系是什么? 如何打开后缀为dbd的文件(急) 篮球场太滑应如何改善 请教各位,新做的篮球场很滑,有什么好办法 金碟只有dbd没有BAK文件怎么恢复 篮球太滑怎么处理 没安装mysql怎么安装dbd:mysql 篮球地板场地能轮滑吗? 学校篮球场很滑怎么给学校建议 下雨天篮球场湿滑,如何打篮球防滑 室外塑胶篮球场地特别滑。有什么好的解决方式,比如篮球鞋鞋底纹路那种比较防滑。 关于篮球场地很滑问题。 中考体育篮球运球场地如何防滑,我来支招 篮球场是不是灰尘过多就会很滑? proteus中如何弄出ISD2560元件啊 求英语达人给我翻译一下论文摘要,不要在线翻译的,有语法错误 《蒋勋孤独六讲 百度网盘》epub下载在线阅读全文,求百度网盘云资源 《孤独六讲》txt下载在线阅读,求百度网盘云资源