Storing only the current state of the data in a business system poses some constraints – you may not be able to extract from your data just the information you need. Even though just that information is there, hidden in the folds of your past actions. Event sourcing is an alternative storage paradigm that saves information at a lower level of abstraction letting software to extract multiple views at different times. Overall, it’s an approach close to what we do as humans. As humans, we don’t remember static memories that remain unchanged over time. Quite the reverse, every time an indexed fact is recalled, a corresponding memory is rebuilt on the fly replaying the “events” that have brought to it. And any additional view of the basic we happen to build is called "perspectives". Event sourcing has a tremendous potential when it comes to data availability and quality but it also poses nontrivial challenges. If not used, it can result in some technical debt. If misused, it simply represents a lifetime cost. If well understood (before it is applied), however, it’s very open-minded. In this talk, we explore the principles and implementation strategies and tools.