Архивирование данных в Sybase IQ из Sybase ASE - PullRequest
0 голосов
/ 21 июля 2011

Как лучше всего решить следующую проблему:

У меня есть база данных Sybase ASE, которая используется в качестве OLTP-сервера. Каждый день в базу данных вставляется много данных, и в результате «живые» таблицы содержат только данные за последние n дней (n может варьироваться от таблицы к таблице).

Я хотел бы представить сервер Sybase IQ в качестве сервера поддержки принятия решений, содержащего данные всех предыдущих дней для целей отчетности.

Мне нужна ночная работа, которая "синхронизирует" таблицы Sybase IQ с таблицами в ASE, т.е. вставляет все новые строки, обновляет все измененные строки, но НЕ удаляет ни одну из строк за пределами n дней, которые представляет живая таблица.

Все идеи приветствуются !!!

1 Ответ

0 голосов
/ 14 августа 2011

Вам необходимо разработать ETL (Extract Transform Load).

Существует множество коммерческих и бесплатных продуктов ETL.Но я думаю, что лучший способ в этом случае

  1. Создать RS ASE -> ASE репликацию (прямое ASE -> IQ будет иметь плохую производительность)

  2. Изменить строку функции удаления для разделения операций удаления

  3. Периодически обрезать таблицы IQ для вставки из второй базы данных ASE (обновление IQ очень плохое) через соединение с подключенным сервером

...