The MIO architecture makes it easy to choose from any number of data storage options. Each event node in the system has a storage item that contains meta information to define parameters that can read by a storage agent. If you would like a particular storage agent to log data on a particular event node, you simply need to provide publish or ownership access to the JID of one or more storage agent.

Data storage agents periodically check to see what nodes are in their affiliations list and then subscribe to those data feeds. Publish access is required because the data storage agent will then in turn populate DB specific information into the storage item in your event node. This information allows you to confirm that logging is happening and can provide additional information like DB ip addresses and access credentials that are locked behind the XMPP event node's access control model.

In the case of the Respawn database, a typical storage item contains the following meta information:

<item id="storage">
        <address link=""/>

Any event node could be configured to connect with any number of other data storage agents. Since each database has different properties, access to historical data is often unique to each type of agent.

Here are some currently supported data storage options: