Типовое использование служб Integration Services
Службы Integration Services предлагают широкий выбор встроенных задач, контейнеров, преобразований и адаптеров обработки данных, поддерживающих разработку бизнес-приложений. Не написав ни одной строки кода, можно создавать решения служб SSIS, позволяющие решать сложные бизнес-проблемы с помощью ETL и бизнес-аналитики, управлять базами данных SQL Server, а также копировать объекты SQL Server с одного экземпляра в другой.
Следующие сценарии описывают типичные случаи применение пакетов служб SSIS.
Слияние данных из разнородных хранилищ данных
Данные обычно хранятся во множестве различных систем хранилищ данных, и извлечение данных из всех источников и их слияние в единый согласованный набор данных может представлять собой довольно сложную задачу. Эта ситуация может возникнуть по ряду причин. Например:
Множество организаций хранят архивные данные в традиционных системах хранилищ данных. Эти данные могут быть не слишком важными для ежедневных операций, однако они могут иметь ценность для анализа трендов, которому необходимы данные за длительный период.
Филиалы организации могут использовать разные технологии хранения данных для хранения операционных данных. Пакету может потребоваться извлечь данные из электронных таблиц, а также из реляционных баз данных перед тем, как он сможет объединить эти данные.
Данные могут храниться в базах данных, которые используют различные схемы для одних и тех же данных. Пакету может потребоваться изменить тип данных столбца или объединить данные из нескольких столбцов в один перед тем, как он сможет объединить данные.
Службы Integration Services могут подключиться ко многим типам источников данных, включая несколько источников данных одного пакета. Пакет может подключиться к реляционным базам данных, используя поставщиков .NET и OLE DB, а также ко множеству традиционных баз данных, используя драйверы ODBC. Он также может подключиться к неструктурированным файлам, файлам Excel и проектам служб Службы Analysis Services.
Службы Integration Services содержат компоненты источника, осуществляющие работу по извлечению данных из неструктурированных файлов, рабочих листов Excel, XML-документов, а также таблиц и представлений реляционных баз данных из источника данных, к которому подключается пакет.
Затем данные обычно преобразуются с помощью преобразований, содержащихся в службах Integration Services. После того, как данные преобразованы в совместимые форматы, они могут быть физически объединены в один набор.
После успешного слияния данных и применения преобразований данные загружаются по одному или нескольким назначениям. Службы Integration Services содержат назначения для загрузки данных в неструктурированные файлы, необработанные файлы, а также реляционные базы данных. Данные также могут быть загружены в набор записей, хранимых в памяти, и быть доступны для других элементов пакета.
Заполнение хранилищ данных и витрин данных
Данные в хранилищах и витринах данных обновляются часто, а объем загружаемых данных обычно довольно велик.
Службы Integration Services содержат задачу, которая производит массовую загрузку данных прямо из неструктурированного файла в таблицы и представления SQL Server, а также компонент назначения, производящий массовую загрузку данных в базу данных SQL Server в качестве последнего шага преобразования данных.
Пакет служб SSIS может быть настроен с возможностью перезапуска. Это означает, что можно перезапустить пакет с предопределенной контрольной точки — задачи или контейнера пакета. Возможность перезапуска пакета может значительно экономить время, особенно если пакет обрабатывает данные из большого количества источников.
Можно использовать пакеты служб SSIS для загрузки в базу данных таблиц измерений и фактов. Если источник данных для таблицы измерения хранится в нескольких источниках данных, то пакет может объединить данные в один набор и загрузить таблицу измерения в течение одного процесса, вместо использования отдельных процессов для каждого источника данных.
Обновление данных в хранилищах и витринах данных может стать сложной задачей, так как оба типа хранилищ данных обычно содержат медленно изменяющиеся измерения, которыми бывает сложно управлять с помощью преобразования данных. Мастер медленно изменяющихся измерений автоматизирует поддержку медленно изменяющихся измерений, динамически создавая инструкции SQL, которые обновляют и заменяют записи, обновляют связанные записи, а также добавляют новые столбцы в таблицы.
Кроме того, задачи и преобразования в пакетах служб Integration Services могут обрабатывать кубы и измерения служб Службы Analysis Services. Когда пакет обновляет таблицу в базе данных, на основе которой построен куб, можно использовать задачи и преобразования служб Integration Services для автоматической обработки куба, а также для автоматической обработки измерений. Автоматическая обработка кубов и измерений помогает предоставлять текущие данные для пользователей обеих сред: пользователям, которые получают данные из кубов и измерений, и пользователям, которые получают доступ к данным в реляционной базе данных.
Службы Integration Services могут также вычислять функции перед загрузкой данных в назначение. Если хранилища и витрины данных содержат статистические данные, то пакет служб SSIS может рассчитать такие функции, как SUM, AVERAGE и COUNT. Преобразование служб SSIS может также свести реляционные данные и преобразовать их в менее нормализованный формат, который является более совместимым с табличными структурами хранилища данных.
Очистка и стандартизация данных
Перед загрузкой данных для оперативной обработки транзакций (OLTP) или в базу данных оперативной аналитической обработки (OLAP), рабочий лист Excel или файл, данные необходимо очистить и стандартизировать. Данные могут требовать обновления по следующим причинам:
Данные были получены из нескольких филиалов организации, и каждый филиал использует разные стандарты и соглашения. Перед тем, как данные могут быть использованы, может потребоваться преобразовать их в другой формат. Например, может потребоваться объединить имя и фамилию в один столбец.
Данные могут быть арендованными или приобретенными. Перед тем, как данные могут быть использованы, может потребоваться их стандартизация и очистка для соответствия стандартам делопроизводства. Например, какая-либо организация желает проверить, что все записи содержат один набор кодов регионов или один и тот же набор названий продукции.
Формат данных зависит от локаля. Например, данные могут иметь различные форматы даты-времени, а также форматы чисел. Если данные объединены из источников разных локалей, то перед загрузкой их необходимо привести в один формат во избежание повреждения данных.
Службы Integration Services содержат встроенные преобразования, которые можно добавить к пакетам для очистки и стандартизации данных, изменения регистра данных, преобразования данных в иной тип или формат, а также для создания нового столбца данных на основе выражений. Например, пакет может объединить столбцы, содержащие имена и фамилии, в общей столбец полного имени, а затем перевести все символы в верхний регистр.
Пакет служб Integration Services также может произвести очистку данных путем замены значений в столбцах на значения ссылочной таблицы, используя уточняющие запросы или нечеткие уточняющие запросы для поиска значений в ссылочной таблице. Часто пакет сначала применяет уточняющий запрос и, в случае неудачи, нечеткий уточняющий запрос. Например, сначала пакет пытается провести поиск названия продукта в ссылочной таблице, используя значение первичного ключа. Если этот поиск не смог вернуть название продукта, то пакет повторяет попытку с применением нестрогого соответствия наименования продукта.
Другое преобразование производит очистку данных с помощью группирования похожих значений набора данных. Это полезно при распознавании записей, которые могут быть дубликатами и поэтому не должны быть включены в базу данных без дальнейшей оценки. Например, сравнивая адреса в списке записей клиентов, можно найти несколько дублирующих записей.
Встраивание бизнес-аналитики в процесс преобразования данных
Процесс преобразования данных требует от встроенной логики динамичного реагирования на данные для обработки и доступа.
Данным может требоваться суммирование, преобразование, а также распространение на основе их значений. Процесс может также отвергнуть данные на основе оценки значений столбцов.
Для выполнения этих требований логике пакета служб SSIS может потребоваться осуществить следующие типы задач:
Слияние данных из нескольких источников.
Вычисление данных и применение преобразований.
Разбиение набора данных на несколько наборов на основе значений данных.
Применение различных статистических выражений к различным подмножествам набора данных.
Загрузка подмножеств данных к различным или нескольким назначениям.
Службы Integration Services предоставляют контейнеры, задачи и преобразования для встраивания бизнес-аналитики в пакеты служб SSIS.
Контейнеры поддерживают повторение рабочих процессов с помощью перечисления файлов или объектов, а также оценки выражений. Пакет может произвести оценку данных и повторить рабочие процессы, основываясь на результатах. Например, если дата является датой текущего месяца, то пакет выполняет один набор задач; если это дата другого месяца, то пакет выполняет другой набор задач.
Задачи, которые используют входные параметры, также можно встраивать в пакеты бизнес-аналитики. Например, значение входного параметра может использоваться как фильтр данных, получаемых задачей.
Преобразования могут производить оценку выражений и затем, в зависимости от результата, посылать строки набора данных различным назначениям. После того, как данные разделены, пакет может применить различные преобразования к каждому подмножеству набора данных. Например, выражение может произвести оценку данных столбца, добавить данные продаж за соответствующий период и затем сохранить только сводные данные.
Возможно также отослать данные нескольким назначениям, а затем применить различные преобразования одних и тех же данных. Например, один набор преобразований может обобщать данные, а другой набор преобразований может одновременно дополнять их данными из других источников, производя поиск значений в ссылочных таблицах.
Автоматизация административных функций и загрузки данных
Администраторы часто желают автоматизировать административные функции, такие как резервное копирование и восстановление баз данных, копирование баз данных SQL Server и содержащихся в них объектов, копирование объектов SQL Server и загрузку данных. Пакеты служб Integration Services могут выполнять эти функции.
Службы Integration Services содержат задачи, созданные специально для копирования таких объектов баз данных SQL Server, как таблицы, представления и хранимые процедуры, а также для копирования таких объектов SQL Server, как базы данных, имена входа, статистики, и для добавления, изменения, удаления объектов и данных SQL Server с помощью инструкций Transact-SQL.
Администрирование среды базы данных OLTP или OLAP часто включает и загрузку данных. Службы Integration Services содержат несколько задач, облегчающих массовую загрузку данных. Можно использовать задачу для загрузки данных из текстовых файлов прямо в таблицы и представления SQL Server или использовать компонент назначения для загрузки данных в таблицы и представления SQL Server после применения преобразований данных столбца.
Пакет служб Integration Services может запускать другие пакеты. Решение преобразования данных, включающее множество административных функций, может быть разделено на несколько пакетов для облегчения управления и повторного использования пакетов.
Если необходимо осуществлять одни и те же административные функции на различных серверах, то можно использовать пакеты. Пакет может использовать циклы для перечисления серверов и выполнения одинаковых функций на нескольких компьютерах. Для поддержки администрирования SQL Server в службах Integration Services имеется перечислитель, который содержит все объекты SMO. Например, пакет может использовать перечислитель SMO для осуществления одинаковых административных функций в каждой задаче коллекции Задачи установки SQL Server.
Также возможен запуск пакетов служб SSIS по расписанию с использованием заданий агента SQL Server.
|