Database Maintenance
Application is using two types of databases, both contain different data that should be backed up in different way.
PostgreSQL
SQL relational databases contain application configuration which includes:
- Flow diagrams
- NLU training sets
- Knowledge base
- Users, roles, organisations
- Active sessions state
- Transcripts, and analytics data
Storage requirements
At all times there must be at least 50% free disk space available.
This is crucial especially during schema changes.
Below you'll find estimation of minimal storage size depending on number of monthly conversations served.
Monthly conversations | Data retention | SQL Data Size | Minimum storage size |
|---|---|---|---|
S - <10k monthly conversations | 6 months | 5.5 GB | 11 GB |
M - < 50k monthly conversations | 6 months | 7.5 GB | 15 GB |
L - <300k monthly conversations | 6 months | 20 GB | 40 GB |
Configuration for data retention is described here
Backups
To configure backups you can use native solutions like pg_dump or use more advanced solution that supports backups and restores of PostgreSQL schemas
ElasticSearch
ElasticSearch document database contains following data:
- Transcripts
- Conversation metadata
Data retention
There is a built-in data retention mechanism in Bot Integration service. It is disabled by default and can be enabled by overriding the default config.
botService: dataRetention: enabled: false durationInDays: 365 # Max duration to keep data for, always extended to the start of a day statementsLimit: 30000 # Statements delete limit per run, can be ignored when there are more statements in 6h period
Backups
To configure backups please follow the official documentation on snapshots and restore
Updated 2 months ago
