Skip to content

Sensible-Analytics/SensibleDB

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

SensibleDB Logo

Embedded Graph-Vector Database for AI Applications

Documentation · Issues · Contact


SensibleDB, by Sensible Analytics, is a unified database that makes it easy to build all the components needed for an AI application in a single platform.

You no longer need a separate application DB, vector DB, graph DB, or application layers to manage multiple storage locations. SensibleDB combines graph, vector, and embedded storage into one lightweight engine — like SQLite for knowledge graphs.

SensibleDB Explorer

A beautiful, interactive UI for exploring your graph data visually.

SensibleDB Explorer - Home View

SensibleDB Explorer - Graph View

SensibleDB Explorer - Chat Interface

SensibleDB Explorer - Report View


Key Features

Built-in MCP tools SensibleDB has built-in MCP support to allow your agents to discover data and walk the graph rather than generating human readable queries.
Built-in Embeddings No need to embed your data before sending it to SensibleDB, just use the Embed function to vectorize text.
Tooling for RAG SensibleDB has a built-in vector search, keyword search, and graph traversals that can be used to power any type of RAG applications.
Secure by Default SensibleDB is private by default. You can only access your data through your compiled SensibleQL queries.
Ultra-Low Latency SensibleDB is built in Rust and uses LMDB as its storage engine to provide extremely low latencies.
Type-Safe Queries SensibleQL is 100% type-safe, which lets you develop and deploy with the confidence that your queries will execute in production
Embedded Mode Use SensibleDB as a lightweight embedded database in your Rust applications with zero external dependencies.
Visual Explorer Interactive graph visualization, natural language chat, and automated report generation via the SensibleDB Explorer UI.

Embedded Mode

SensibleDB can be used as an embedded database in Rust applications. Enable with the embedded feature:

[dependencies]
sensibledb-db = { version = "1.3", features = ["embedded"] }

Quick Start (Embedded)

use sensibledb_db::embedded::{Database, Node};

let db = Database::open("./my_db")?;
let mut tx = db.write_transaction()?;

tx.put_node(Node {
    id: 1,
    label: "User".into(),
})?;

tx.commit()?;

Embedded Features

  • Storage: In-memory storage with optional persistence
  • Graph: Node/edge CRUD with transactions
  • Vector: Cosine similarity search
  • Traversal: BFS/DFS graph traversal
  • Indices: Secondary indices for fast lookups

Getting Started

SensibleDB CLI

Start by installing the SensibleDB CLI tool to deploy SensibleDB locally.

  1. Install CLI

    curl -sSL "https://install.sensibledb-db.com" | bash
  2. Initialize a project

    mkdir <path-to-project> && cd <path-to-project>
    sensibledb init
  3. Write queries

    Open your newly created .hx files and start writing your schema and queries. Head over to our docs for more information about writing queries.

    N::User {
       INDEX name: String,
       age: U32
    }
    
    QUERY getUser(user_name: String) =>
       user <- N<User>({name: user_name})
       RETURN user
  4. (Optional) Check your queries compile

    sensibledb check
  5. Deploy your queries to their API endpoints

    sensibledb push dev
  6. Start calling them using our TypeScript SDK or Python SDK. For example:

    import SensibleDB from "sensible-ts";
    
    // Create a new SensibleDB client
    // The default port is 6969
    const client = new SensibleDB();
    
    // Query the database
    await client.query("addUser", {
      name: "John",
      age: 20,
    });
    
    // Get the created user
    const user = await client.query("getUser", {
      user_name: "John",
    });
    
    console.log(user);

Project Structure

SensibleDB/
├── sensibledb-db/          # Core database engine (Rust)
├── sensibledb-cli/         # Command-line interface
├── sensibledb-explorer/    # Visual graph explorer UI (Tauri + SolidJS)
├── sensibledb-container/   # Docker container deployment
├── sensibledb-macros/      # Procedural macros for SensibleQL
├── metrics/                # Telemetry and metrics
├── sensibleql-tests/              # Query language test suite
├── e2e/                    # Playwright E2E tests (65 tests)
└── docs/                   # Documentation source

Documentation

Full documentation is available at https://sensible-analytics.github.io/SensibleDB/

License

SensibleDB is licensed under the AGPL (Affero General Public License).

Commercial Support

SensibleDB is available as a managed service for selected users. If you're interested in using SensibleDB's managed service or want enterprise support, contact us for more information and deployment options.


Sensible Analytics
Sensible Analytics — Making AI applications simpler with unified data storage.

Contributors

rprabhat

About

Embedded Graph-Vector Database - Graph + Vector + Embedded, like SQLite for knowledge graphs

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

 
 
 

Contributors