Ну вот например так:
Два потока данных - один административный, другой с сообщениями.
Административный всегда формирует конкретное состояние, которое может быть получено в виде слепка.
Поток сообщений может разматываться не вперёд, а назад - от сегодня к прошлому, тогда можно не загружать данные двухлетней давности, которые всё равно никто читать не будет.