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.
