
Было решено сделать так. Вначале на tps. Выделены крупные таблицы. Их было 2 - товарные движения и лог. Для них созданы вторые таблицы с такой же структурой, названные архивными. Периодически данные можно переливать из оперативной в архивную, а программа работает с ними как с одной общей. В этом случае вся структура объявлена в словаре и прозрачна для шаблонов (чего нет при использовании фрагментации на файлы с переменными именами). На модификации держим относительно небольшую таблицу, а по мере накопления раз в год или несколько лет переносим в архив, который только на чтение. Это существенно расширяет время хранения информации и надежность работы в целом.
Далее, структура данных и бизнес-логика были организованы так, что можно штатно удалять данные за прошедшие периоды. Это тоже важная функция, так как пользователи редко хотят, чтобы в базе накапливались данные за большой промежуток времени. По разным причинам. Обычно от 2 до 5 лет.
Лог постепенно стал безразмерным. Это особая таблица, которую можно дефрагментировать на неограниченное количество файлов и работать с ними как с одним через специальный класс. С рабочими таблицами так делать не хочется.
Для "интерпрайз" клиентов предполагалось использовать первасив, который практически полностью совместим по прикладному коду с tps. Это была одна из причин, почему я использую только базовые типы данных и практически не использую memo (blob совсем не использую).
Для сборки версии под первасив была сделана опция словаря. Делается полная копия проекта для сборки под первасив, затем по мере изменений в нее копируются модифицированные app и dct. Если обновили dct, то в нем просто ставим флажок сборки под первасив. Описание таблиц не трогаем. Два небольших шаблона используются для автоматической конвертации всех таблиц в словаре из tps в первасив и обратно. В общем, все собиралось и работало практически в автоматическом режиме. Плотно я тогда сборку под первасив не тестировал, так как реальных клиентов не было. А сейчас вот начал один расти как на дрожжах, и надо какой-то вариант заранее предусмотреть...