Skip to main content

Crate raydb

Crate raydb 

Source
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

Functions§

plus_100
Test function to verify NAPI bindings work
version
Get RayDB version