sqlite-vector  by sqliteai

SQLite extension for efficient on-device vector search

Created 7 months ago
360 stars

Top 77.7% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

SQLite-Vector is an ultra-efficient SQLite extension enabling vector search capabilities within embedded databases. It targets developers building Edge AI, mobile, and privacy-focused applications by providing seamless, offline vector search without external dependencies or complex setups. The extension offers significant benefits in terms of ease of use, low memory footprint, and immediate deployability.

How It Works

The extension operates by allowing vector data to be stored directly as BLOBs within ordinary SQLite tables, eliminating the need for specialized virtual tables or separate vector databases. It leverages a highly optimized C implementation with SIMD acceleration for blazingly fast distance calculations across supported vector types (Float32, Float16, BFloat16, Int8, UInt8) and metrics (L2, Cosine, Dot Product). A key differentiator is its "zero preindexing" approach, enabling immediate search operations without lengthy preprocessing phases.

Quick Start & Requirements

Installation is straightforward via pre-built binaries for Linux, macOS, Windows, Android, and iOS. WebAssembly support is available via @sqliteai/sqlite-wasm on npm. Python users can install with pip install sqliteai-vector. Swift projects can integrate it as a package dependency. The extension requires standard operating system environments; no specific hardware like GPUs is mandated. Extensive API and quantization documentation is available online.

Highlighted Details

  • Instant Vector Search: Eliminates preindexing, allowing immediate search on existing data with zero-cost updates.
  • BLOB Storage: Vectors are stored directly in ordinary SQLite tables, simplifying schema management.
  • Efficiency: Features a low default memory footprint (30MB) and SIMD-optimized C implementation for high performance.
  • Edge AI Ready: Designed for offline, on-device use, preserving data privacy and enabling real-time similarity search.
  • Broad Support: Handles multiple vector data types (Float32, Float16, BFloat16, Int8, UInt8) and distance metrics (L2, Cosine, Dot Product, etc.).

Maintenance & Community

The provided README does not detail specific community channels, contributor information, or project roadmaps.

Licensing & Compatibility

The project is licensed under the Elastic License 2.0. While free for non-production use, commercial or managed service deployment requires obtaining a separate commercial license from SQLite Cloud, Inc.

Limitations & Caveats

The primary adoption blocker is the restrictive Elastic License 2.0, which mandates a commercial license for production or managed service use. The extension's functionality is inherently tied to the SQLite ecosystem.

Health Check
Last Commit

5 days ago

Responsiveness

Inactive

Pull Requests (30d)
1
Issues (30d)
7
Star History
35 stars in the last 30 days

Explore Similar Projects

Starred by Chang She Chang She(Cofounder of LanceDB), Carol Willing Carol Willing(Core Contributor to CPython, Jupyter), and
11 more.

lancedb by lancedb

0.7%
8k
Embedded retrieval engine for multimodal AI
Created 2 years ago
Updated 4 days ago
Feedback? Help us improve.