vdb: A Header-Only C Library for Vector Database Operations
By
abdimoalim
The kind of bagel that ruins lesser bagels for you.
Summary
vdb is a lightweight, header-only C library for storing and searching high-dimensional vector embeddings. The library provides database management functions for creating, destroying, and counting vectors in a vector database, with optional multithreading support through pthreads. It includes API references for database operations and supports different compilation approaches depending on threading needs.
Key quotes
· 5 pulledA lightweight, header-only C library for storing and searching high-dimensional vector embeddings with optional multithreading support.
Include vdb.h and compile with either approach, pthreads is not necessarily available which is why this is behind a flag.
vdb_database *vdb_create(size_t dimensions, vdb_metric metric) - Creates a new vector database.
void vdb_destroy(vdb_database *db) - Frees all resources associated with the database.
size_t vdb_count(const vdb_database *db) - Returns the number of vectors in the database.
You might also wanna read
Rethinking Database Usage: When File-Based Storage Might Be Better Than Traditional Databases
The article challenges conventional wisdom about database usage, arguing that databases are essentially just files on disk and that for many
Grafeo: High-Performance Graph Database Built in Rust with Multi-Language Support
Grafeo is a high-performance, embeddable graph database built in Rust that offers exceptional speed and efficiency. It claims to be the fast
Litestream Adds Write Capabilities to Its Virtual File System
The article introduces Litestream Writable VFS, a new feature that adds write capabilities to Litestream's virtual file system. Previously,
Turso: SQLite Rewritten in Rust for Modern Database Applications
The article discusses Turso, a database platform that uses SQLite rewritten in Rust, exploring its technical implementation, performance ben
Ayder: A Durability-First Event Log System Verified for Crash Recovery
Ayder is a durability-first event log system designed to maintain data correctness under real-world failures including crashes, partitions,
The Adoption of CedarDB's Optimized String Implementation Across Database Systems
The article discusses the complexity of string implementations in programming languages, explaining that strings are more than just sequence
