Вы определитесь с объемом горячих данных, наверняка он поместится в оперативку, и pоstgresql будет спокойно эти данные оттуда выбирать, не глупая же субд.
И предусмотрите шардинг сразу. Заложите изначально масштабирование.
Горячие данные и архив по-любому надо хранить в разных таблицах.
В таблицах, нацеленных только на запись, и редкое чтение, вероятно есть смысл совсем не использовать индексы, чтобы они не обновлялись при добавлении новых записей.
А потом проверите всё под нагрузкой, посмотрите цифры и решите нужен вам редис или нет. Postgres же умеет в оперативке данные кешировать, поэтому надо тестировать конкретно ваш прототип.