Architecting modern applications is a tough job, and architecting a solid data model for modern applications is one of the toughest, yet most important, parts of a modern application architecture.