Skip to main content
Cognee is designed for flexible deployment across development and production environments, with configurable data storage backends that scale with your needs.

Data Storage Architecture

Cognee operates on a three-tier data storage model, each optimized for specific data types and query patterns:

Graph Database

Relationships & EntitiesStores knowledge graph structure, entity relationships, and semantic connections.

Vector Database

Embeddings & SearchHandles semantic embeddings for similarity search and content retrieval.

Relational Database

Metadata & StateManages datasets, user permissions, pipeline state, and operational data.
Each storage layer can be deployed as managed services, self-hosted servers, or file-based systems (like S3 buckets), giving you complete flexibility over your infrastructure.

Deployment Options

Choose the deployment strategy that matches your requirements:
Local & Testing
  • Docker: Containerized local deployment with embedded databases
  • MCP: Direct integration with code editors and IDEs
  • File-based: SQLite, local files, and embedded vector stores

Storage Configuration Examples

Local Development

Embedded & File-based
Multi-Agent Limitation: Default Kuzu graph store uses file-based locking and is not suitable for concurrent access from multiple agents. Use Neo4j or FalkorDB for multi-agent deployments.
Managed Services
S3 + Managed Databases
Cognee stores all persistent data under SYSTEM_ROOT_DIRECTORY (default: .cognee_system). There is no dedicated export API; migration works by either copying the database files or switching to shared external databases.
Stop Cognee on the source instance, copy the databases/ folder to the destination, then set SYSTEM_ROOT_DIRECTORY to the new path:
File paths inside databases/:
  • cognee_graph_kuzu — Kuzu graph database
  • cognee.lancedb — LanceDB vector store
  • cognee_db — SQLite relational database
On the new instance, configure:
See Graph Stores and Vector Stores for all supported external providers.

Quick Start Guide

1

Choose Deployment

Select your deployment method based on scale and requirements
2

Configure Storage

Set up your preferred combination of graph, vector, and relational databases
3

Deploy & Test

Launch Cognee and verify connectivity to all storage backends
4

Scale

Adjust storage and compute resources based on usage patterns

Deployment Methods

Docker Deployment

Local & ServerStart Cognee with optional databases using compose profiles.

Modal Deployment

Serverless & Auto-scalingPerfect for variable workloads with automatic resource management.

Islo Sandbox

Ephemeral & ShareableLaunch a temporary public Cognee API for demos and short-lived evaluation.

Kubernetes (Helm)

Enterprise & ProductionContainer orchestration with full control and high availability.

EC2 Deployment

Traditional CloudStandard server deployment with custom configurations.

Self-hosted vs Cognee Cloud

Cognee can run fully self-hosted without Cognee Cloud. The open-source package works as an embedded Python SDK, a Docker/Compose service, or a server deployment on Modal, Kubernetes, or a VM. The same core memory operations are available in both paths. cognee.serve() can point the local SDK at Cognee Cloud or at your own self-hosted API backend; it does not copy local datasets by itself. To move an already-built local graph, use cognee.push(). Self-hosted data is organized by datasets, not Cloud projects. Without Cognee Cloud, datasets live in the storage backends you configure, such as local Kuzu/LanceDB/SQLite files, a Modal persistent volume, or external Postgres, Neo4j, Qdrant, and related services.

Architecture Benefits

Flexible Data Tiers: Each storage layer can be independently scaled, managed, or migrated without affecting others.
Cost Optimization: Use file-based storage (S3) for archival data and managed services for active workloads.
Security: Ensure proper network security and access controls across all storage tiers in production deployments.

Need Help?

Join Our Community

Get deployment support, share configurations, and connect with other Cognee users.