Опубликован: 15.03.2010 | Уровень: специалист | Доступ: платный | ВУЗ: Волгоградский государственный университет
Лекция 5:

Использование служб Integration Services со службами Analysis Services

Аннотация: Лекция кратко описывает возможности SQL Server Integration Services для работы с OLAP-системами. Представлена схема архитектуры служб SQL Server Integration Services, рассмотрены все компоненты архитектуры SSIS.

Возможности Integration Services для работы с OLAP

Службы SQL Server Integration Services (SSIS) представляют собой платформу для построения высокопроизводительных решений интеграции данных и решений потока операций, включая операции извлечения, преобразования и загрузки (Extract, Transform, Load - ETL) для хранилищ данных.

Службы SSIS содержат графические инструменты и мастера для построения и отладки пакетов; задачи для выполнения функций потока операций, таких как:

  • выполнение инструкций SQL и работа с сообщениями электронной почты;
  • источники данных и назначения для извлечения и загрузки данных;
  • преобразования для очистки, статистической обработки, слияния и копирования данных;
  • службу управления, службу SSIS для администрирования пакетов служб SSIS;
  • API-интерфейсы для программирования объектной модели служб SSIS.

Типичные случаи применения пакетов служб SSIS совместно с SSAS включают в себя:

  1. слияние данных из разнородных хранилищ данных;
  2. заполнение хранилищ данных и витрин данных;
  3. очистка и стандартизация данных.

Слияние данных из разнородных хранилищ данных

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

  1. Множество организаций хранят архивные данные в традиционных системах хранилищ данных. Эти данные могут быть не слишком важными для ежедневных операций, однако они могут иметь ценность для анализа трендов, которому необходимы данные за длительный период.
  2. Филиалы организации могут использовать разные технологии хранения данных для хранения операционных данных. Пакету может потребоваться извлечь данные из электронных таблиц, а также из реляционных БД перед тем, как он сможет объединить эти данные.
  3. Данные могут храниться в базах данных, которые используют различные схемы для одних и тех же данных. Пакету может потребоваться изменить тип данных столбца или объединить данные из нескольких столбцов в один перед тем, как он сможет объединить данные.

Службы SSIS могут подключиться ко многим типам источников данных, включая несколько источников данных одного пакета. Пакет может подключиться к реляционным базам данных, используя поставщиков .NET и OLE DB, а также ко множеству традиционных баз данных, используя драйверы ODBC. Он также может подключиться к плоским файлам, файлам Excel и проектам служб SSAS.

Службы SSIS содержат компоненты источника, осуществляющие работу по извлечению данных из плоских файлов, рабочих листов Excel, XML-документов, а также таблиц и представлений реляционных БД из источника данных, к которому подключается пакет.

Затем данные обычно преобразуются с помощью преобразований, содержащихся в службах SSIS. После того, как данные преобразованы в совместимые форматы, они могут быть физически объединены в один набор.

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

Заполнение хранилищ данных и витрин данных

Данные в хранилищах и витринах данных обновляются часто, а объем загружаемых данных обычно довольно велик.

Службы SSIS содержат задачу, которая производит массовую загрузку данных прямо из плоского файла в таблицы и представления SQL Server, а также компонент назначения, производящий массовую загрузку данных в базу данных SQL Server в качестве последнего шага преобразования данных.

Пакет служб SSIS может быть настроен с возможностью перезапуска. Это означает, что можно перезапустить пакет с предопределенной контрольной точки - задачи или контейнера пакета. Возможность перезапуска пакета может значительно экономить время, особенно если пакет обрабатывает данные из большого количества источников.

Можно использовать пакеты служб SSIS для загрузки в базу данных таблиц измерений и фактов. Если источник данных для таблицы измерения хранится в нескольких источниках данных, то пакет может объединить данные в один набор и загрузить таблицу измерения в течение одного процесса, вместо использования отдельных процессов для каждого источника данных.

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

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

Службы SSIS могут также вычислять функции перед загрузкой данных в назначение. Если хранилища и витрины данных содержат статистические данные, то пакет служб SSIS может рассчитать такие функции, как SUM, AVERAGE и COUNT. Преобразование служб SSIS может также свести реляционные данные и преобразовать их в менее нормализованный формат, который является более совместимым с табличными структурами хранилища данных.

Очистка и стандартизация данных

Перед загрузкой данных для оперативной обработки транзакций (OLTP) или в базу данных оперативной аналитической обработки (OLAP), рабочий лист Excel или файл, данные необходимо очистить и стандартизировать. Данные могут требовать обновления по следующим причинам:

  1. Данные были получены из нескольких филиалов организации, и каждый филиал использует разные стандарты и соглашения. Перед тем, как данные могут быть использованы, может потребоваться преобразовать их в другой формат. Например, может потребоваться объединить имя и фамилию в один столбец.
  2. Данные могут быть арендованными или приобретенными. Перед тем, как данные могут быть использованы, может потребоваться их стандартизация и очистка для соответствия стандартам делопроизводства. Например, какая-либо организация желает проверить, что все записи содержат один набор кодов регионов или один и тот же набор названий продукции.
  3. Формат данных зависит от языкового стандарта. Например, данные могут иметь различные форматы даты-времени, а также форматы чисел. Если данные объединены из источников разных языковых стандартов, то перед загрузкой их необходимо привести в один формат во избежание повреждения данных.

Службы SSIS содержат встроенные преобразования, которые можно добавить к пакетам для очистки и стандартизации данных, изменения регистра данных, преобразования данных в иной тип или формат, а также для создания нового столбца данных на основе выражений. Например, пакет может объединить столбцы, содержащие имена и фамилии, в общей столбец полного имени, а затем перевести все символы в верхний регистр.

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

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

Ксения Кожанова
Ксения Кожанова

Здравствуйте! Я прошла 1 лекцию и 1 самостоятельную работу. В конце контрольные вопросы, их надо для как-то ответить или куда-то отослать?

Андрей Павлов
Андрей Павлов
Виталий Апухтин
Виталий Апухтин
Россия
Александр Билибин
Александр Билибин
Россия, г. Москва