Integration Services для формирования хранилищ данных

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

Для решения перечисленных задач служит компонент SQL Server Integration Services, позволяющий интегрировать и преобразовывать данные. В число возможностей компонента входит копирование и загрузка файлов, отправка сообщений электронной почты как реакция на события, обновление хранилища данных, вызов процедур очистки и исследования данных, управление объектами и данными в базе данных SQL Server.

Загрузка данных в хранилище данных и формирование аналитических моделей

В классическом варианте данные сначала выгружаются (как правило, без преобразований) из источников данных в отдельную базу — промежуточную область. Далее при загрузки данных из этой области в хранилище данных данные уже значительно преобразуются и переводятся в специальную схему хранения (в итоге процесс преобразования не замедляет исходные базы). При необходимости (например, для увеличения скорости последующего извлечения) части данных переводятся в «витрины данных» (как правило, базы в схеме «звезда»). Из витрин и/или хранилища данных формируются (обновляются) аналитические модели.

Классический вариант загрузки данных в ХД, формирования витрин и аналитических моделей

Противоположный подход – формировать многомерную аналитическую модель напрямую из источника (если это SQL Server) с помощью функции «проактивного кэширования». Соответственно, между этими двумя противоположными вариантами существует множество промежуточных решений. Дополнительно проекты формирования хранилища данных могут быть дополнены функциями интеграции с системой управления нормативно-справочной информацией (НСИ) и функциями очистки данных.

Графическая разработка интеграционных пакетов

Интеграционные решения разрабатываются в программе SQL Server Data Tools (SSDT; расширение среды разработки Visual Studio). С помощью этой среды разработчики могут совместно создавать интеграционные проекты используя специальную графическую нотацию. Благодаря этой нотации проекты являются само-документируемыми; в итоге значительно уменьшаются затраты и увеличивается скорость сопровождения и внесения изменений в проекты.

Структура интеграционного проекта

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

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

Поток данных – это особый вид задачи в потоке управления, предназначенный для извлечения данных из источников (через адаптеры чтения), а затем преобразования и загрузки данных в целевые базы (например, в хранилище данных; через адаптеры записи). В число преобразований входит комбинирование данных через joins, unions и т.д.; проверка данных через правила, сопоставления, оценку качества; преобразование данных в целевой формат.

Поток данных в составе потока управления интеграционного проекта. Источник - Microsoft

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

Размещение и администрирование

Разработанное интеграционное решение размещается в каталоге SSIS в виде модели проекта (.ispac). Для администрирования проектов, задания расписания выполнения пакетов, запуска пакетов с параметрами, формирования отчетности о результатах выполнения пакетов и т.д. используется SQL Server Management Studio (SSMS).

Журналирование работы интеграционных пакетов

В SQL Server 2012 встроена функция журналирования работы интеграционных пакетов и на базе журнала построены стандартные отчеты. В отчете верхнего уровня (All Executions report) можно посмотреть историю запусков каждого конкретного пакета (успешность, расположение, время начала и окончания, продолжительность). Через гиперссылки каждый запуск пакета можно детализировать вплоть до уровня конкретного события (в том числе можно посмотреть диагностические сообщения и значения переменных в момент возникновения события).

Отчет производительности запусков (Execution Performance report) отображает график изменения продолжительности времени работы пакета.

Фрагмент отчета о производительности интеграционного пакета

Также предусмотрен отчет со статистикой всех запусков всех пакетов (Dashboard report) и аналогичной возможностью детализации.

Демонстрация SSIS (разработка, размещение и администрирование)

Дополнительные материалы

  1. TechEd 2011 North America. DBI317. What’s New in Microsoft SQL Server Code-Named “Denali” for SQL Server Integration ServicesWhat’s New in Microsoft SQL Server Code-Named “Denali” for SQL Server Integration ServicesWhat’s New in Microsoft SQL Server Code-Named “Denali” for SQL Server Integration ServicesWhat’s New in Microsoft SQL Server Code-Named “Denali” for SQL Server Integration Services
  2. TechEd Australia 2011. DAT307DAT307. Denali SSIS and Data Quality Enhancements
  3. MSDN Library. SQL Server Integration Services
  4. SQLCAT. SSIS 2008 — world record ETL performance

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход / Изменить )

Фотография Twitter

Для комментария используется ваша учётная запись Twitter. Выход / Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход / Изменить )

Google+ photo

Для комментария используется ваша учётная запись Google+. Выход / Изменить )

Connecting to %s

%d такие блоггеры, как: