vibesql-storage
In-memory and persistent storage engine for VibeSQL.
Overview
This crate provides the storage layer for VibeSQL, including in-memory data structures, buffer pool management, persistence, and indexing.
Features
- In-Memory Tables: High-performance row storage with efficient access patterns
- Buffer Pool: Page-based buffer management with LRU eviction
- Persistence: SQL dump format for loading and saving databases
- B-tree Indexes: Efficient ordered index structures
- Spatial Indexes: R*-tree implementation for geometric queries
- Statistics: Column and table statistics for query optimization
- Query Buffers: Specialized buffer pools for query execution
- WASM Support: Cross-platform storage with OPFS backend for browsers
- Native Storage: File-based backend for native platforms
Usage
Add this to your Cargo.toml:
[]
= "0.1"
Basic example:
use ;
use ;
use DataType;
// Create database
let catalog = new;
let config = default;
let mut db = new;
// Create and use table
let mut schema = new;
schema.add_column;
db.create_table?;
Documentation
License
This project is licensed under either of:
- Apache License, Version 2.0 (LICENSE-APACHE)
- MIT License (LICENSE-MIT)
at your option.