In deciding what to store think about how we would fix a bug.
The key thing is to be clear about what you are storing, and probably most of the time you want to store both.
To make this work, either you need to move things at the Unix filesystem level or people have to change their IMAP clients to take out the IMAP path prefix.
To make this perhaps a little bit clearer, here is a table of the various pieces and the resulting Unix path that gets formed once all the bits have been put together.
In this talk, he covers specific examples that illustrate the patterns, grounding them in specific applications.
CRM -For example: address changed Scenario: CRM system stores information about people.
Of course, this introduces data replication and eventual consistency (which can be good for some use cases); however, this is a less common pattern since this lack of consistency can actually make the system more complex.