sled是一个嵌入式数据库,可利用现代的无锁索引和闪存友好型存储功能。使用Rust语言编写,Rust号称最好的数据库语言。
特点:
- 类似于并发线程安全的BTreeMap
- 可序列化的多键和多树交互事务,涉及多达69个单独的树!
- 完全原子的单键操作,支持比较和交换
- 零拷贝读取
- 写批处理支持
- 键前缀上的订阅/监视语义
- 多个键空间/树支持
- 合并运算符
- 正向和反向迭代器
- 安全的单调ID生成器,每秒可生成75-1.25亿个唯一ID
- zstd压缩(使用compression构建功能)
- CPU可缩放的无锁实现
- SSD优化的日志结构存储
- 前缀编码的密钥减少了复杂密钥的存储成本
性能:
- 每秒2百万次连续写入,带有8个线程,1000个8字节密钥,10个字节值,intel 9900k,nvme
- 通过16个线程,1000个8字节密钥,10个字节值,每秒850万次持续读取,intel 9900k,nvme
文档参考:https://fosdem.org/2020/schedule/event/rust_techniques_sled/attachments/slides/4127/export/events/attachments/rust_techniques_sled/slides/4127/slides_sled_rio_fosdem2020.pdf