📄 berkeleydb概述.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"><head><title>BerkeleyDB概述-IT者</title>
<meta name="robots" content="all" />
<meta name="author" content="IT者 | www.itzhe.cn" />
<meta name="Copyright" content="Copyright (c) 2002-2005 itzhe.cn" />
<link rel="icon" href="/favicon.ico" type="image/x-icon" media="screen" />
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" media="screen" />
<meta name="Keywords" content="Be,er,rk,ke,el,le,ey,yD,DB,B概,综合文章" />
<meta name="description" content="IT者,C#,Java,Delphi,ASP,PHP,ASP.NET,网站建设,.NET,VC,数据库,DB2,SQL2000,Oracle,Mysql,服务器,C,vs.net2005,网络,cgi,JSP,CSS,html,xml,rss,域名,Dreamwaver,Photoshop,Fireworks,flash" />
<LINK href="http://img.spos.com.cn/favicon.ico"
type=image/x-icon rel="shortcut icon">
<LINK href="/imagespos/content.css" type=text/css rel=stylesheet>
<script language="JavaScript">
<!--
//改变图片大小
function resizepic(thispic)
{
if(thispic.width>700) thispic.width=700;
}
//无级缩放图片大小
function bbimg(o)
{
var zoom=parseInt(o.style.zoom, 10)||100;
zoom+=event.wheelDelta/12;
if (zoom>0) o.style.zoom=zoom+'%';
return false;
}
-->
</script>
</head>
<body>
<DIV id=Header>
<UL>
<LI><A href="/">网站首页</A></LI>
<LI><A href="/Programme/">编程语言</A></LI>
<LI><A href="/system/">操作系统</A> </LI>
<LI><A href="/databasekf/">数据库 </A></LI>
<LI><A href="/web/">Web开发 </A></LI>
<LI><A href="/Design/">图形图象</A> </LI>
<LI><A href="/server/">服务器</A> </LI>
<LI><A href="/Softproject/">软件工程</A> </LI>
<LI><A href="/site/">网站建设</A> </LI>
<LI><A href="/network/">网络应用</A> </LI>
<LI><A href="http://blog.itzhe.cn/"><SPAN class=cDRed>博客社区</SPAN></A></LI>
<LI><A href="http://bbs.itzhe.cn/">论坛</A> </LI>
</UL></DIV>
<DIV id=Content>
<DIV class=Left>
<DIV class=Logo><A href="http://www.itzhe.cn/"><IMG src="http://www.itzhe.cn/imagesl/logo.gif"
width=90 height=60 border="0"></A></DIV>
<script language=javascript>
function g(formname) {
var url = "http://www.baidu.com/baidu";
if (formname.s[1].checked) {
formname.ct.value = "2097152";
}
else {
formname.ct.value = "0";
}
formname.action = url;
return true;
}
</script>
<FORM name=f1 onsubmit="return g(this)">
<LI>
<Input class=text style="WIDTH: 130px" value= 百度搜索 name=word>
<Input class=button type=image src="/img6/Search_icon.gif" value=百度搜索>
<Input type=hidden value=bds name=tn>
<Input type=hidden value=3 name=cl>
<Input type=hidden name=ct>
<Input type=hidden value=itzhe.cn name=si>
<Input type=radio name=s> 互联网
<Input type=radio CHECKED name=s> 本站itzhe.cn </LI></FORM>
<DIV class=Nav><span class="center cBlue">您现在的位置: <a class='LinkPath' href='http://www.itzhe.cn'>IT者</a> >> <a class='LinkPath' href='/databasekf/Index.html'>数据库</a> >> <a class='LinkPath' href='/databasekf/List/List_52.html'>综合文章</a> >> 文章正文</span></DIV>
<DIV class=AD>
<DIV class=Con>
<script language='javascript' src='/AD/200705/12.js'></script>
</DIV></DIV>
<DIV class=Content><!-- google_ad_section_start -->
<DIV class=Title><B>BerkeleyDB概述</B></DIV>
<DIV class=Correlative><span class="arcinfo center">作者:solotony 文章来源:www.itzhe.cn 点击数:<script language='javascript' src='/databasekf/GetHits.asp?ArticleID=44164'></script> 更新时间:2002-11-24</span></DIV>
<DIV class=Info>
<P><SPAN
style="DISPLAY: none"></SPAN></P>
<div id=new>
<div id=zhan>
</div>
<div id=ad>
<script type="text/javascript"><!--
google_ad_client = "pub-6962521868087166";
google_ad_width = 336;
google_ad_height = 280;
google_ad_format = "336x280_as";
google_ad_type = "text_image";
//2007-05-04: itzhe内容页
google_ad_channel = "4491545148";
google_color_border = "FFFBFF";
google_color_bg = "FFFBFF";
google_color_link = "CC0000";
google_color_text = "000000";
google_color_url = "000000";
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
</div>
<P><FONT face=宋体 size=2>Berkeley DB 概述</FONT></P>
<P><FONT face=宋体 size=2>皮东</FONT></P>
<P><FONT face=宋体 size=2> Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>的程序库(database library),<BR>它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的存取和管理提供了一组<BR>简洁的函数调用API接口。</FONT></P>
<P><FONT face=宋体 size=2> 它是一个经典的C-library模式的toolkit,为程序员提供广泛丰富的函数集,是为应用程序开发者提供工业级强度的<BR><a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>服务而设计的。其主要特点如下:</FONT></P>
<P><FONT face=宋体 size=2> 嵌入式(Embedded):它直接链接到应用程序中,与应用程序运行于同样的地址空间中,因此,无论是在网络上不同<BR>计算机之间还是在同一台计算机的不同进程之间,<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>操作并不要求进程间通讯。</FONT></P>
<P><FONT face=宋体 size=2> Berkeley DB为多种<a class="channel_keylink" href="http://www.itzhe.cn/Programme/" target="_blank">编程语言</a>提供了API接口,其中包括C、C++、<a class="channel_keylink" href="http://www.itzhe.cn/Programme/List/List_7.html" target="_blank">Java</a>、Perl、Tcl、Python和PHP,所有的<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>操作<BR>都在程序库内部发生。多个进程,或者同一进程的多个线程可同时使用<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>,有如各自单独使用,底层的服务如加锁、<BR>事务日志、共享缓冲区管理、内存管理等等都由程序库透明地执行。</FONT></P>
<P><FONT face=宋体 size=2> 轻便灵活(Portable):它可以运行于几乎所有的UNIX和<a class="channel_keylink" href="http://www.itzhe.cn/system/List/List_73.html">Linux</a>系统及其变种系统、Windows<a class="channel_keylink" href="http://www.itzhe.cn/system/" target="_blank">操作系统</a>以及多种嵌入式实<BR>时<a class="channel_keylink" href="http://www.itzhe.cn/system/" target="_blank">操作系统</a>之下。它在32位和64位系统上均可运行,已经被好多高端的因特网服务器、台式机、掌上电脑、机顶盒、网络<BR>交换机以及其他一些应用领域所采用。一旦Berkeley DB被链接到应用程序中,终端用户一般根本感觉不到有一个<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a><BR>系统存在。</FONT></P>
<P><FONT face=宋体 size=2> 可伸缩(Scalable):这一点表现在很多方面。Database library本身是很精简的(少于300KB的文本空间),但它<BR>能够管理规模高达256TB的<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>。它支持高并发度,成千上万个用户可同时操纵同一个<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>。Berkeley DB能以足够小<BR>的空间占用量运行于有严格约束的嵌入式系统,也可以在高端服务器上耗用若干GB的内存和若干TB的磁盘空间。</FONT></P>
<P><FONT face=宋体 size=2> Berkeley DB在嵌入式应用中比关系<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>和面向对象<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>要好,有以下两点原因:<BR> <BR> (1)因为<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>程序库同应用程序在相同的地址空间中运行,所以<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>操作不需要进程间的通讯。在一台机器的<BR>不同进程间或在网络中不同机器间进行进程通讯所花费的开销,要远远大于函数调用的开销;</FONT></P>
<P><FONT face=宋体 size=2> (2)因为Berkeley DB对所有操作都使用一组API接口,因此不需要对某种查询语言进行解析,也不用生成执行计划,<BR>大大提高了运行效.</FONT></P>
<P><BR><FONT face=宋体 size=2>BerkeleyDB系统结构 </FONT></P>
<P><BR><FONT face=宋体 size=2> Berkeley DB由五个主要的子系统构成.包括: 存取管理子系统、内存池管理子系统、事务子系统、锁子系统以及日志子系统。<BR>其中存取管理子系统作为Berkeley DB<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>进程包内部核心组件,而其他子系统都存在于Berkeley DB<a class="channel_keylink" href="http://www.itzhe.cn/databasekf/">数据库</a>进程包的外部。 </FONT></P>
<P><FONT face=宋体 size=2> 每个子系统支持不同的应用级别。</FONT></P>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -