Ну, это не простая задача, и сейчас нет готового решения.
Я думаю, есть разные подходы:
- Как вы и Герман уже обсуждали: вы можете использовать DRS для репликации всего во вторую базу данных db4o. А затем позже удалите оригинал из базы данных master. DRS не реплицирует удаления по умолчанию, так что должно работать.
- Может быть, вы могли бы сериализовать старые данные в другое хранилище данных. Затем вы добавляете специальный тип, который обрабатывается специальным typetranslator . Этот тип представляет собой «шлюз» для сериализованных архивных данных. Когда вы загружаете этот тип, транслятор загружает сериализованные данные из альтернативного хранилища данных.
Все эти решения страдают некоторыми трудностями. Они вводят границы, которые вы должны пересечь. Это делает решение намного сложнее = (
Намного лучше было бы, если бы снижение производительности можно было поддерживать в приемлемом диапазоне. Тогда вам не нужно делать все это. Или рассмотрите базу данных, которая может легко обрабатывать такой объем данных.