Expand description
RayDB - High-performance embedded graph database
A Rust implementation of RayDB with NAPI bindings for Node.js/Bun.
§Architecture
RayDB uses a Snapshot + Delta + WAL architecture:
- Snapshot: Memory-mapped CSR format for fast reads
- Delta: In-memory overlay for pending changes
- WAL: Write-ahead log for durability and crash recovery
§Features
- Zero-copy reads via mmap
- ACID transactions with optional MVCC
- Vector embeddings with IVF index
- Single-file and multi-file formats
- Compression support (zstd, gzip, deflate)
Re-exports§
pub use check::check_snapshot;pub use check::quick_check;pub use error::RayError;pub use error::Result;pub use api::schema::edge;pub use api::schema::node;pub use api::schema::prop;pub use api::schema::DatabaseSchema;pub use api::schema::EdgeSchema;pub use api::schema::NodeSchema;pub use api::schema::PropDef;pub use api::schema::SchemaType;pub use api::schema::ValidationError;pub use api::schema::define_edge;Deprecated pub use api::schema::define_node;Deprecated pub use types::PropValueTag;pub use napi_bindings::open_database;pub use napi_bindings::ray;pub use napi_bindings::ray;pub use napi_bindings::Database;pub use napi_bindings::DbStats;pub use napi_bindings::EdgePage;pub use napi_bindings::EdgeWithProps;pub use napi_bindings::JsEdge;pub use napi_bindings::JsFullEdge;pub use napi_bindings::JsNodeProp;pub use napi_bindings::JsPropValue;pub use napi_bindings::NodePage;pub use napi_bindings::NodeWithProps;pub use napi_bindings::OpenOptions;pub use napi_bindings::PaginationOptions;pub use napi_bindings::PropType;pub use napi_bindings::Ray;pub use napi_bindings::StreamOptions;
Modules§
- api
- High-level API
- backup
- Backup and restore utilities.
- cache
- Caching layer
- check
- Snapshot integrity checks.
- constants
- Magic numbers and constants for RayDB
- core
- Core storage layer for RayDB
- error
- Error types for RayDB
- export
- Export and Import utilities
- graph
- Graph database operations
- metrics
- Metrics and health checks.
- mvcc
- Multi-Version Concurrency Control (MVCC)
- napi_
bindings - NAPI bindings for RayDB
- streaming
- Streaming and pagination helpers
- types
- Core type definitions for RayDB
- util
- Utility modules for RayDB
- vector
- Vector embeddings and similarity search
Macros§
- schema
- Macro to create a schema with nodes and edges