Berkeley DB的介绍

Berkeley DB的访问方法有四种BTree、Hash、Queue、Recno
他们在DB创建时选择,而且只能在创建时选择。一点选定某一个访问方法,
在使用中不能改变。

BTree 数据被存储在一个排序的平衡树结构中。key和value都可以是简单数
据(如整型,字符串),也可以是复杂数据(如结构)。当有多个数据的key
相同时,可以有复本。

Hash 数据存储在一个扩展的线性hash表中。其他的特性象BTree。

Queue 数据存储在一个队列中,记录是定长的。key为一个逻辑数,不由用户
选择类型。在尾部插入记录,在头部删除记录和取出记录非常的快。提供了
记录水平缩,提高在并发下的访问。

Recno 数据可以是定常或是变长的记录。其他特性象Queue。key也是一个逻辑数。

数据库访问方法的选择。
根据key可否用户定义分为BTree、Hash一组,Queue、Renco一组。

BTree与Hash之间的选择
如果数据量不,能被放到内存中。这种情况下选择BTree。即在小数据量的情况下
选用BTree,原因是在利用key来定为记录时,成功的几率大些。Hash有退步算法。

但是在大数据量的情况下,由于数据并不能都在数据库中,要访问磁盘,并且BTree
要维护的内部信息大于Hash,访问磁盘的几率大于Hash,会造成访问的瓶颈。所以
在大数据量下选择Hash。

Queue与Recno之间的选择
用在多并发下最好用Queue。但是如果记录是变长的,就只能选Recno了。在其它的情
况下,两者没有明显的差别。

Berkeley DB支持从非常小的数据库到256T的数据容量的数据库。单个key或recode
最大可以为4G的数据。

Berkeley DB的数据库被存储为二进制的格式,有利于平台的移植。

Berkeley DB支持并发的访问,但是不能用在NSF(网络文件系统)下。因为无法定位和
获得数据库的环境(在环境中设置对并发的控制)。

Berkeley DB的环境(Environments)提供了以下的功能
1 多数据库文件(Multi-database files)。将多个数据存储在一个物理文件中。
2 提供多线程或多进程的支持(Multi-thread and multi-process support)。
3 事务处理
4 高可用性(重复性)支持。即一个主数据库,和多个提供只读能力的复制数据库

Berkeley DB的介绍相关推荐

  1. Berkeley DB基础教程

    一.Berkeley DB的介绍 (1)Berkeley DB是一个嵌入式数据库,它适合于管理海量的.简单的数据.如Google使用其来保存账户信息,Heritrix用其来保存froniter. (2 ...

  2. BDB (Berkeley DB)数据库简单介绍(转载)

    近期要使用DBD,于是搜了下相关的资料,先贴个科普性的吧: 转自http://www.javaeye.com/topic/202990 DB综述 DB最初开发的目的是以新的HASH訪问算法来取代旧的h ...

  3. Berkeley DB(BDB)介绍

    Berkeley DB是一个开放源代码的内嵌式数据库管理系统,能够为应用程序提供高性能的数据管理服务.应用它程序员只需要调用一些简单的API就可以完成对数据的访问和管理.与常用的数据库管理系统(如My ...

  4. Berkeley DB介绍

    简介:         Berkeley DB是历史悠久的嵌入式数据库系统,主要应用在UNIX/LINUX操作系统上,其设计思想是简单.小巧.可靠.高性能.Berkeley DB (DB)是一个高性能 ...

  5. Berkeley DB (DB)介绍

    Berkeley DB (DB)是一个高性能的,嵌入数 据库编程库,和C语言,C++,Java,Perl,Python,PHP,Tcl以及其他很多语言都有绑定.Berkeley DB可以保存任意类型的 ...

  6. berkeley db mysql_BDB:源自 Berkeley DB,事务型数据库

    数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据引擎进行创建.查询.更新和删除数据操作.不同的存储引擎提供不同的存储机制.索引技巧.锁定水平等功能,使用不同的存储引擎还可以获得特定的功能. ...

  7. Java那些事之Berkeley DB

    最近一直在使用java,随着使用时间的加长,对java也有了更深入的了解.从今天开始,我会写一些关于java的专题内容,希望大家喜欢,也希望各位多多讨论指正. 这一次先介绍一下Berkeley DB的 ...

  8. berkeley db java edition 源码,Berkeley DB Java Edition

    本来想写一篇,发现网上有一篇已经写的很好了,所以稍微加一些介绍,其他部分尤其是去看它的吧.附带自己写的一个connection 代码. 简介 Berkeley DB(BDB)是一个高性能的,嵌入式键值 ...

  9. Berkeley DB Java Edition

    一. 简介Berkeley DB Java Edition (JE)是一个完全用JAVA写的,它适合于管理海量的,简单的数据.l 能够高效率的处理1到1百万条记录,制约JE数据库的往往是硬件系统,而不 ...

最新文章

  1. nginx反向代理,实现负载均衡
  2. 《Nmap渗透测试指南》—第6章6.4节IP欺骗
  3. 微信基础服务肯定不收费
  4. 成功解决AttributeError: module 'tensorflow.nn.rnn_cell' has no attribute 'linear'
  5. 属性总结(二):color
  6. Java并发程序设计(二)Java并行程序基础
  7. 关天asp.net ajax beta中在updatepnael中注册脚本的解决方案
  8. 苹果ll是什么版本_如何鉴别自己的iPhone手机,是什么版本呢?国行,美版,还是韩版?...
  9. 《学习之道》第十七章保持平静
  10. 提示内存不足,但内存明明很多
  11. MFC入门之 Ribbon界面设计
  12. JavaScript判断当前浏览器类型(包括判断移动端浏览器类型)
  13. CSAPP 存储器山数据的测量以及绘制,Cache lab part A:Cache simulator
  14. STM32H7 DAC2+BDMA
  15. 一个高中生的编程自学经历
  16. 计算机图形学——游戏方向 第一章 计算机图形学概述
  17. 个人网站到底怎样赚钱 [zt]
  18. FastSpeech2论文中文翻译
  19. “四大发明”活字印刷当排首位!
  20. 2022年全球及中国智能购物车行业头部企业市场占有率及排名调研报告

热门文章

  1. 反向传播算法推导(交叉熵代价函数-吴恩达机器学习)
  2. 深入浅出CChart 每日一课——快乐高四第四十九课 旧石器时代,老血狂喷之控制台窗口绘图
  3. TIA博途中, 如何把程序块连同PLC变量及PLC数据类型从CPU 上载到电脑?
  4. Java基础——线程基础
  5. 基于内容的推荐算法的实现代码实例
  6. 你了解多少?从设计开始详解移动电源
  7. Python和Java哪个更容易就业?
  8. 小型机和PC服务器到底有什么区别?(摘自走入小型机世界-orian)
  9. HTML网页入门之注释怎么写
  10. NTP时钟服务器(NTP时间服务器)助力校园网络建设