[package]
edition = "2024"
name = "sochdb-storage"
version = "2.0.6"
authors = ["Sushanth <sushanth@sochdb.dev>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "SochDB storage engine (WAL, block store, compaction, sync-first I/O)"
homepage = "https://sochdb.dev"
documentation = "https://sochdb.dev"
readme = "README.md"
keywords = [
"database",
"llm",
"ai",
"vector-search",
"embedded",
]
categories = [
"database-implementations",
"data-structures",
]
license = "AGPL-3.0-or-later"
repository = "https://github.com/sochdb/sochdb"
resolver = "2"
[features]
async = ["tokio"]
default = []
embedded-sync = []
experimental = []
ffi = []
[lib]
name = "sochdb_storage"
crate-type = [
"lib",
"cdylib",
]
path = "src/lib.rs"
[[test]]
name = "crash_tests"
path = "tests/crash_tests.rs"
[[test]]
name = "loom_concurrency"
path = "tests/loom_concurrency.rs"
[[bench]]
name = "bench_compaction"
path = "benches/bench_compaction.rs"
harness = false
[[bench]]
name = "bench_comparison"
path = "benches/bench_comparison.rs"
harness = false
[[bench]]
name = "bench_concurrency"
path = "benches/bench_concurrency.rs"
harness = false
[[bench]]
name = "bench_memory"
path = "benches/bench_memory.rs"
harness = false
[[bench]]
name = "bench_point_read"
path = "benches/bench_point_read.rs"
harness = false
[[bench]]
name = "bench_recovery"
path = "benches/bench_recovery.rs"
harness = false
[[bench]]
name = "bench_scan"
path = "benches/bench_scan.rs"
harness = false
[[bench]]
name = "bench_space_amp"
path = "benches/bench_space_amp.rs"
harness = false
[[bench]]
name = "bench_write"
path = "benches/bench_write.rs"
harness = false
[[bench]]
name = "bench_write_amp"
path = "benches/bench_write_amp.rs"
harness = false
[[bench]]
name = "bench_ycsb"
path = "benches/bench_ycsb.rs"
harness = false
[[bench]]
name = "measurement_harness"
path = "benches/measurement_harness.rs"
[[bench]]
name = "sochdb_benchmarks"
path = "benches/sochdb_benchmarks.rs"
harness = false
[dependencies.aes-gcm-siv]
version = "0.11"
[dependencies.ahash]
version = "0.8"
[dependencies.anyhow]
version = "1.0"
[dependencies.arc-swap]
version = "1.6"
[dependencies.bincode]
version = "1.3"
[dependencies.blake3]
version = "1.5"
[dependencies.byteorder]
version = "1.5"
[dependencies.chrono]
version = "0.4"
features = ["serde"]
[dependencies.crc32fast]
version = "1.3"
[dependencies.crossbeam-channel]
version = "0.5"
[dependencies.crossbeam-epoch]
version = "0.9"
[dependencies.crossbeam-skiplist]
version = "0.1"
[dependencies.dashmap]
version = "5.5"
[dependencies.hex]
version = "0.4"
[dependencies.libc]
version = "0.2"
[dependencies.lz4]
version = "1.24"
[dependencies.lz4_flex]
version = "0.11"
[dependencies.memmap2]
version = "0.9"
[dependencies.moka]
version = "0.12"
features = [
"sync",
"sync",
]
[dependencies.num_cpus]
version = "1.16"
[dependencies.parking_lot]
version = "0.12"
[dependencies.rand]
version = "0.8"
[dependencies.serde]
version = "1.0"
features = ["derive"]
[dependencies.serde_json]
version = "1.0"
[dependencies.sha2]
version = "0.10"
[dependencies.similar]
version = "2.5"
[dependencies.smallvec]
version = "1.13"
[dependencies.sochdb-core]
version = "2.0.6"
[dependencies.sochdb-index]
version = "2.0.6"
[dependencies.tempfile]
version = "3.8"
[dependencies.thiserror]
version = "1.0"
[dependencies.thread_local]
version = "1.1"
[dependencies.tokio]
version = "1.35"
features = [
"sync",
"time",
"macros",
"rt",
]
optional = true
[dependencies.tracing]
version = "0.1"
[dependencies.twox-hash]
version = "1.6"
[dependencies.uuid]
version = "1.8"
features = ["v4"]
[dependencies.zeroize]
version = "1.8"
features = ["derive"]
[dependencies.zstd]
version = "0.13"
[dev-dependencies.chrono]
version = "0.4"
features = ["serde"]
[dev-dependencies.criterion]
version = "0.5"
[dev-dependencies.proptest]
version = "1.4"
[dev-dependencies.rand]
version = "0.8"
[dev-dependencies.tempfile]
version = "3.8"
[target."cfg(loom)".dev-dependencies.loom]
version = "0.7"
[target.'cfg(target_os = "linux")'.dependencies.io-uring]
version = "0.6"
[target.'cfg(target_os = "linux")'.dependencies.nix]
version = "0.27"
features = ["uio"]
[target."cfg(windows)".dependencies.windows-sys]
version = "0.52"
features = [
"Win32_Foundation",
"Win32_Storage_FileSystem",
"Win32_System_IO",
"Win32_System_Threading",
]