buffdb  by buffdb

Embedded database for AI model management over gRPC

Created 1 year ago
296 stars

Top 89.6% on SourcePulse

GitHubView on GitHub
Project Summary

BuffDB is a lightweight, high-performance embedded database designed for AI model management and edge computing, offering a gRPC network API and a compact Rust-based binary. It targets developers building offline-first applications or needing efficient data handling for machine learning models, providing a Machine-Oriented Database Management System (MODMS) that prioritizes Protocol Buffers for data serialization.

How It Works

BuffDB leverages Protocol Buffers for efficient, language-agnostic data serialization, reducing overhead compared to JSON. It supports both Key-Value and Blob storage, making it suitable for storing model weights and metadata. The architecture combines an embedded database backend (SQLite by default, with experimental DuckDB support) with a gRPC server, allowing clients in various languages to interact with the data over the network. This approach offers low latency for local operations and reduced bandwidth usage.

Quick Start & Requirements

  • Installation: cargo install buffdb or via Docker (docker run -p 9313:9313 ghcr.io/buffdb/buffdb:latest).
  • Prerequisites: protoc (Protocol Buffers compiler). macOS users may need protobuf and sqlite via Homebrew.
  • Setup: Minimal setup time, binary size is under 2MB.
  • Docs: https://github.com/buffdb/buffdb

Highlighted Details

  • ML Model Storage: Optimized for storing and serving ML models with metadata and weights.
  • Secondary Indexes: Supports Hash and B-tree indexes for efficient value-based queries.
  • Raw SQL Queries: Allows direct SQL execution on the underlying SQLite database.
  • Hugging Face Integration: Can act as a caching layer for Hugging Face models.

Maintenance & Community

The project is actively developed, with contributions acknowledged. Community interaction channels are not explicitly listed in the README.

Licensing & Compatibility

Licensed under the Apache License, Version 2.0, which is permissive and generally compatible with commercial and closed-source applications.

Limitations & Caveats

The DuckDB backend is experimental and may have platform-specific linking issues, particularly on macOS. For production use, the stable SQLite backend is recommended.

Health Check
Last Commit

3 weeks ago

Responsiveness

Inactive

Pull Requests (30d)
3
Issues (30d)
0
Star History
2 stars in the last 30 days

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Gregor Zunic Gregor Zunic(Cofounder of Browser Use), and
2 more.

airweave by airweave-ai

0.3%
3k
Semantic MCP server for AI agents
Created 8 months ago
Updated 2 days ago
Feedback? Help us improve.