UserPreferences

ApplicationNotes/CyrusImapNotes/BackendDatabases


1. Cyrus IMAP: Backend Database Recommendations

Table built from recommendations by Rob Siemborski; posted current for Cyrus 2.1. These are supposedly the defaults in Cyrus 2.2. Taken from this posting http://asg.web.cmu.edu/archive/message.php?mailbox=archive.cyrus-sasl&msg=2311.

Datastore Recommended Explanation
deliver.db db3_nosync The worst part about losing this is that someone might get a vacation message twice. It also needs fast lookups.
mailboxes.db skiplist You need fast list operations and good consistency in the event of a crash. Also, since the mailboxes database is a frequent source of lock contention, the speed of skiplist writes reduces the amount of time any process is waiting to use the file.
seen.db skiplist Writes happen very frequently to this file so the logging nature of skiplist can give good performance (it also helps to have good consistency here)
subs.db flat You need fast list performance, and write operations don't happen often to this database, and it might be useful to be able to modify it by hand. Also, flat files tend to be smaller than skiplist copies of the same data.
tls_sessions.db db3_nosync For the similar reasons to the deliver database (you need fast lookups and if the db bites the dust, it's not a big deal).

You can ascertain the databases your system was built with by logging in with cyradm and running version.

WilCooley