主要观点:介绍了名为 Fjall 的用 Rust 编写的日志结构可嵌入键值存储引擎。
关键信息:
- 具备线程安全的类似 BTreeMap 的 API、100%安全稳定的 Rust 代码、基于 LSM-tree 类似 RocksDB 的存储等特性。
- 不是独立服务器或关系型/宽列数据库,键限 65536 字节,值限 2^32 字节。
- 支持不同类型的耐久性需求,可通过
Keyspace::persist
设置。 - 内部多线程同步,可克隆
Keyspace
和Partition
,有异步示例。 - 有多种特性标志可开启或关闭,如 lz4、miniz 等压缩方式。
- 磁盘格式 1.0.0 稳定,2.0.0 采用新格式需手动迁移。
- 提供多个实用示例及贡献方式。
重要细节: - 基本用法包括添加依赖、创建
Keyspace
和Partition
、插入、检索、删除数据等操作,还可通过前缀和范围搜索及反向迭代。 - 单个
Keyspace
不能并行从不同进程加载。 - 不同特性标志的作用及默认状态,如 lz4 为默认开启的 LZ4 压缩等。
- 贡献方式包括提问、分享基准测试和创建内容、提交 PR 及打开问题等。
- 所有源代码许可为 MIT 或 Apache-2.0。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。