ADSO можно использовать в разных слоях хранилища данных (Data Acquisition Layer/Persistent Staging Area, Corporate Memory, Data Propagation Layer, Reporting Layer), выбрав необходимые шаблоны или выбрав необходимые свойства. Шпаргалка по опциям моделирования ADSO для напоминания.
При создании ADSO необходимо выбрать опции моделирования (левая часть экрана):
Помочь в этом могут шаблоны в правой части экрана (выбираем шаблон в одном из трех разделов и выбираем <Apply Template>).
Какой шаблон выбрать?
1. Data Acquisition layer (including corporate memory)
Этот тип ADSO похож на классический Write-Optimized DSO и не использует активацию (таблицу Активных данных). Ключом записей является Номер транзакции запроса (TSN). Соответствует PSA и действует как входящая область хранения в BW для данных из исходных систем. Используется на уровне “Data Acquisition Layer”.
Также к данному типу ADSO можно отнести и Corporate Memory Without Compression, который использует только таблицу Входящих данных. Загрузка и экстракция выполняется в/из этой таблицы. Делать запросы к этому типу не рекомендуется из-за наличия технического ключа. Используется на уровне “Corporate Memory”.
2. Corporate Memory – compression capabilities (Corporate Memory with Compression)
Используется для архивного хранения неактуальных выверенных данных, когда не нужно отслеживать запросы на загрузку.
Таблица Журнала изменений не используется, используется только Входящая таблица и таблица Активных данных. Как только запрос на загрузку активирован, система загружает данные в Активную таблицу и удаляет их из Входящей таблицы. Процесс активации сжимает данные путем агрегирования записей на основе их семантического ключа. Можно выборочно удалять данные только после сжатия, удаление по запросу невозможно. Запросы строятся на таблице Активных данных. Экстракция из таблицы Активных данных и таблицы Входящих данных (для дельт). Используется на уровне “Corporate Memory”.
3. Corporate Memory – reporting capabilities (Corporate Memory with Compression and Delta Loading)
Используется для архивного хранения неактуальных выверенных данных, когда нужно отслеживать запросы на загрузку.
Похожа на Corporate Memory – compression capabilities, но включена опция “Keep Inbound Data, Extract from Inbound Table”. Это означает, что при активации такого ADSO система не удаляет данные из таблицы Входящих данных. Вместо этого данные остаются там для сохранения технической информации о загрузке. Таким образом, можно отслеживать записи до их конкретных загрузок и повторно загружать данные в активную таблицу после удаления данных там. Запросы строятся на таблице Активных данных, но экстракция из таблицы Входящих данных. Используется на уровне “Corporate Memory”.
4. Data warehouse layer – delta calculation
Используется как центральный объект данных, из которого на следующий уровень загружаются только новые и измененные записи. В отличие от Data warehouse layer – data mart не обеспечивается стабильная навигация во время составления отчетов.
Как классический DSO. Есть таблица Журнала изменений для экстракции дельты, таблица Входящих данных и таблица Активных данных, которая используется для отчетности и полной экстракции. Таблица Входящих данных очищается после активации. В таблице Журнала изменений хранится статус записей “новые”, “до” и “после”. Запросы строятся на таблице Активных данных. Активированные запросы могут быть удалены, так как есть журнал изменений. Опционально можно активировать опцию “Unique Data Records”. Используется на уровне “Data Propagation Layer”.
5. Data warehouse layer – data mart
Используется для отчетности и аналитических запросов, а также при наличии некумулятивных показателей. Отчеты являются согласованными и обеспечивают стабильную навигацию.
Как стандартный InfoCube (таблица Входящих данных как F-таблица и таблица Активных данных как E-таблица). Все записи обрабатываются так, как если бы все характеристики находились в ключе (в настройке физически ключи не определяются). Не имеет таблицы Журнала изменений (нельзя удалить какие-либо данные из объекта хранилища данных). При активации данные агрегируются в таблице Активных данных (без перезаписи ключевых показателей). Без таблиц измерений, BW записывает идентификаторы основных данных (SID) непосредственно в таблицу фактов. После активации, таблица Входящих данных очищается. Отчетность и экстракция строится на данных таблицы Активных данных и таблицы Входящих данных (данные доступны до активации). Данные для извлечения дельты считываются из таблицы входящих данных. Если дельта-извлечение подключено и активно, запрос может быть активирован только после того, как все активные дельта-экстракторы извлекут запрос. Используется на уровне “Reporting Layer”.
Но, все равно, нужно моделировать ADSO как инфо-куб, если используются некумулятивные ключевые показатели (необходимо вручную активировать опцию в поле “Inventory”. Без этой опции будет сообщение об ошибке при попытке добавить некумулятивный ключевой показатель в ADSO.
6. Planning on InfoCube-like
Как Data warehouse layer – data mart. Все характеристики являются ключевыми полями, как и в ADSO DWL – data mart. Есть таблица Входящих данных и таблица Активных данных. Все поля характеристик помечены как ключевые поля в таблица Активных данных. Не перезаписывает никакие записи на основе семантического ключа, записи, которые имеют идентичные характеристики с записями в предыдущей загрузке, суммируют свои ключевые показатели.
7. Planning on Direct Update
Можно загружать записи непосредственно в таблицу Активных данных. Нет таблицы Журнала изменений или таблицы Входящих данных. Можно заполнить таблицу Активных данных с помощью API. Также можно загрузить данные с помощью DTP. Ключевые показатели перезаписываются. Если есть повторяющееся значение в семантическом ключе, сохраняется последняя загруженная запись. BW/4HANA сохраняет последнюю загруженную запись независимо от того, были ли изменены характеристики или ключевые показатели.
8. Standard DataStore Object
Соответствует “Data warehouse layer – delta calculation”.
9. Write-optimized DataStore Object
Соответствует “Data Acquisition layer (including corporate memory)”.
10. InfoCube
Соответствует “Data Warehouse Layer – Data Mart”.
Layer Architecture of a Data Warehouse with SAP HANA Database (LSA++)
Architected Data Mart Layer: состоит из InfoCube/DSO (HANA-optimized). Необходимость этого уровня с Инфо-кубами возникает если:
- содержимое инфо-кубов содержит только подмножество данных из объекта хранилища данных (например, из-за выбора в DTP).
- информационный куб содержит только ту информацию, которая доступна в объекте хранилища данных.
- никакие другие дополнительные проверки не выполняются при загрузке данных в инфо-куб (например, ссылочная целостность).
EDW Data Propagation Layer: состоит из DSO (HANA-optimized).