Архитектура Витрины данных =========================== Общая архитектурная схема ------------------------- Схематичное отображение общей архитектуры Витрины данных приведено на рисунке (см. :numref:`image1_gd`). .. _image1_gd: .. figure:: img/image1_gd.png :align: center :alt: Общая архитектура Витрины данных Общая архитектура Витрины данных Общая компонентная схема ------------------------ Схема компонентов Витрины данных представлена на рисунке ниже (см. :numref:`image2_gd`). .. _image2_gd: .. figure:: img/image2_gd.png :align: center :alt: Схема компонентов Схема компонентов Алгоритм работы Витрины данных ------------------------------- 1. После развертывания Витрины в ней не отсутствует логическая модель данных. 2. Первым шагом, после развертывания Витрины, необходимо создать в ней логическую модель данных (для хранения данных в качестве Поставщика данных). При работе с ПОДД структура таблиц настраивается в ЕИП НСУД и передаются в Витрину через ПОДД. При работе со СМЭВ3 логическую модель надо создавать самостоятельно через :term:`JDBC`-драйвер с использованием :term:`DDL`. 3. После того, как в Витрине была создана логическая модель данных, можно выполнять следующие действия: - загружать данные в Витрину (средствами сервиса загрузки данных (:term:`ETL`) или самостоятельно через JDBC-драйвер с использованием EDDL/EDML); - посылать запросы для получения данных из Витрины (через :term:`ПОДД`, СМЭВ3, :term:`REST` или :term:`JDBC-драйвер`); - подписываться (в качестве Потребителя данных) на репликацию данных из другой Витрины (:term:`ПОДД` пришлет метаданные для создания логических таблиц для хранения реплики и первоначальный снапшот текущих данных из Витрины Поставщика); - обрабатывать (в качестве Поставщика данных) подписки других Витрин на репликацию данных этой Витрины (передавать им метаданные для создания логической структуры для хранения реплики и снапшот текущих данных); - при загрузке данных в Витрину, если есть подписчики на репликацию данных, им отправляется дельта с обновленными данными; - если эта Витрина подписана на репликацию данных из другой Витрины, то при изменении данных в Витрине-Поставщике :term:`ПОДД` доставит дельту с обновленными данными.