Expand description
§VelociDB
VelociDB is a high-performance, embedded database engine written in Rust. It features a modern architecture designed for NVMe storage and multi-core systems.
§Key Features
- MVCC: Multi-Version Concurrency Control for non-blocking reads.
- Async I/O: Built on
tokioandio_uring(on Linux) for high throughput. - SIMD Acceleration: Vectorized execution for query processing.
- Persistent Memory: Direct Access (DAX) support for PMEM.
§Quick Start
use velocidb::Database;
// Open a database (creates it if it doesn't exist)
let db = Database::open("my_database.db")?;
// Create a table
db.execute("CREATE TABLE users (id INTEGER PRIMARY KEY, name TEXT, age INTEGER)")?;
// Insert data
db.execute("INSERT INTO users VALUES (1, 'Alice', 30)")?;
db.execute("INSERT INTO users VALUES (2, 'Bob', 25)")?;
// Query data
let results = db.query("SELECT * FROM users WHERE age > 25")?;
for row in results.rows {
println!("Found user: {:?}", row.values);
}Re-exports§
pub use storage::Database;pub use types::QueryResult;pub use types::Value;pub use types::Row;pub use types::Column;pub use mvcc::MvccManager;pub use mvcc::Snapshot;pub use mvcc::VersionedRecord;pub use async_io::AsyncPager;pub use async_io::AsyncVfs;pub use async_io::TokioVfs;pub use async_io::BatchIoExecutor;pub use lockfree::LockFreePageCache;pub use lockfree::LockFreeIoQueue;pub use lockfree::LockFreeCounter;pub use simd::VectorBatch;pub use simd::VectorizedFilter;pub use simd::VectorizedAggregation;pub use btree_optimized::CacheOptimizedNode;pub use btree_optimized::CachePrefetcher;pub use crdt::CrdtStore;pub use crdt::CrdtOperation;pub use crdt::SyncProtocol;pub use cloud_vfs::CloudVfs;pub use cloud_vfs::CloudVfsConfig;pub use hybrid_storage::HybridTable;pub use hybrid_storage::StorageLayout;pub use hybrid_storage::ColumnStorage;pub use pmem::DaxVfs;pub use pmem::PmemTransactionLog;