Knowledge graph (Neo4j or ArangoDB)
The knowledge graph is how PipesHub stores that a Slack thread, a Drive file, and a person belong together. Permission checks and citations follow those links. You choose one graph database with theDATA_STORE environment variable. Application services talk to a graph abstraction, so the product behaves the same on either backend.
- Neo4j is the default (
DATA_STORE=neo4j). The default install,backend/env.template, and the Helm chart all use Neo4j. - ArangoDB is the other option (
DATA_STORE=arangodb). If an existing install already has an ArangoDB data volume, the installer keeps 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. A default install uses Qdrant. The application also supports OpenSearch and Redis (VECTOR_DB_TYPE=opensearch or VECTOR_DB_TYPE=redis). Those values apply only when the app container receives VECTOR_DB_TYPE. The default Docker Compose file does not pass that variable, so Qdrant stays in use unless you add it to the service environment.
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.How services hand work to each other
Connectors publish records, and Indexing consumes them. That path is the event bus in the architecture diagram.- On a local machine, the event bus is Redis Streams (
MESSAGE_BROKER=redis). Kafka is not started. - In a larger deployment, the event bus is Apache Kafka (
MESSAGE_BROKER=kafka).
Cache, configuration, and Redis
Redis always runs. It can do three jobs, depending on how you deploy:- Cache — frequently used data and locks.
- Encrypted configuration — the default key-value store for settings (
KV_STORE_TYPE=redis). - Event bus — Redis Streams, when
MESSAGE_BROKER=redis.
Optional: etcd
etcd is the other place to keep encrypted configuration. A default install uses Redis for this. To use etcd, setKV_STORE_TYPE=etcd and enable the Compose profile kv-etcd.