redb 纯 Rust 的嵌入式键值数据库开源项目

我要开发同款
白开水不加糖2022年12月30日
79阅读
开发技术Rust
所属分类数据库相关
授权协议Apache-2.0/MIT

作品详情

redb是一个简单、便携、高性能、ACID、嵌入式键值存储。

redb是用纯Rust编写的,并受到 lmdb 的一些启发。数据存储在一个mmap'ed、copy-on-write的B-trees 的集合中。有关详细信息,可参阅设计文档。

useredb::{Database,Error,ReadableTable,TableDefinition};constTABLE:TableDefinition<str,u64>=TableDefinition::new("my_data");fnmain()->Result<(),Error>{letdb=unsafe{Database::create("my_db.redb")?};letwrite_txn=db.begin_write()?;{letmuttable=write_txn.open_table(TABLE)?;table.insert("my_key",&123)?;}write_txn.commit()?;letread_txn=db.begin_read()?;lettable=read_txn.open_table(TABLE)?;assert_eq!(table.get("my_key")?.unwrap(),123);Ok(())}

redb正在积极开发中。

特性:

零拷贝、线程安全、基于BTreeMap的API完全符合ACID的事务MVCC支持并发读写器,无阻塞默认 Crash-safeSavepoints和rollbacks

基准测试:

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论