rust_sqlite  by joaoh82

Embedded SQL database engine with AI and vector capabilities

Created 5 years ago
1,073 stars

Top 34.9% on SourcePulse

GitHubView on GitHub
1 Expert Loves This Project
Project Summary

Summary

SQLRite (Rust-SQLite) is an embedded database engine built in Rust, modeled after SQLite. It aims to foster deep understanding of database internals through practical implementation. This project targets developers seeking a Rust-native, performant embedded database or those exploring database design principles, offering a growing feature set and multi-language SDKs for broader integration.

How It Works

The project employs a phased development methodology, systematically constructing core components: SQL parser, B-tree storage, a pager for disk I/O, and an execution engine. Built with Rust for safety and performance, its modular design allows the engine to function as a library. Notable advancements include comprehensive transaction support via Write-Ahead Logging (WAL), extensive multi-language SDKs (C, Python, Node.js, Go, WASM), and recent AI extensions for natural language querying.

Quick Start & Requirements

  • REPL: Execute cargo run (requires Rust stable toolchain).
  • Desktop App: Prebuilt installers available for Linux, macOS (Apple Silicon), and Windows. For development, navigate to desktop/ and run npm install && npm run tauri dev.
  • Documentation: API documentation is available on docs.rs. In-depth technical details are located within the docs/ directory.

Highlighted Details

  • A detailed, phased roadmap (Phases 0-7) outlines systematic progression from core features to advanced capabilities like concurrency, multi-language SDKs, and AI integrations.
  • Broad language interoperability via C FFI, Python (DB-API 2.0), Node.js (N-API), Go (database/sql driver), and WebAssembly (WASM).
  • AI-powered natural language-to-SQL translation (sqlrite-ask) using the Anthropic API with prompt caching.
  • Phase 7 introduces VECTOR types, distance functions, and HNSW ANN indexing for similarity search.
  • Cross-platform desktop GUI built with Tauri 2.0 and Svelte 5.

Maintenance & Community

  • Actively maintained by @joaoh82, with a clear, phased roadmap guiding development.
  • Community chat channel implied.
  • Contact: joaoh82@gmail.com.

Licensing & Compatibility

  • License: The specific open-source license for this project is not explicitly stated in the provided README. This omission requires clarification before adoption.
  • Compatibility: Multi-language SDKs ensure broad integration. macOS desktop app currently lacks support for Intel Macs.

Limitations & Caveats

  • The project remains under active development; many common SQL features such as joins, aggregates, subqueries, and complex predicates are not yet implemented.
  • Desktop application installers are unsigned, necessitating user intervention to bypass security warnings during initial launch on macOS, Windows, and Linux.
  • The sqlrite-ask natural language query feature requires users to supply their own API key for the Anthropic LLM.
Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
94
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"), Elie Bursztein Elie Bursztein(Cybersecurity Lead at Google DeepMind), and
12 more.

minds-platform by mindsdb

0.1%
39k
AI query engine for federated data sources
Created 7 years ago
Updated 2 days ago
Feedback? Help us improve.