Berkeley DB入门

原创 2007年10月08日 15:57:00

       Berkeley DB是一款开源软件,现在在Oracle旗下。本文是我初步阅读DB相关文档的笔记。以后会涉及更多细节。

Berkeley DB是由美国Sleepycat Software公司开发的一套开放源码的嵌入式数据库的程序库(database library),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。

Berkeley DB不是关系型数据库,不是面向对象数据库,不是网络数据库,不是数据库服务器。

1.Secondary DB

相对Primary DB,用处是当想通过一些非keyItem进行检索时,激活。

 

2.Access Method

1Balanced Tree

2Hash

3Queue

4Recno

 

3.选择

1BTreeHash是类关联式容器,QueueRecno是类序列式容器。

2)对关联式来说,如果存在复杂数据集或者Disk I/O,请选择Hash;否则选择Btree.

3)对自己不生成KeyRecord来说,序列式更加适合。Queue适合定长记录,并发性更好(Record Locking)Recno适合变长Record.

 

4.限制

总容量256TB,单条容量4GB;对网络支持能力不佳。

 

5.Environment

1Multi-databases files

在一个物理文件中,支持多个数据库

2)多线程和多进程

3Transactional processing

4High availability (replication) support

5Logging subsystem

 

6.Exception

DB_CXX_NO_EXCEPTIONS 取消DB Exception

DbExceptionstd::exception子类

 

7.Open DB

// Open the database

db.open(

NULL, // Transaction pointer

"my_db.db", // Database file name

NULL, // Optional logical database name

DB_BTREE, // Database access method

oFlags, // Open flags

0); // File mode (using defaults)

 

8.Close DB

// Close the database

db.close(0);

 

9.DB Open Flag

DB_CREATE

If the database does not currently exist, create it. By default, the database open fails if the database does not already exist.

DB_EXCL

Exclusive database creation. Causes the database open to fail if the database already exists. This flag is only meaningful when used with DB_CREATE.DB_CREATE并用。

DB_RDONLY

Open the database for read operations only. Causes any subsequent database write operations to fail.

DB_TRUNCATE

Physically truncate (empty) the on-disk file that contains the database. Causes DB to delete all databases physically contained in that file.

 

10.Administrative Method

1Db::get_open_flags()

2Db::remove()

不要remove已经打开的数据库,不要remove包含打开数据库的文件。

// Database open and subsequent operations omitted for clarity

db.remove(

"mydb.db", // Database file to remove

NULL, // Database to remove. This is NULL so the entire file is removed.

0); // Flags. None used.

3Db::rename()

db.rename(

"mydb.db", // Database file to rename

NULL, // Database to rename. This is NULL so the entire file is renamed.

"newdb.db", // New database file name

0); // Flags. None used.

 

11.Error Reporting Functions

(1) set_error_stream()

(2) set_errcall()

(3) set_errfile()

(4) set_errpfx()

(5) err()

(6) errx()

 

berkeley db--入门介绍

转至:http://blog.sina.com.cn/s/blog_502c8cc40100yqkj.html 1. Berkeley DB的简介 Berkeley DB(BDB)是一个高性能的嵌入式...
  • whycold
  • whycold
  • 2013-12-29 19:53:03
  • 1656

Berkeley DB基础教程

一、Berkeley DB的介绍 (1)Berkeley DB是一个嵌入式数据库,它适合于管理海量的、简单的数据。如Google使用其来保存账户信息,Heritrix用其来保存froniter. (...
  • jediael_lu
  • jediael_lu
  • 2014-05-29 15:21:08
  • 15194

[转]Berkeley DB 数据库的优缺点

  Berkeley DB 数据库的优缺点来源:http://www.nowboy.com/main/archives/52BDB官方网站:http://www.sleepycat.com/Sleep...
  • heiyeshuwu
  • heiyeshuwu
  • 2006-07-12 00:41:00
  • 7188

Berkeley DB使用全解

 在开发桌面级应用程序时,常常需要用到可持续存储技术,做为保存程序在退出之前所使用的数据,如变量,对象,窗口位置,大小.一般我们会使用office access这类桌面型文件数据库,或者是使用注册表....
  • sjcode
  • sjcode
  • 2007-09-13 15:11:00
  • 4962

Linux 安装使用Berkeley DB

 首先下载Berkeley DB软件包 http://download.oracle.com/berkeley-db/db-4.7.25.NC.tar.gz 下载完后,对其进行解压: ...
  • mikemiller2
  • mikemiller2
  • 2014-06-01 17:51:53
  • 8897

[转]Berkeley DB实现分析

Berkeley DB实现分析
  • heiyeshuwu
  • heiyeshuwu
  • 2016-05-27 20:44:17
  • 3398

Berkeley db java 代码实例

(1)打开Database环境  EnvironmentConfig envCfg = new EnvironmentConfig(); //当数据库环境不存在的时候,创建一个数据库环境,默认为...
  • zlgydx
  • zlgydx
  • 2016-02-28 23:46:06
  • 975

Berkeley DB在linux中的安装

Berkeley DB是由美国Sleepycat Software公司开发的一套开放源代码的嵌入式数据库管理系统(已被Oracle收购),它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服...
  • rufeng18
  • rufeng18
  • 2007-12-10 13:56:00
  • 3661

[转]Berkeley DB简介及安装使用

1        简介 BDB的全称Berkeley DB,是一套开放源码的嵌入式数据库的程序库。它为应用程序提供可伸缩的、高性能的、有事务保护功能的数据管理服务。Berkeley DB为数据的...
  • anda0109
  • anda0109
  • 2014-05-16 10:54:55
  • 1543

Berkeley DB for C 使用手册

Berkeley DB for C 简单介绍Brekeley DB打开databases在开打数据库前必须通过db_create()方法来初始化一个db句柄, 然后你可以通过他的open方法来打开一个...
  • muyannian
  • muyannian
  • 2007-12-11 16:40:00
  • 9394
收藏助手
不良信息举报
您举报文章:Berkeley DB入门
举报原因:
原因补充:

(最多只允许输入30个字)