Источник SAP HANA SDI ECC и дельта таблицы HANA

В нашей текущей системе у нас есть множество таблиц ECC, реплицированных в SAP HANA с помощью SDI (Smart Data Integration). Задачи репликации могут выполняться в реальном времени или по запросу, но иногда задача репликации выполняется слишком поздно, и данные в реплицируемой таблице сильно отличаются от исходной таблицы.

Каким будет лучший подход в SAP HANA для проверки этих значений дельты?

  • Система ERP использует базу данных DB2
  • DB2LogReaderAdapter используется для чтения таблиц базы данных DB2.
  • Удаленный источник создается в облаке (виртуальная таблица)
  • Всего около 260 задач репликации.
  • Задачи репликации содержат только один объект
  • Задачи репликации основаны на виртуальных таблицах
  • Самая большая проблема, с которой сейчас сталкиваются, - это задержка в таблицах удаленного источника (значения дельты)

person Matthijs Mennens    schedule 21.01.2020    source источник
comment
Как вы реализовали репликацию? Ответ зависит от используемой вами техники.   -  person Suncatcher    schedule 22.01.2020
comment
Сколько у вас задач репликации данных? У вас много исходных объектов в одной задаче (если да, большие ли они) или несколько задач (по одной на объект)? Какой адаптер вы используете (какая БД является источником)? Вы пробовали следить за своими задачами? Есть ошибки? Есть ли у вас несоответствия с задачами в реальном времени или с задачами по запросу? Слишком мало введено, требуется дополнительная информация о вашем ландшафте и / или вашей диаграмме потока.   -  person Suncatcher    schedule 22.01.2020
comment
Спасибо за ваш ответ. Достаточно ли этой информации?   -  person Matthijs Mennens    schedule 23.01.2020


Ответы (2)


Здесь нет простого способа "проверить" значения дельты. 260 задач репликации обрабатываются независимо друг от друга; независимо от составления транзакций в исходной системе.
Это означает, что если таблицы A и B обновляются в одной транзакции, но реплицируются в отдельных задачах в HANA, данные будут записаны в HANA в отдельных транзакциях. Данные в HANA будут отставать от исходной системы.

Обычно эта разница должна длиться относительно короткое время (может быть, несколько секунд), но, конечно, если вы выполняете агрегационные запросы и хотите видеть текущие действительные суммы и т. Д., Это приводит к неверным данным. .

Один из способов справиться с этим - реализовать запросы таким образом, чтобы это учитывать, например, фильтрация данных, которые были изменены полчаса назад (или дольше), и исключение более новых данных.

Обратите внимание, что, поскольку репликация через LogReader не связана с обработкой транзакций исходной системы, эта проблема «запаздывания данных» заложена концептуально, и ее нельзя избежать, как правило.
Все, что можно сделать, - это уменьшить объем отставать и справляться с различиями в восходящей обработке.

Именно эта проблема является одной из причин того, почему удаленный доступ к данным обычно предпочтительнее репликации для таких случаев, как операционная отчетность. И если вам действительно нужна загрузка данных (например, чтобы избежать дополнительной нагрузки на исходную систему), то подход ETL / ELT к хранилищам данных (DWH / BW-подобный) значительно улучшает структуру.

Фактически, текущие настройки S / 4 HANA и BW / 4 HANA обычно используют комбинацию запланированных загрузок данных и произвольной выборки новых данных через операционные дельта-очереди из исходной системы.

person Lars Br.    schedule 04.02.2020
comment
Этот ответ очень помогает. Спасибо, что нашли время. Итак, по вашему мнению, индивидуальные запросы могут быть способом проверки этих значений дельты? - person Matthijs Mennens; 06.02.2020

Ларс, если нам нужно реплицировать данные из ECC в Oracle в экземпляр HANA, должны ли мы использовать SLT (например, из-за кластерных таблиц) или SDI уже охватывает все функциональные возможности SLT? С уважением, Крис

person Christiano Hage    schedule 11.02.2020
comment
Кажется, это вопрос, а не ответ, я думаю, вы можете поставить комментарии под самим вопросом, чтобы прояснить вопрос. - person HojjatK; 11.02.2020