#b-tree #persistent #persistent-storage #structure #userspace #node #direct

btree-ondisk

A Rust implementation of BTree structure on persistent storage in userspace

1 unstable release

0.10.0 Feb 12, 2025

#753 in Data structures

Download history 131/week @ 2025-02-11

131 downloads per month

GPL-2.0-or-later

185KB
4.5K SLoC

btree-ondisk

A Rust implementation of BTree structure on persistent storage in userspace.

Codebase is inspired by and partially derived from NILFS2.

NILFS2 is a log-structured file system implementation for the Linux kernel.

NOTICE: This library itself does not include persistent part, user should implement persistent process on top of this library.

Under Developement

⚠️ This library is currently under developement and is NOT recommended for production.

Examples

See examples for how to use.

Credits

In loving memory of my father, Mr. Dai Wenhua, Who bought me my first computer.

License

This library is licensed under the GPLv2 or later License. See the LICENSE file.


lib.rs:

Key/Value map implementation.

Starting from a flat map of signle direct node which for small k/v set.

Converted to btree based map when key exceed direct node's capacity.

Individual btree node in the map can be load back from backend storage by BlockLoader.

Dependencies

~1–1.8MB
~36K SLoC