Storage Backends.
Pluggable storage backends — choose the right database for each workload, from single-node SQLite to high-volume MongoDB.
Available Backends
SQLite
Default storage backend. File-based, zero configuration, perfect for single-instance deployments and development environments.
Best for: Single-instance, development, testing
PostgreSQL
Production-grade relational storage. Supports multi-instance deployments, connection pooling, and transactional consistency across all gateway nodes.
Best for: Production, multi-instance, HA deployments
MongoDB
Document-oriented storage ideal for high-volume write workloads. Schema-less design accommodates evolving audit log structures.
Best for: High-volume logging, audit trails
Feature-to-Storage Mapping
Different features have different storage requirements. Aurora allows you to configure which backend each feature uses, optimising for throughput, consistency, and cost:
| Feature | Recommended Backend | Rationale |
|---|---|---|
| Audit Logs | MongoDB | High-volume append-heavy writes; schema flexibility for evolving log shapes |
| Usage Analytics | PostgreSQL | Structured time-series data; complex aggregation queries for dashboards |
| Budgets & Quotas | SQLite | Low-frequency reads/writes; strong consistency for dollar-amount accuracy |
| Cache Metadata | Redis (in-memory) | Sub-millisecond lookups required for L1/L2 cache operations |
| User & Role Data | PostgreSQL | Relational data with strict consistency; foreign key integrity |
| Workflow Definitions | PostgreSQL | Structured documents with versioning; transactional updates |
Configuration Guide
Storage backends are configured via environment variables. Each feature has a dedicated configuration key that specifies the DSN or connection string:
# SQLite (default)
AURORA_DB_DRIVER=sqlite
AURORA_DB_DSN=file:data/aurora.db
# PostgreSQL
AURORA_DB_DRIVER=postgres
AURORA_DB_DSN=postgres://user:pass@host:5432/aurora?sslmode=require
AURORA_DB_POOL_MAX=25
# MongoDB (audit logs)
AURORA_AUDIT_DB_DRIVER=mongodb
AURORA_AUDIT_DB_DSN=mongodb://user:pass@host:27017/aurora_audit
# Per-feature overrides (optional)
AURORA_STORAGE_BUDGET_DRIVER=sqlite
AURORA_STORAGE_USAGE_DRIVER=postgres
AURORA_STORAGE_AUDIT_DRIVER=mongodb