MATIH Platform is in active MVP development. Documentation reflects current implementation status.
2. Architecture
Data Stores
Overview

Data Stores Overview

The MATIH Platform uses nine distinct data store technologies, each selected for specific performance characteristics, query patterns, and workload requirements. This section documents the architecture of each data store, its role in the platform, multi-tenancy strategy, and operational configuration.


Data Store Inventory

TechnologyCategoryPrimary PurposeServices Using It
PostgreSQL 16RelationalTransactional data, metadata, tenant schemasAll 24 services
Redis 7Key-valueCaching, sessions, pub/sub, rate limiting16 services
Kafka (Strimzi)Event streamingAsynchronous messaging, event sourcing10 services
TrinoQuery federationDistributed SQL across multiple sources3 services
Vector StoresVector DBRAG embeddings, semantic searchAI Service
Graph StoresGraph DBKnowledge graphs, data lineageContext graph services
Object StorageObject storeML artifacts, exports, file storageML, Pipeline, Render
OLAP EnginesColumnarFast analytical queriesQuery Engine, BI Service

Selection Criteria

Each data store was selected based on these criteria:

CriterionRequirement
Workload fitMatches the access pattern (OLTP, OLAP, search, streaming)
Kubernetes-nativeDeploys on Kubernetes via Helm chart or Operator
Multi-tenancySupports tenant isolation at some level
Operational maturityProven in production, active community
Cost efficiencyEfficient resource utilization for the workload

Multi-Tenancy Strategy per Store

Data StoreIsolation Strategy
PostgreSQLSchema-per-tenant via Hibernate multi-tenancy
RedisTenant-prefixed key namespacing
KafkaTenant ID as partition key, tenant-prefixed topics
TrinoPer-tenant catalog configuration
QdrantTenant ID in metadata filter
Neo4j / DgraphTenant-scoped subgraphs
MinIOPer-tenant bucket or prefix
ClickHouseTenant ID column in all tables

Deployment Architecture

All data stores are deployed on Kubernetes:

Data StoreDeployment MethodNamespace
PostgreSQLHelm chart (StatefulSet)matih-system
RedisHelm chart (StatefulSet)matih-system
KafkaStrimzi Operatormatih-system
ElasticsearchHelm chart (StatefulSet)matih-system
TrinoHelm chartmatih-data-plane
ClickHouseOperator or StatefulSetmatih-data-plane
QdrantHelm chartmatih-data-plane
Neo4jHelm chartmatih-data-plane
MinIOHelm chart (StatefulSet)matih-system

Related Sections