Trying to compromise the complexity of a database schema for read purposes while retaining any of the benefits of its relational nature often results in all of the pain and none of the gain.
One excellent way to speed up reads while allowing for complex writes is to maintain two datastores. One for reads and one for writes. This is what CQRS addresses and what I will be exploring in this talk. I will be covering how to keep datastores in sync, how the domain can facilitates that, and new datastores, such as EventStore, that become available when you embrace this way of thinking.
DDD/CQRS/ES in a nutshell.