Skip to main content
Version: 0.1.0

Welcome to RaisinDB

RaisinDB is a multi-model database that combines the flexibility of document storage with the power of Git-like versioning. Build content-rich applications with schema-driven development, graph relationships, and full revision history.

Why RaisinDB?

  • Git-like Version Control: Every change is tracked. Branch, merge, and time-travel through your data.
  • Schema-Driven Development: Define NodeTypes with strong typing, validation, and inheritance.
  • Multi-Model Queries: Use SQL, GRAPH_TABLE (SQL/PGQ), or REST API to query documents, graphs, and full-text search.
  • PostgreSQL Compatible: Connect with any PostgreSQL client using the pgwire protocol.
  • DCAD (Data-Centric Application Design): Let your schema drive the UI. Archetypes map data to UX patterns — change the archetype, transform the interface.
  • Authentication & RBAC: Pluggable auth strategies (Local, OIDC, API Key), workspace-scoped roles, and row-level security built in.

Get Started

Set up RaisinDB and create your first content model in 5 minutes.

Core Concepts

Understand nodes, NodeTypes, archetypes, and the data model.

AI & Agents

Use branching memory, vector search, and RAG patterns with AI agents.

Features at a Glance

FeatureDescription
Nodes & NodeTypesHierarchical content with schema definitions
BranchingGit-like branches for parallel development
SQL InterfacePostgreSQL-compatible queries with extensions
Graph QueriesSQL/PGQ (GRAPH_TABLE) for relationship traversal
Full-Text SearchTantivy-powered search with relevance ranking
Vector SearchSemantic similarity with embeddings
GeospatialPostGIS-compatible location queries
Serverless FunctionsJavaScript functions and triggers
RAP PackagesInstallable extensions and content packages
DCADData-centric application design with archetypes and element types
Authentication & RBACPluggable auth, workspace-scoped roles, row-level security

Connect Your Way

# PostgreSQL wire protocol (psql, any PostgreSQL client)
psql -h localhost -p 5432 -U admin -d myrepo

# HTTP REST API
curl http://localhost:8080/api/repository/myrepo/main/head/default/

# JavaScript Client
import { RaisinClient } from '@raisindb/client';
const client = new RaisinClient('ws://localhost:8080');

Documentation Structure

This documentation follows the Diataxis framework:

  • Tutorials - Learning-oriented guides to get you started
  • Concepts - Understanding how RaisinDB works
  • Guides - How-to guides for specific tasks
  • Reference - Technical reference for SQL, APIs, and CLI

Additional Resources


Ready to dive in? Start with the Quick Start Tutorial.