├── .github └── workflows │ └── ci.yml ├── .gitignore ├── BENCHMARKS.md ├── CHANGELOG.md ├── Cargo.toml ├── README.md ├── assets ├── gh_events.json └── rust-storage-bench │ ├── task_g_sync_rand_512v.png │ ├── task_g_sync_rand_canopy-db_512v.jsonl │ ├── task_g_sync_rand_fjall_512v.jsonl │ ├── task_g_sync_rand_heed_512v.jsonl │ ├── task_g_sync_rand_persy_512v.jsonl │ ├── task_g_sync_rand_redb_512v.jsonl │ ├── task_h_large_rand_20000v.png │ ├── task_h_large_rand_512v.png │ ├── task_h_large_rand_canopy-db_20000v.jsonl │ ├── task_h_large_rand_canopy-db_512v.jsonl │ ├── task_h_large_rand_fjall_20000v.jsonl │ ├── task_h_large_rand_fjall_512v.jsonl │ ├── task_h_large_rand_redb_20000v.jsonl │ ├── task_h_large_rand_sled_20000v.jsonl │ ├── task_h_large_rand_sled_512v.jsonl │ ├── task_h_rand_512v.png │ ├── task_h_rand_canopy-db_512v.jsonl │ ├── task_h_rand_fjall_512v.jsonl │ ├── task_h_rand_persy_512v.jsonl │ ├── task_h_rand_redb_512v.jsonl │ ├── task_h_rand_sled_512v.jsonl │ ├── task_h_seq_512v.png │ ├── task_h_seq_canopy-db_512v.jsonl │ ├── task_h_seq_fjall_512v.jsonl │ ├── task_h_seq_persy_512v.jsonl │ ├── task_h_seq_redb_512v.jsonl │ └── task_h_seq_sled_512v.jsonl ├── examples ├── basic_usage.rs ├── fixed_len_key_value.rs ├── multi_writer.rs └── one_env_many_dbs.rs ├── fuzz ├── .gitignore ├── Cargo.toml └── fuzz_targets │ ├── fuzz_database.rs │ ├── fuzz_freelist.rs │ └── fuzz_wal.rs └── src ├── allocator.rs ├── bytes.rs ├── bytes_impl.rs ├── checkpoint.rs ├── cursor.rs ├── env.rs ├── error.rs ├── freelist.rs ├── group_commit.rs ├── lib.rs ├── node.rs ├── options.rs ├── page.rs ├── pagetable.rs ├── repr.rs ├── shim.rs ├── shuttle_tests.rs ├── tests.rs ├── tree.rs ├── utils.rs ├── wal.rs └── write_batch.rs /.github/workflows/ci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/.github/workflows/ci.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/.gitignore -------------------------------------------------------------------------------- /BENCHMARKS.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/BENCHMARKS.md -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/Cargo.toml -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/README.md -------------------------------------------------------------------------------- /assets/gh_events.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/gh_events.json -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_g_sync_rand_512v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_g_sync_rand_512v.png -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_g_sync_rand_canopy-db_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_g_sync_rand_canopy-db_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_g_sync_rand_fjall_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_g_sync_rand_fjall_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_g_sync_rand_heed_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_g_sync_rand_heed_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_g_sync_rand_persy_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_g_sync_rand_persy_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_g_sync_rand_redb_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_g_sync_rand_redb_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_20000v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_20000v.png -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_512v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_512v.png -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_canopy-db_20000v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_canopy-db_20000v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_canopy-db_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_canopy-db_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_fjall_20000v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_fjall_20000v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_fjall_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_fjall_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_redb_20000v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_redb_20000v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_sled_20000v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_sled_20000v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_large_rand_sled_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_large_rand_sled_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_rand_512v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_rand_512v.png -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_rand_canopy-db_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_rand_canopy-db_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_rand_fjall_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_rand_fjall_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_rand_persy_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_rand_persy_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_rand_redb_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_rand_redb_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_rand_sled_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_rand_sled_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_seq_512v.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_seq_512v.png -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_seq_canopy-db_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_seq_canopy-db_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_seq_fjall_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_seq_fjall_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_seq_persy_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_seq_persy_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_seq_redb_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_seq_redb_512v.jsonl -------------------------------------------------------------------------------- /assets/rust-storage-bench/task_h_seq_sled_512v.jsonl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/assets/rust-storage-bench/task_h_seq_sled_512v.jsonl -------------------------------------------------------------------------------- /examples/basic_usage.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/examples/basic_usage.rs -------------------------------------------------------------------------------- /examples/fixed_len_key_value.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/examples/fixed_len_key_value.rs -------------------------------------------------------------------------------- /examples/multi_writer.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/examples/multi_writer.rs -------------------------------------------------------------------------------- /examples/one_env_many_dbs.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/examples/one_env_many_dbs.rs -------------------------------------------------------------------------------- /fuzz/.gitignore: -------------------------------------------------------------------------------- 1 | target 2 | corpus 3 | artifacts 4 | -------------------------------------------------------------------------------- /fuzz/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/fuzz/Cargo.toml -------------------------------------------------------------------------------- /fuzz/fuzz_targets/fuzz_database.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/fuzz/fuzz_targets/fuzz_database.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/fuzz_freelist.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/fuzz/fuzz_targets/fuzz_freelist.rs -------------------------------------------------------------------------------- /fuzz/fuzz_targets/fuzz_wal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/fuzz/fuzz_targets/fuzz_wal.rs -------------------------------------------------------------------------------- /src/allocator.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/allocator.rs -------------------------------------------------------------------------------- /src/bytes.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/bytes.rs -------------------------------------------------------------------------------- /src/bytes_impl.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/bytes_impl.rs -------------------------------------------------------------------------------- /src/checkpoint.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/checkpoint.rs -------------------------------------------------------------------------------- /src/cursor.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/cursor.rs -------------------------------------------------------------------------------- /src/env.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/env.rs -------------------------------------------------------------------------------- /src/error.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/error.rs -------------------------------------------------------------------------------- /src/freelist.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/freelist.rs -------------------------------------------------------------------------------- /src/group_commit.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/group_commit.rs -------------------------------------------------------------------------------- /src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/lib.rs -------------------------------------------------------------------------------- /src/node.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/node.rs -------------------------------------------------------------------------------- /src/options.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/options.rs -------------------------------------------------------------------------------- /src/page.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/page.rs -------------------------------------------------------------------------------- /src/pagetable.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/pagetable.rs -------------------------------------------------------------------------------- /src/repr.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/repr.rs -------------------------------------------------------------------------------- /src/shim.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/shim.rs -------------------------------------------------------------------------------- /src/shuttle_tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/shuttle_tests.rs -------------------------------------------------------------------------------- /src/tests.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/tests.rs -------------------------------------------------------------------------------- /src/tree.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/tree.rs -------------------------------------------------------------------------------- /src/utils.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/utils.rs -------------------------------------------------------------------------------- /src/wal.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/wal.rs -------------------------------------------------------------------------------- /src/write_batch.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arthurprs/canopydb/HEAD/src/write_batch.rs --------------------------------------------------------------------------------