Duplicating user information per post/message?

I’m designing some schemas to support basic social media functionality. I have a collection of users, which contain some fundamental fields such as “name” and “username”.

There is also a messages and a posts collection. Both contain references to the users collection in the form of an “id” field. My question is, should I duplicate the “username” and “name” fields of the users collection in each document of messages and posts? My reasoning behind this is that these collections are read very often, but the “username” and “name” fields only change rarely. Is it worth the immediate performance benefit to eventually do a batch update if these fields do end up changing? If there are some additional resources I could read up on as to how I could accomplish this, it would be much appreciated.