Skip to main content
This page describes the databases and brokers along the bottom of the system overview diagram. Novaplan manages their deployment. Use this page to understand each service’s role and the technologies supported by the reference architecture. The sections follow the same order as the diagram: search data, application data, then how services pass work to each other and where configuration is stored.

Knowledge graph (Neo4j or ArangoDB)

The knowledge graph is how Novaplan AI stores that a Slack thread, a Drive file, and a person belong together. Permission checks and citations follow those links. The managed environment uses a graph database selected by Novaplan. Application services access it through a graph abstraction.
  • Neo4j is the reference configuration (DATA_STORE=neo4j).
  • ArangoDB is another supported backend (DATA_STORE=arangodb).

Vector search (Qdrant)

After Indexing parses a document, an embedding model turns each chunk of text into a vector. Qdrant stores those vectors and finds similar text when Query answers a question. The reference configuration uses Qdrant. The application also supports OpenSearch and Redis as vector backends. Novaplan determines which backend is configured for your workspace.

Application data (MongoDB)

MongoDB stores application data that is not part of the knowledge graph: sessions, file metadata, and similar state.

Files

The contents of files are not stored in MongoDB. They live on local disk, S3, or Azure Blob through the storage module in the API. Novaplan configures that module for the managed workspace.

How services hand work to each other

Connectors publish records, and Indexing consumes them. That path is the event bus in the architecture diagram.
  • Redis Streams is one event-bus option.
  • Apache Kafka is another option for larger environments.
The Python services stay the same. Only the transport between them changes.

Cache, configuration, and Redis

Redis can do three jobs, depending on the managed configuration:
  1. Cache — frequently used data and locks.
  2. Encrypted configuration — a key-value store for settings.
  3. Event bus — Redis Streams, where selected.
Where Kafka carries connector events, Redis may continue to provide caching and configuration.

Optional: etcd

etcd is an alternative store for encrypted configuration. Novaplan manages that selection.