Overview
FlowX.AI uses multiple specialized data stores, each chosen for specific workload characteristics. They fall into two categories:- Embedded data components — shipped with the platform, managed by FlowX.AI
- Platform data services — third-party dependencies deployed by your team
Embedded data components
Embedded data components are delivered as part of the FlowX.AI platform (Docker images + Helm charts). They run on Kubernetes only, and their versioning is managed by FlowX.AI. These components are included in the standard deployment and cannot be replaced by alternative implementations.
Dgraph
Type: Distributed graph databaseDgraph is used by AI Platform services where relationship-centric data models and graph traversal are required. It stores AI agent state, knowledge graphs, and supports multi-agent collaboration.
Platform data services
The following data services are required by the FlowX.AI platform but are third-party dependencies. You choose the deployment model — managed service or self-hosted, inside or outside the Kubernetes cluster — according to your enterprise standards. FlowX.AI connects to these services via configuration.For supported versions and compatibility details, see the Third-party components compatibility matrix.
Relational storage — PostgreSQL
PostgreSQL is the primary relational database and system-of-record for most core services. It stores:- Process definitions and metadata
- Runtime instance state
- Platform configuration
- Administrative data
Document storage — MongoDB
MongoDB provides document-oriented storage for unstructured and semi-structured content. It stores:- Runtime configuration
- Runtime workflow state
- Flexible data structures used by apps and integrations
Caching — Redis
Redis is an in-memory cache used for performance optimization across the platform. It stores:- Cached process definitions
- Compiled scripts
- Transient session data
- Distributed locks across microservices
Redis is used strictly for short-lived, performance-related data and is not a system-of-record. Long-term persistence is handled by PostgreSQL and MongoDB.
Event streaming — Kafka
Kafka is the event streaming backbone that enables asynchronous, event-driven communication between microservices. It handles:- Internal event propagation between platform services
- External integration messaging
- Decoupled processing workflows
Kafka is used for transient message propagation. Authoritative business data is persisted in PostgreSQL and MongoDB, not in Kafka.
Object storage — S3-compatible
S3-compatible object storage provides persistent file storage. It stores:- File attachments
- Document outputs (generated PDFs, converted files)
- Large binary assets
Search and indexing — Elasticsearch
Elasticsearch is used primarily for audit logging and full-text search across workflow and runtime data. It stores:- Searchable representations of audit events
- Platform activity logs
- Indexed workflow data for fast retrieval
Quick reference
| Data Store | Role | What it stores | Persistence |
|---|---|---|---|
| PostgreSQL | System of record | Process definitions, config, metadata, instance state | Permanent |
| MongoDB | Document store | Runtime state, flexible data, FlowX Database | Permanent |
| Redis | Cache | Process definitions cache, sessions, locks | Transient |
| Kafka | Event streaming | Inter-service messages, integration events | Transient |
| Object Storage | File store | Attachments, documents, binary assets | Permanent |
| Elasticsearch | Search engine | Audit logs, indexed workflow data | Permanent |
| Dgraph | Graph database (AI) | AI agent state, knowledge graphs | Permanent |
Service-level database mapping
The tables and diagrams below show which FlowX.AI services connect to which databases and what operations they perform. This is useful for infrastructure sizing, backup planning, and troubleshooting.PostgreSQL databases
Each core service owns its own PostgreSQL database and manages its schema through Liquibase migrations at startup.| Service | Database | Operations |
|---|---|---|
| Admin | flowxadmin | Creates, reads, writes |
| Advancing Controller | advancing | Creates, reads, writes |
| Application Manager | app_manager | Creates, reads, writes |
| Authorization System | auth_system | Creates, reads, writes |
| Document Plugin | document | Creates, reads, writes |
| Email Gateway | email_gateway | Creates, reads, writes |
| License | license | Creates, reads, writes |
| Organization Manager | org_manager | Creates, reads, writes |
| Process Engine | process_engine | Creates, reads, writes |
| Task Management | process_engine | Reads, writes |
Task Management shares the
process_engine database with Process Engine. Data Sync acts as a centralized migration coordinator for app_manager, auth_system, and process_engine.MongoDB databases
Each service manages its own MongoDB database. Theapp-runtime database is a shared read-only dependency for multiple services.
| Service | Database | Operations |
|---|---|---|
| Admin | data-model | Creates, reads, writes |
| Application Manager | app-runtime | Creates, reads, writes |
| CMS Core | cms-core | Creates, reads, writes |
| Document Plugin | document | Creates, reads, writes |
| Document Plugin | app-runtime | Reads |
| Integration Designer | integration-designer | Creates, reads, writes |
| Integration Designer | app-runtime | Reads |
| Notification Plugin | notification | Creates, reads, writes |
| Notification Plugin | app-runtime | Reads |
| Scheduler | notification | Creates, reads, writes |
| Task Management | task-management-plugin | Creates, reads, writes |
| Task Management | app-runtime | Reads |
| Process Engine | app-runtime | Reads |
| Email Gateway | app-runtime | Reads |
| NoSQL DB Runner | nosql-db-runner | Creates, reads, writes |
Elasticsearch indexes
| Service | Index | Operations |
|---|---|---|
| Audit Core | Audit index | Creates, reads, writes |
| Process Engine | Process instance index | Creates, reads, writes |
| Data Search | Process instance index | Reads |
Redis
All core services use Redis for caching only via Spring Cache Manager. Events Gateway additionally uses Redis for pub/sub messaging. Services using Redis for caching: Admin, Application Manager, Authorization System, CMS Core, Document Plugin, Email Gateway, Integration Designer, License, Notification Plugin, Organization Manager, Process Engine, Task Management.| Service | Usage |
|---|---|
| Events Gateway | Cache, pub/sub |
S3-compatible object storage buckets
Bucket names shown are defaults from the configuration and are configurable via environment variables (e.g.,
MINIO_BUCKET_PREFIX). Your deployment may use different names. In some deployments, multiple services may share the same bucket. Ensure cross-bucket read access is configured where needed.| Service | Default Bucket | Env Variable | Purpose |
|---|---|---|---|
| Application Manager | applications-bucket | — | App builds and exported/imported resources |
| CMS Core | media-library-bucket | — | Public media assets |
| CMS Core | cms-private-storage-bucket | — | Private theme and font files |
| Document Plugin | flowx-dev-bucket | MINIO_BUCKET_PREFIX | Document templates and generated files |
| Document Plugin | temp-bucket | MINIO_TEMP_BUCKET | Temporary processing files |
| Integration Designer | workflows-bucket | — | Workflow definitions and test files |
| Notification Plugin | flowx-dev | MINIO_BUCKET_PREFIX | Notification templates and attachments |

