Например так:
1. Приемщик сообщений складывает сырые данные в какую-то таблицу.
2. Агрегатор вычитывает пачками сырые данные, агрегирует их и складывает подготовленные для отчетов данные в другие таблицы. Сырые данные помечает как обработанные.
3. Архиватор мониторит таблицу сырых данных и переносит старые обработанные данные в архивные таблицы. После работы архиватора таблица оптимизируется.