1

Обработка данных только в базе данных обрабатывается приложением, остальное необходимо для целей отчетности, но это приводит к плохой производительности приложения. Я хотел бы архивировать исторические данные без изменения схемы базы данных.Реплицированная база данных для хранения исторических данных

Есть ли возможность реплицировать базу данных, удалять старые данные из первичного экземпляра и регулярно синхронизировать новые изменения в реплицированную базу данных? Таким образом, первичная «транзакционная» база данных будет легкой, а реплицированная база данных будет содержать полный набор как текущих, так и исторических данных для целей отчетности.

Не могли бы вы порекомендовать некоторые инструменты или дать несколько советов по достижению этого в Oracle?

редактировать: Я интересно, если я мог бы использовать потоки и каким-то образом сделать обработчик DML игнорировать УДАЛИТЬ операции над строками (docs.oracle.com/cd/B28359_01/server.111/b28321/...), так что при данных исторические строки репликации будут сохранены, несмотря на то, что они удалены из транзакционного db.

+1

Вы имеете в виду [хранилище данных] (https://docs.oracle.com/cd/E11882_01/server.112/e25554/concept.htm#DWHSG8063)? –

+0

Вы хотите архивировать данные? у вас есть 100 миллионов строк в таблице, и вы хотите переместить половину из них (зависеть от условий) к другой таблице и удалить их из первичной базы данных? если да, я не думаю, что с репликацией вы можете это сделать. Я использую процедуру, которая выполняет работу по архивированию данных, что сильно влияет на производительность. – Moudiz

+0

К сожалению, у меня нет возможности модифицировать схему ни для текущих, ни для исторических данных. Функции отчетности и транзакции реализованы на основе существующей схемы. Я стремлюсь к импровизированному решению, не мешая текущей реализации. – kar8o

ответ

0

Вам не нужно создавать две отдельные базы данных. Просто создайте одну транзакционную базу данных, в которой вы сохраните все свои транзакции, а затем создадите представления на основе этих таблиц, чтобы показать требуемые данные. Таким образом, вам просто нужно поддерживать только одну базу данных.

Смежные вопросы