Citadel Server's Pluggable Storage Architecture

A frequent question from system administrators and developers is how Citadel stores its data, and whether external relational databases (such as MariaDB, MySQL, or PostgreSQL) can be used. Citadel takes a deliberate, high-performance approach to data storage.

Citadel Server is built around a powerful, modular pluggable data store architecture. Rather than introducing the overhead, network latency, and complex administrative maintenance of an external SQL server, Citadel uses embedded, high-throughput NoSQL engines that live directly within the server process. This design delivers blistering performance, instant zero-configuration deployment, and rock-solid data integrity.

Supported Storage Backends

Citadel's clean storage abstraction layer currently supports two robust backends:

Accessing Messages and Data Programmatically

Because Citadel is designed with a clean domain model, applications and scripts do not need to construct raw SQL queries against internal tables. Instead, Citadel exposes rich, standardized interfaces and protocols:

Backing Up Your Data

The recommended best practice for backing up a Citadel server is taking filesystem snapshots: