buffdb  by buffdb

Embedded database for AI model management over gRPC

Created 1 year ago
298 stars

Top 89.2% 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

5 months ago

Responsiveness

Inactive

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

Explore Similar Projects

Starred by Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), Georgios Konstantopoulos Georgios Konstantopoulos(CTO, General Partner at Paradigm), and
1 more.

rig by 0xPlaygrounds

1.7%
5k
Rust library for building LLM-powered applications
Created 1 year ago
Updated 21 hours ago
Feedback? Help us improve.