13个版本
新 0.3.4 | 2024年8月20日 |
---|---|
0.3.3 | 2024年8月14日 |
0.3.0 | 2024年7月4日 |
0.2.0 | 2024年6月21日 |
0.1.3 | 2024年2月22日 |
#88 在 并发 中
每月7,059次下载
在 10 个crate中(直接使用5个) 使用
400KB
8K SLoC
surrealkv
surrealkv是一个使用Rust实现的版本化、低级、持久化的嵌入式键值数据库。这个ACID兼容的数据库提供了以下特性
-
事务支持:SurrealKV支持丰富的交易,允许多个条目同时插入、更新或删除。这些事务以原子方式应用,确保符合ACID原则的原子性和一致性。这使得更新在提交之前不可见。
-
隔离性:SurrealKV提供两个级别的隔离性 - 快照隔离和可序列化快照隔离 - 以防止并发事务相互干扰。
-
持久性:SurrealKV通过在磁盘上持久化数据来确保持久性,防止系统故障导致的数据丢失。
-
多版本并发控制(MVCC):SurrealKV通过vart使用不可变版本化的自适应基数树。这允许任意数量的并发读取器和写入器操作而不会相互阻塞。
有关使用的不可变版本化自适应基数树的更多信息,请访问vart。
特性
- 内存索引
- 可嵌入
- ACID语义
- 事务支持
- 内置项目版本化API
- 多版本并发控制(MVCC)支持
- 多个并发读取器和写入器
- 通过只追加文件进行持久化
- 压缩
重要通知
该项目正在不断发展,因此,文件格式、API和功能集在未来版本中可能会有所变化,直到达到稳定状态。开发者应保持对更新的了解,并查看未来版本说明以了解任何破坏性更改。
请随时贡献、提供反馈或报告问题以帮助塑造surrealkv的未来。感谢您对这个项目的兴趣和参与!
依赖项
~8-16MB
~178K SLoC