SAP HANA SDI E CC Источник и дельта таблицы HANA - PullRequest
0 голосов
/ 21 января 2020

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

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

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

Ответы [ 2 ]

1 голос
/ 05 февраля 2020

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

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

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

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

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

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

0 голосов
/ 11 февраля 2020

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

...