Мы используем оба метода на моей работе, но немного отличаемся, мы храним все данные о продажах в первичной таблице в течение 30 дней, а затем ночью (часть ночных заданий) дни продаж объединяются в сводки (кол-во x продукт продан сегодня и т. д.) в отдельной таблице по причинам отчетности, а продажи за 30 дней архивируются в другую базу данных, затем один раз в год (мы проводим налоговые годы) запускается новая архивная база данных. не совсем идеально, но ..
таким образом мы быстро получаем сводные данные, сохраняем все текущие данные о продажах и располагаем неограниченным пространством для подробных архивных данных. мы пытались хранить все это в одной базе данных (в разных таблицах), но размер файла базы данных (interbase) становился настолько большим, что это приводило бы к падению системы.
единственная реальная проблема, с которой мы сталкиваемся, - это доступ к подробным данным, которые охватывают несколько баз данных, поскольку подключение и отключение происходит медленно, и анализ должен выполняться в коде, а не в sql