An ephemeral materialization would be the in-database hash table created as part of executing a join query, for instance.
Materialized views handle automated server-side denormalization, removing the need for client side handling of this denormalization and ensuring eventual consistency between the base and view data (#)
Location: 14,576 Derived state can be updated by observing changes in the underlying data. (#)
Materializations are ok, but if you have derived data that you give a new sequential identifier (like in Rails), then start using that identifier throughout your system, that's problematic.