3.1 Retain Architecture

Retain can run on

  • Stand-alone server hardware


  • A Virtual Machine hosted on a Windows or SuSE Linux supported hypervisor.

    This is the best-practice recommendation for backup purposes and flexibility.

Retain must have these four components:

  • Server

  • Worker

  • Indexer

  • Database

3.1.1 Server

This is where the archive system is configured and maintained. It coordinates and directs the storing, indexing, searching, and reading of archived items.

3.1.2 Worker

Workers interface with the messaging host/mail servers that contain the messages you are archiving. Workers retrieve the messages and hand them to the Retain Server.

IMPORTANT:A worker can handle only one job at a time. You can queue up more than one job for a worker, but make sure the worker can complete all of its jobs in less than 24 hours.

3.1.3 Indexer

This indexes each word (and some phrases) in all archived messages and attachments.

When someone searches in Retain, the indexer returns the list of hits by retrieving metadata from the database. (Some have incorrectly assumed that the database returns the list of hits.)

Retain’s most memory-intensive process is indexing, not running the database.

Keep this in mind when dividing memory between Tomcat/the indexer and the database.

3.1.4 Database

This stores most of the Retain configuration and all the message metadata (subject, sender, recipients, links to attachments, indexed state of messages, folder-context of the message, and so on).

Everything displayed in a Retain mailbox is metadata that is retrieved through the index from the database, not from the message archive.