you gain a lot of flexibility by separating the form in which data is written from the form it is read, and by allowing several different read views. This idea is sometimes known as command query responsibility segregation (CQRS)
I have a name for my idea of creating an architecture that can take advantage of an event source log in aws.