В: Скажите, есть ли у вас какая-нибудь недвижимость?Попробуем почувствовать важность знаний и рассмотрим, что говорит документация ODI обо всех этих понятиях: логических и физических архитектурах и контексте.
С: Нет.
В: Вклады в банке?
С: Нет.
В: Как я понимаю, вы сейчас учитесь?
С: Да, я студент.
В: Понимаете, я просто хочу определить, есть ли что-то, что будет удерживать вас в Украине.
С: Удерживать? Конечно есть, учёба удерживает.
Из разговора между студентом и сотрудником визового центра одной из стран шенгена при оформлении визы.
Физическая архитектура
Физическая архитектура описывает различные элементы информационных систем, с которыми взаимодействует ODI и определяет их характеристики.
Технология - обрабатывает данные определенных форматов. Таким образом, каждая технология включает в себя некоторый набор типов данных, и это позволяет Oracle Data Integrator генерировать скрипты преобразования данных из одного типа в другой.
Примечание: Любая СУБД (Oracle, DB2 и т.п.) формат файла (XML, File) или приложение представлено в ODI соответствующей технологией.
Примечание: Каждый сервер СУБД, JMS файл с сообщением, группа плоских файлов, используемые в ODI, должны быть определены как сервер данных.
Каждая схема, база данных, JMS топик, и т.п., используемые в ODI, должны быть определены как физические схемы.
Логическая архитектура
Логическая архитектура позволяет объединять физические схемы, находящиеся в разных местах, но содержащие одинаковые по структуре таблицы, в логические схемы, структурированные по технологии.
Базируясь на тех же принципах, логическая архитектура описывает логических агентов, которые скрывают под одним именем несколько физических агентов, используемых с одним и тем же набором функций в разных контекстах.
Контекст
Контекст соединяет вместе части физической архитектуры (реальной архитектуры) информационной системы с частями логической архитектуры (теми абстракциями, с которыми взаимодействует разработчик ODI при разработке ETL преобразований).
Пример: Логическая схема "Бухгалтерия" описывает абстрактное понятие, место, где находятся таблицы источники данных, загружаемые интерфейсами ODI в хранилище данных.
Физическая схема Бух1 хранит таблицы данных из бухгалтерии, в которых была произведена анонимизация данных, физическая схема БухПрод хранит реальные ежедневно загружаемые данные из бухгалтерской СУБД.
При этом структурно (количеством, названием и структурой таблиц и т.п.) данные схемы полностью совпадают, но расположены в разных схемах СУБД Oracle, и, вполне возможно, на разных Дата серверах (серверах данных).
Наличие контекста Dev позволяет разрабатывать и запускать интерфейсы на анонимизированных данных.
Наличие контекста Prod позволяет выполнять загрузку данных в ХД находящееся в промышленном использовании.
Ко мне более-менее устойчивое понимание этих вещей пришло далеко не сразу. Поэтому я попытаюсь написать еще несколько слов о том, как перечисленные выше понятия взаимодействуют или могут быть связаны друг с другом.
Вспомним, что каждая модель данных соединена с определенной логической схемой.
Для всех таблиц модели используется одна и та же технология, соответственно, мы можем выстроить такую последовательность:
модель данных ---> логическая схема ---> несколько физических схем (один и тот же тип СУБД (соответственно, одна технология), разные схемы и/или экземпляры с одним и тем же набором таблиц)
Далее, для каждого варианта загрузки данных, мы должны иметь соответствующие наборы физических схем, соединяемых с логическими схемами. Соединяются они контекстами, или, другими словами, контексты определяют вариант загрузки данных.
Примеры контекстов, как уже указывалось в переводе документации, загрузка данных в среде разработки и среде промышленной эксплуатации.
То есть, контекст Dev соединяет логическую модель Stage с физической схемой DS расположенной в СУБД Oracle на сервере под названием DWHDB1. А контекст Prod делает соединение той же логической схемы с совершенно другим сервером (PRD_DB) с данными, физически находящимися в схеме SourceStage. Т.е. в этом примере и сервера разные, и схемы называются по разному.
Второй вариант: тот же Dev контекст, а также контекст Test, соединяющий логическую схему Stage с физической схемой DS_Test на том же сервере DWHDB1. В данном случае используется один и тот же физический сервер для разработки и тестирования, что очень помогает в случае, когда нет возможности использовать для тестирования сопоставимый промышленному по мощности сервер СУБД.
Еще один пример того, что можно организовать при помощи правильных схем и контекстов ODI, я бы назвал пробным тестированием качества загрузки данных. В этом подходе создается контекст, который связывает стандартно используемую для входных данных схему (Stage) с целевой физической схемой для тестирования результатов ETL преобразований.
Тестировщик и/или бизнес-аналитик заполняет область промежуточных данных своими тестовыми данными и, используя контекст Test_Case_1 заполняет преобразованными данными целевую схему TCResults_1. Далее область стейджа очищается и заполняется полным набором данных из источников, что может быть использовано для продолжения стандартной разработки, а преобразованные тестовые данные могут анализироваться независимо от дальнейших запусков загрузок.
Вот, в первом приближении, пока все. Будут вопросы - пишите.
Комментариев нет:
Отправить комментарий
Примечание. Отправлять комментарии могут только участники этого блога.