`
rockhu
  • 浏览: 7504 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
最近访客 更多访客>>
社区版块
存档分类
最新评论

bdb:改进Berkeley DB的Ruby Bindings

阅读更多

berkdb.png Berkeley DB 是一个高性能的数据库系统,它在20世纪90年代初开始开发,他不是SQL数据库引擎驱动,而是用于存储键/值对数据 。BDB非常快,可在大多数的操作系统上使用, 并且是双许可开源和允许商业用途.对于初次使用者来说,它有几个优点:仅使用一个单位文件,PStore(受保护存储): 事务, 细纹锁, 可复制和支持热备份。

        虽然已经存在关于BDB的Ruby Bindings,但是Matt Bauer发布的Ruby  Bindings加入了一些新的特性且能够快速容易的使用。当然,刚开始之前,你需要在你的操作系统中安装 Berkeley DB Library. OS X,MacPort中Berkeley BD 4.6 被称为db46,Ubuntu中为libdb-dev。另外,可以到Berkeley DB 的官方网站下载源代码,还有Matt的关于安装和使用Ruby Bindings 的说明文件.

使用范例:

env = Bdb::Env.new(0)
env_flags =  Bdb::DB_CREATE |    # Create the environment if it does not already exist.
             Bdb::DB_INIT_TXN  | # Initialize transactions
             Bdb::DB_INIT_LOCK | # Initialize locking.
             Bdb::DB_INIT_LOG  | # Initialize logging
             Bdb::DB_INIT_MPOOL  # Initialize the in-memory cache.
env.open(File.join(File.dirname(__FILE__), 'tmp'), env_flags, 0);

db = env.db
db.open(nil, 'db1.db', nil, Bdb::Db::BTREE, Bdb::DB_CREATE | Bdb::DB_AUTO_COMMIT, 0)    

txn = env.txn_begin(nil, 0)
db.put(txn, 'key', 'value', 0)
txn.commit(0)

p db.get(nil, 'key', nil, 0)

db.close(0)
env.close

       好了,这不是最容易阅读的代码,但是Berkeley BD的功能远远大于它复杂的API。如果你对Berkeley DB 及其方式仍然感到新鲜,请查阅指南(略有些旧但不过时)来加快理解。

英文原文:http://www.rubyinside.com/bdb-improved-ruby-bindings-for-berkeley-db-1438.html

分享到:
评论

相关推荐

    Berkeley DB参考手册PDF版本

    - **XML支持**:Berkeley DB XML提供了对XML文档的支持,包括存储、查询和管理等功能。 - **XQuery集成**:Berkeley DB XML支持XQuery语言来进行复杂的XML文档查询。 #### 5. BerkeleyDBC++使用实例 - **环境搭建**...

    Berkeley DB参考资料

    - **Berkeley DB XML 支持**:Berkeley DB 支持使用 XQuery 进行数据查询和操作。 #### 5. Berkeley DB C++ 使用实例 - **5.1 初始化** - **环境准备**:配置开发环境,包括安装 Berkeley DB 库和开发工具。 - *...

    BerkeleyDB Manual C/C++

    《BerkeleyDB Manual C/C++》是一份详尽的官方文档,主要针对使用C和C++语言进行数据库操作的开发者。BerkeleyDB是一款轻量级、高性能的关系型数据库管理系统,常用于嵌入式系统和分布式应用程序。这篇手册将深入...

    BerkeleyDB的参考书集

    6. **BDB-Porting-Guide.pdf**:BerkeleyDB移植指南,提供了将BerkeleyDB部署到不同平台或从其他数据库系统迁移的策略和步骤。 7. **InMemoryDBApplication.pdf**:讲解如何利用BerkeleyDB构建内存数据库应用,讨论...

    Berkeley DB数据库最新版

    Berkeley DB(简称BDB)是一种高性能、轻量级的嵌入式数据库系统,由Oracle公司开发并维护。它最初在伯克利大学诞生,因此得名“Berkeley DB”。这款数据库系统广泛应用于需要快速、可靠数据存储的应用中,尤其在...

    BDB_Prog_Reference_BerkeleyDB_

    2. **API使用**:Berkeley DB提供了C、C++、Java等多种语言的API,书中会详细介绍如何创建数据库、打开与关闭数据库、插入、查询和更新数据,以及事务操作的基本方法。 3. **事务处理**:Berkeley DB支持ACID(原子...

    Berkeley DB(BDB)

    **Berkeley DB (BDB)** 是一款开源的嵌入式数据库系统,由Oracle公司开发,广泛应用于需要快速、高效数据存储的应用程序中。它提供了一种键值对存储模型,适用于构建事务处理、缓存、日志记录等多种场景。BDB在设计...

    Berkeley DB 4.8.30

    - **嵌入式数据库**:Berkeley DB 可以直接集成到应用程序中,无需单独的服务器进程,这使得它在资源有限的环境或者需要高性能访问的应用中非常受欢迎。 - **事务处理**:BDB支持ACID(原子性、一致性、隔离性、...

    Berkeley DB JE-7.0.6

    - **内存管理**:Berkeley DB JE将数据存储在内存中,可以实现极快的读写速度。同时,通过日志文件持久化数据,确保在系统崩溃后能够恢复。 - **事务支持**:支持ACID(原子性、一致性、隔离性和持久性)事务,保证...

    Berkeley DB 读取样例

    Berkeley DB 是一款高效、轻量级的嵌入式数据库系统,特别适合于需要本地存储且对性能有高要求的应用程序。它支持多种编程语言,包括Java,这使得开发人员能够在Java应用程序中直接使用Berkeley DB进行数据管理。在...

    Berkeley_DB_参考手册

    - **开发者**:Berkeley DB 由 Sleepycat Software 公司开发,后被 Oracle 收购。 - **特性**:Berkeley DB 是一个高度可定制且性能卓越的嵌入式数据库系统,提供事务支持和多种数据访问方法。 - **应用领域**:适用...

    BerkerleyDb-18.1.40.tar.gz

    1. **嵌入式设计**:BerkeleyDB不依赖于服务器进程,可以直接在应用程序中使用,减少了网络通信的开销,提高了数据存取速度。 2. **多模式支持**:支持键值对存储、记录文件、B树和哈希表等多种数据结构,适用于...

    ruby-bdb:Guy Decoux的Sleepycat Berkeley DB和DB XML的Ruby绑定

    Oracle分发的Berkeley DB的Ruby接口 先决条件 db> = 2(db <2 bdb 使用--with-db-dir=$prefix选项指定此扩展名应与哪个libdb链接。 笔记 当bdb> = 0.5.5时,“ nil”被存储为空字符串(不使用封送时)。 使用打开...

    Berkeley DB Java Edition (JE)

    Berkeley DB Java Edition (JE) 官方7.5.11下载版本。 相关介绍 https://blog.csdn.net/hadues/article/details/80854288

    BerkeleyDB_Introduction.rar_Berkeley_Berkeley DB

    1. **嵌入式设计**:Berkeley DB 是为在本地进程空间运行而设计的,不需要独立的服务进程或网络支持。这使得它非常适合于需要高性能和低延迟的应用程序,如日志记录、缓存服务和配置管理。 2. **键值存储**:BDB ...

    berkeley db installation

    **知识点:Berkeley DB 安装与构建指南** 在IT领域,Berkeley DB(BDB)是一款由Oracle公司维护的高性能嵌入式数据库系统,它以其高效、可靠和灵活的特点在众多应用程序中得到了广泛的应用。Berkeley DB支持多种...

    bdb-4.8.26.tar.gz

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

    BerkeleyDB:BerkeleyDB-对Berkeley DB 2.x或更高版本的Perl5访问

    3. **日志记录**:Berkeley DB 可以作为日志存储,提供快速的追加操作,便于故障排查和审计。 4. **软件注册**:软件激活码、许可证管理等,可以利用其安全性、可靠性存储敏感信息。 **总结** `BerkeleyDB` 作为 ...

    berkeley db xml说明手册

    在“BDB XML介绍.doc”文档中,可能详细介绍了Berkeley DB XML的安装步骤、配置选项、API使用方法、示例代码以及常见问题解答等内容。通过这份文档,开发者可以学习如何在实际项目中有效地利用Berkeley DB XML来处理...

Global site tag (gtag.js) - Google Analytics