这款纯 Rust 编写的数据库 redb 能火么?

这款纯 Rust 编写的数据库 redb 能火么?

首页游戏大全RustRed更新时间:2024-04-16

大家好,很高兴又见面了,我是"高级前端‬进阶‬",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力。

什么是 redb

redb is a simple, portable, high-performance, ACID, embedded key-value store.

redb 是一个简单、可移植、高性能、ACID、嵌入式键值存储, redb 是用纯 Rust 编写的,受到 lmdb 的很多启发,数据存储在写时复制 B 树的集合中。

redb 具有以下特征:

值得注意的是,redb 目前正在积极开发中,还处于 beta 阶段 ,文件格式稳定,但 redb 尚未在生产环境中广泛部署。

redb 与其他顶级嵌入式键值存储数据库,例如: lmdb 和 Rocksdb 等都具有相当的性能。

Rocksdb:facebook 开发的一个提供可嵌入、持久键值存储以实现快速存储的库,通过 C 编写,有 27.2k 的 star

目前 redb 在 Github 通过 Apache-2.0 协议开源,有超过 2.8k 的 star、是一个值得关注的开源项目。

如何使用 redb

redb 使用起来非常简单,比如下面的例子:

use redb::{Database, Error, ReadableTable, TableDefinition}; // 导入相应模块 const TABLE: TableDefinition<&str, u64> = TableDefinition::new("my_data"); fn main() -> Result<(), Error> { let db = Database::create("my_db.redb")?; // 创建一个 DB let write_txn = db.begin_write()?; { let mut table = write_txn.open_table(TABLE)?; table.insert("my_key", &123)?; } // 插入数据 write_txn.commit()?; // 提交内容 let read_txn = db.begin_read()?; let table = read_txn.open_table(TABLE)?; assert_eq!(table.get("my_key")?.unwrap().value(), 123); // 开始读数据 Ok(()) }参考资料

https://github.com/cberner/redb

https://github.com/cberner/redb/blob/master/docs/design.md

https://github.com/facebook/rocksdb

https://docs.rs/redb/latest/redb/index.html

https://morioh.com/a/c381b8c5497f/high-performance-and-reliable-oracle-database-access-for-rust

https://dbdb.io/db/redb

https://aws.amazon.com/cn/nosql/key-value/

查看全文
大家还看了
也许喜欢
更多游戏

Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved