Depende do tamanho da sua aplicação.
precisamos de metas em tempo real
Defina o que você considera como tempo real, precisa ser especificamente o estado atual da aplicação ou pode ter uns 15 minutos de atraso?
Se puder ter atraso uma boa cache, view materializada pode te ajudar
1. Sua aplicação é pequena? (nenhuma tabela tem mais de 10 milhões de linhas)
Faça consultas direto no banco, crie index, otimize as querys, sirva o resultado cacheado.
1. Sua aplicação é grande?
Considere ter um banco replicado apenas para consultas e relatórios