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 over 2 years ago