Well, you don't "pull" of course which makes things easier.
For myself, I like to have the best of everything and I'll tend to give myself more data than I know I'll need.
So with my sensors for example, I'll take the raw data and push that out and then use other flows to monitor the raw data and transform it to more useful formats. Typically I'll have sensor data in at least 3 places in MQTT. The raw input (as close to it as MQTT allows anyway) by original device id, a consolidated and standardised intermediate format that is ordered still by device but using a more friendly device ID and having a common data schema rather than the device/vendor chosen schema. And a final simplified format that is ordered by room and sensor reading, e.g. environment/Living_Room/temperature.
For the data variables in Node-RED, I won't bother storing anything except the intermediate standardised schema.
I avoid the problem by dumping everything to InfluxDB and having all historic data in Grafana dashboards!
As I'm the only person who looks at them, it doesn't matter. But InfluxDB adds so much in terms of analysing timeline data and Grafana makes it so easy to consume and display that data.
Other UI's are built mainly around what is happening now/next/last and around controlling. Grafana not so useful for that.
Grafana has its pros and cons. It really sucks as showing anything that is not very simply time-delimited, i.e. from that moment to this other moment. Say you have some processes, like a baking of something, or a workout, or some other process and you now want to overlay the last 5 process instances in a chart to be able to compare "what was different today?"... no fun in Grafana...