Обзор служб интеграции SQL Server 2008

advertisement
Обзор служб интеграции SQL Server 2008
Техническая статья по SQL Server
Автор: Камаль Хати (Kamal Hathi)
Обновление: Джефф Элликс (Geoff Allix)
Научный рецензент: Рам Раманатам (Ram Ramanathan)
Редактор проекта: Джоан Ходжинс (Joanne Hodgins)
Опубликовано: май 2005 г.
Обновлено: ноябрь 2007 г.
Относится к: SQL Server 2008
Аннотация В этой статье обсуждаются задачи, с которыми сталкиваются
организации, использующие технологии интеграции данных для получения
осмысленной и надежной информации. Это обеспечивает им преимущества в
конкурентной борьбе в современном мире бизнеса. В статье также
рассматривается, как службы интеграции SQL Server 2008 Integration Services
(SSIS) помогают ИТ-отделам отвечать на требования к интеграции данных в своих
компаниях. Включен ряд примеров из реальной практики.
О защите авторских прав
Этот документ носит предварительный характер и может быть существенно изменен до выхода окончательной
коммерческой версии описанного в нем ПО.
В этом документе отражено мнение корпорации Майкрософт по обсуждаемым вопросам на момент его публикации.
Поскольку Майкрософт вынуждена реагировать на изменения конъюнктуры рынка, изложенное здесь не следует
рассматривать как обязательства со стороны Майкрософт. Майкрософт также не может гарантировать точность
представленной в документе информации после его публикации.
Данная официальная статья предназначена только для ознакомительных целей. МАЙКРОСОФТ НЕ ДАЕТ НИКАКИХ
ГАРАНТИЙ, ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ, ОТНОСИТЕЛЬНО ДАННОГО ДОКУМЕНТА.
Ответственность за соблюдение авторских прав возлагается на пользователя. Воспроизведение любой части
данного документа, ввод в системы хранения данных, хранение и передача в любом виде и любыми средствами
(механическими, электронными и пр.) без предварительного письменного разрешения корпорации Майкрософт
является нарушением авторских прав.
Майкрософт может владеть патентами, патентными заявками и другими правами на интеллекутальную
собственность, касающимися содержимого данного документа. Предоставление документа не дает права на
использование этих патентов, товарных знаков и других прав интеллектуальной собственности за исключением
явно оговоренных в письменном лицензионном соглашении с Майкрософт.
Если не сказано обратное, все названия компаний, организаций, товаров, доменные имена, почтовые адреса,
логотипы, имена людей, названия населенных пунктов и события, упоминающиеся в тексте, являются
вымышленными и не имеют отношения к реальным организациям, предметам, лицам и событиям, все совпадения
являются случайными.
© 2007 Корпорация Майкрософт. Все права защищены.
Microsoft, Office Excel, Reporting Services, Visual Basic, Visual C#, Visual C++ и Visual Studio являются либо
охраняемыми товарными знаками, либо товарными знаками корпорации Microsoft в США и/или других странах.
Все остальные товарные знаки, упомянутые в данном документе, являются собственностью своих владельцев.
Содержание
Введение ..........................................................................................................1
Пример из практики ....................................................................................... 1
Источники данных ......................................................................................... 1
Использование данных ................................................................................... 1
Требования к интеграции данных ................................................................... 1
Проблемы интеграции данных ........................................................................2
Технологические проблемы ............................................................................ 2
Организационные проблемы ........................................................................... 4
Проблема эффективности .......................................................................... 4
Проблема комфортной зоны....................................................................... 5
Экономические проблемы ............................................................................... 5
Службы интеграции SQL Server 2008 ..............................................................5
Архитектура SSIS .......................................................................................... 6
Ядро поддержки потока задач и потока данных .......................................... 6
Архитектура конвейера ............................................................................. 6
Поддержка подключений через ADO.NET .................................................... 7
Поддержка пула потоков ........................................................................... 7
Кеширование данных при операциях поиска .............................................. 7
Варианты интеграции ..................................................................................... 8
Применение SSIS для передачи данных ..................................................... 8
Применение SSIS для загрузки данных в информационное хранилище ........ 8
SSIS и качество данных .......................................................................... 12
Применение SSIS за рамками традиционных ETL-операций ....................... 14
SSIS как платформа интеграции .............................................................. 16
Упрощение интеграции данных ....................................................................20
Заключение ...................................................................................................21
Обзор служб интеграции SQL Server 2008
1
Введение
Возможность преобразовывать корпоративные данные в осмысленную и полезную
для принятия решений информацию — самое важное преимущество в конкурентной
борьбе в мире современного бизнеса. Одной из серьезнейших задач для ИТотделов в глобальных организациях стало обуздание взрывного роста объема
данных, чтобы лучше понимать прошлые успехи и неудачи и чтобы выбрать
направление на будущее. С интеграцией данных связано три широких категории
проблем:
•
технологические;
•
организационные;
•
экономические.
В данной статье мы детально исследуем все эти задачи и обсудим, как справиться с
ними, используя службы интеграции Microsoft® SQL Server™ 2008 Integration
Services (SSIS). Но сначала рассмотрим их в контексте реального примера из
практики.
Пример из практики
Крупная глобальная транспортная компания использует информационное
хранилище для анализа эффективности своих операций и для предсказания
отклонений в запланированных сроках поставок.
Источники данных
Основные данные в этой компании поступают из системы приема заказов на основе
DB2 (сведения по заказам), системы управления взаимосвязями с клиентами (CRM)
на основе SQL Server (информация по клиентуре) и ERP-системы на основе Oracle
(данные по подрядчикам). Помимо данных из этих основных систем, включаются
данные из электронных таблиц, в которых отслеживаются «экстраординарные»
события в хранилище данных и которые руководители групп перевозок (shipping
supervisors) вводят самостоятельно. В настоящее время интегрируются такие
внешние данные, как информация о погоде, интенсивность движения транспорта и
детальные сведения о подрядчиках (для поставок по субподрядам), из текстовых
файлов, получаемых из разных источников с некоторой задержкой.
Использование данных
Различаются не только источники данных, но и клиенты — как по своим
требованиям, так и по территориальному расположению. Это разнообразие привело
к быстрому росту числа локальных систем. Одно из основных направлений усилий,
прилагаемых ИТ-отделом, — создание «единственной версии истины», по крайней
мере для данных по клиентуре.
Требования к интеграции данных
Перед лицом такого разнообразия данных, потребностей бизнеса и пользователей
ИТ-отдел выработал следующий набор требований к интеграции данных.
•
Нужно добиться надежности и согласованности исторических и текущих
данных, интегрируемых из самых разных внешних и внутренних источников.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
2
•
Чтобы уменьшить задержки в сборе данных, информация от поставщиков и
подрядчиков должна поступать через веб-службы или какой-то иной
механизм прямой передачи данных, например по FTP.
•
ИТ-отдел должен удалять дублирующиеся данные, а также обеспечивать
качество данных другими способами.
•
Ужесточение глобального законодательства требует от компании вести
четкие и подробные аудиторские отчеты. Этого недостаточно для
сохранения надежности данных — их нужно отслеживать и
сертифицировать.
Проблемы интеграции данных
На отдельно взятом уровне задача интеграции данных в нашем примере из
практики чрезвычайно проста. Получаем данные из нескольких источников,
очищаем, преобразуем и загружаем их в подходящие хранилища данных для
анализа и формирования отчетов. Увы, как показывает опыт, при реализации
типичного проекта информационного хранилища или бизнес-анализа предприятия
тратят 60–80% доступных ресурсов на стадии интеграции данных. Откуда такие
сложности?
Технологические проблемы
Эти проблемы начинаются с систем-источников. Мы переходим от сбора данных
при транзакциях (в ходе которых клиенты покупают или иным образом получают
что-либо) к сбору данных на этапах, предшествующих транзакциям (где с помощью
таких механизмов, как маркетинговая служба Web Clicks или теги RFID,
отслеживаются намерения клиентов). Данные теперь извлекаются не только из
традиционных источников и в привычных форматах вроде баз данных или
текстовых файлов, но и во все возрастающем разнообразии форматов (от файлов с
закрытыми форматами до документов Microsoft Office и XML) и из Интернетисточников, таких как веб-службы и RSS-каналы (Really Simple Syndication). Вот
наиболее серьезные проблемы:
•
множество источников с разными форматами данных;
•
смесь структурированных, полуструктурированных и вообще
неструктурированных данных;
•
системы-источники передают данные в разное время;
•
огромные объемы данных.
В идеале, даже если вы как-то ухитритесь собрать все нужные данные в одном
месте, то столкнетесь с новыми проблемами, в частности с:
•
качеством данных;
•
обработкой множества разных форматов данных;
•
преобразованием данных в формат, имеющий смысл для бизнес-аналитиков.
Допустим, что вы сумели волшебным образом получить все необходимые данные, а
затем очистить, преобразовать и перевести их в удобный формат. Все равно
сохраняется необходимость в уходе от традиционной передачи данных и
интеграции. То есть в переходе от процессов, ориентированных на выполнение
пакетов и имеющих фиксированную длительность, к постоянно меняющимся и
более скоротечным процессам, запускаемым по требованию. В большинстве
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
3
организаций пакетно-ориентированные процессы запускаются в периоды
относительного «простоя» («downtimes»), когда нагрузка на систему невелика.
Обычно это происходит по ночам в течение преопределенных окон в 6-8 часов,
когда предполагается, что в офисе никого нет. Но из-за растущей глобализации
компаний любых типов и масштабов это уже не так. Такое окно очень мало (если
вообще есть), и в каком-то из офисов в одной из частей мира кто-нибудь да
присутствует.
А результат таков:
•
растущая потребность в как можно более быстрой загрузке данных;
•
необходимость одновременной загрузки во множество целевых систем;
•
большое разнообразие целевых систем.
И вы должны не только решить все эти задачи, но и делать это максимально
быстро. В крайних случаях, например при наличии онлайнового бизнеса нужно
интегрировать данные непрерывно. У вас фактически нет окон для пакетных
операций, а задержки не должны превышать считанных минут. Во многих таких
случаях процесс принятия решений автоматизируется на основе постоянно
работающего ПО.
Масштабируемость и производительность становятся еще более важными
факторами, если потребности бинеса не терпят никаких простоев.
Без подходящей технологии системы требуют промежуточного хранения
практически на каждом этапе процесса размещения данных в хранилище и
интеграции. Поскольку в процесс выборки, преобразования и загрузки (Extract,
Transform, and Load — ETL) нужно включать разные (особенно нестандартные)
источники данных и над данными приходится выполнять более сложные операции
(например «просеивание» данных и анализ текста), потребность в промежуточном
хранении возрастает. Как показано на рис. 1, с увеличением точек промежуточного
хранения растет и время, затрачиваемое на «закрытие цикла» (например, для
анализа и выполнения действий над новыми данными). Такие традиционные ETLархитектуры (в противоположность более совершенным ETL-процессам,
выполняемым до загрузки) жестко ограничивают способность систем реагировать
на новые требования бизнеса.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
4
Оповещения и эскалация
Анализ данных
ETL
Центр обработки вызовов:
полуструктурированные
данные
Анализ текста
Промежуточное
хранение
ETL
Унаследованные данные:
двоичные файлы
Промежуточное
хранение
Кодирование
вручную
Информационное хранилище
Очистка и ETL
База данных приложения
Промежуточное
хранение
Отчеты
Данные, передаваемые на
мобильные устройства
Рис. 1
Наконец, способ увязки интеграции данных с общей архитектурой интеграции в
организации становится еще важнее, когда для решения бизнес-задач нужна как
интеграция приложений с технологией выполнения транзакций в реальном
времени, так и технология интеграции данных, ориенированная на пакетную
обработку огромных объемов информации.
Организационные проблемы
При интеграции данных в крупных организациях сталкиваются с двумя
основательными проблемами: «эффективности» («power») и «комфортной зоны»
(«comfort zone»).
Проблема эффективности
Данные — источник эффективности, но обычно очень трудно убедить людей думать
о данных в терминах по-настоящему ценных общих активов компании. Чтобы
интеграция данных на предприятии была успешной, все владельцы разнообразных
источников данных должны согласиться с целями и направлением проекта.
Недостаточная координация участвующих сторон — одна из основных причин
провала проектов по интеграции данных. Содействие со стороны руководителей,
достижение консенсуса и сильная группа, отвечающая за интеграцию данных и
состоящая из множества заинтересованных лиц, — вот лишь некоторые из
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
5
критически важных факторов, которые помогают добиться успеха в решении
проблем.
Проблема комфортной зоны
Вы можете справиться с проблемами интеграции данных, если анализировать их в
контексте какого-либо одного требования, несколькими способами. Кодирование
вручную решает примерно 60% задачи интеграции данных. Технологии,
применяемые для решения аналогичных проблем, могут варьироваться от
репликации, ETL, SQL до Enterprise Application Integration (EAI). Люди тяготеют к
той технологии, с которой они знакомы. Хотя возможности этих подходов
перекрываются и способны дать нужный результат в изолированных случаях, такие
технологии оптимизируются для решения разных наборов проблем. Попытка
справиться с задачей интеграции данных на предприятии в отсутствие здравой
архитектуры вкупе с неправильно выбранной технологией обречена на неудачу.
Экономические проблемы
Организационные и технологические проблемы, кратко обрисованные в
предыдущих разделах, приводят к тому, что интеграция данных становится самой
дорогостоящей частью любого проекта по бизнес-анализу или информационному
хранилищу. Основные факторы, вносящие свой вклад в удорожание интеграции
данных:
•
получение данных в формате, необходимом для интеграции, в итоге
превращается в медленный и мучительный процесс, осложняемый играми в
перетягивание одеяла между подразделениями организации;
•
очистка и преобразование данных, получаемых из множества источников, в
нужный формат — задачи крайне трудные;
•
нередко стандартные средства интеграции данных не обеспечивают
достаточную функциональность или расширяемость, которая удовлетворяла
бы требованиям проекта, относящимся к преобразованию данных. Это может
привести к расходованию значительных денежных сумм на консалтинговые
услуги с целью последующей разработки специального ETL-кода для
выполнения нужной работы;
•
в разных подразделениях организации свой взгляд на проблему интеграции
данных.
Когда возникает необходимость объединить все воедино, приходится тратить
дополнительные средства на интеграцию усилий разных подразделений в единую
для всего предприятия архитектуру интеграции данных.
С появлением потребностей в бизнес-анализе и создании информационных
хранилищ значительно усложняется поддержка неправильно выбранной
архитектуры интеграции данных, и показатель совокупной стоимости владения
подскакивает до небес.
Службы интеграции SQL Server 2008
Традиционный ETL-ориенированный способ интеграции данных из стандартных
источников по-прежнему лежит в основе большинства информационных хранилищ.
Однако потребность во включении большего числа разнообразных источников
данных, новое законодательство, глобальные и онлайновые операции быстро
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
6
трансформируют традиционные требования к интеграции данных. На фоне этого
быстро меняющегося ландшафта потребность в извлечении выгоды из собранных
данных и их достоверности обострилась как никогда раньше. Эффективная
интеграция данных стала основой эффективного процесса принятия решений.
Службы интеграции SQL Server (SQL Server Integration Services, SSIS)
предоставляют гибкую и масштабируемую архитектуру, обеспечивающую
эффективную интеграцию данных в современных бизнес-средах.
В этой статье мы обсудим, почему службы интеграции SQL Server являются
эффективным набором инструментов как для традиционных ETL-операций, так и
для универсальной интеграции данных, потребность в которой постоянно растет.
Мы также рассмотрим, чем SSIS фундаментально отличаются от других
инструментов и решений, предлагаемых основными поставщиками ETL, и как эти
отличия идеально удовлетворяют меняющимся потребностям глобального бизнеса,
будь то крупная компания или малое предприятие.
Архитектура SSIS
Ядро поддержки потока задач и потока данных
SSIS состоит из ядра поддержки потока задач, ориентированных на операции, и
масштабируемого и быстрого ядра поддержки потока данных. Поток данных
существует в контексте общего потока задач. Первое ядро предоставляет ресурсы и
поддержку операций для второго ядра. Такое сочетание потоков задач и данных
обеспечивает эффективность SSIS как в традиционных решениях ETL или
информационных хранилищ, так и во многих, более сложных ситуациях, например
при поддержке операций в центрах обработки данных. В этой статье мы
сосредоточимся в основном на примерах, имеющих отношение к потокам данных.
Применение SSIS для поддержки рабочего процесса, ориентированного на центр
обработки данных, само является отдельной темой.
Архитектура конвейера
В основе SSIS лежит конвейер преобразования данных. Архитектура конвейера
поддерживает буферизацию, что позволяет этому конвейеру работать чрезвычайно
быстро при манипуляциях над наборами данных после их загрузки в память. Суть
подхода в выполнении всех этапов ETL-процесса преобразования данных в рамках
одной операции без промежуточного хранения данных, хотя специфические
требования к преобразованию, операциям или оборудованию могут стать помехой
при реализации этого подхода. Тем не менее для максимальной
производительности в архитектуре сделано все, чтобы уйти от промежуточного
хранения данных. SSIS по возможности даже избегают копирования данных в
памяти. Это принципиально отличается от традиционных ETL-средств, которые
зачастую требуют промежуточного хранения данных почти на каждом этапе
процесса обработки и интеграции данных. Поддержка манипуляций над данными
без промежуточного хранения выходит далеко за рамки возможностей
традиционных ETL-средств преобразования, а также поддержки реляционных и
плоских данных. С помощью SSIS все типы данных (структурированные,
неструктурированные, XML и т. д.) перед загрузкой в свои буферы преобразуются в
табличную структуру (столбцы и строки). Любую операцию, возможную над
табличными данными, допускается выполнять на любой стадии конвейера потока
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
7
данных. Это означает, что единственный конвейер способен интегрировать
разнообразные источники данных и выполнять над этими данными операции
произвольной сложности без промежуточного хранения.
Однако, если промежуточное хранение необходимо по эксплуатационными
причинам или бизнес-требованиям, SSIS предоставляет хорошую поддержку и для
таких реализаций.
Эта архитектура позволяет использовать SSIS в самых разных сценариях
интеграции данных — от традиционных ETL-решений до нетрадиционных
технологий интеграции информации.
Поддержка подключений через ADO.NET
Важный аспект решения на основе служб интеграции — выборка или загрузка
данных. А значит, важно, чтобы такое решение можно было бы без проблем
подключать к широкому спектру источников данных; это позволит добиться
максимальной производительности и надежности, обеспечиваемой комплексной
платформой доступа к данным. Службы интеграции SQL Server 2008
оптимизировано для подключений через ADO.NET (предыдущие версии были
оптимизированы для OLE DB или ODBC). Переход на ADO.NET упрощает
интеграцию систем и поддержку третьими сторонами. Службы интеграции SQL
Server 2005 использовали OLE DB для выполнения таких важных задач, как
операции поиска (lookups), но теперь для любых задач, связанных с доступом к
данным, можно применять ADO.NET.
Поддержка пула потоков
По мере масштабирования интеграционного решения зачастую производительность
растет лишь до определенного предела, а потом выходит на плато, преодолеть
которое очень трудно. Службы интеграции SQL Server 2008 снимают это
ограничение за счет совместного использования потоков (threads) множеством
компонентов, что увеличивает степень распараллеливания и уменьшает частоту
блокирования; это способствует повышению производительности в
крупномасштабных системах с высокой степенью распараллеливания на основе
многопроцессорных и многоядерных аппаратных платформ.
Поддержка пула потоков не только повышает производительность большинства
систем, но и сокращает потребность в ручной настройке SSIS-пакетов, что в свою
очередь способствует увеличению параллелизма и эффективности труда
разработчиков.
Кеширование данных при операциях поиска
Поиск — одна из самых распространенных операций в интеграционном решении.
Такие операции выполняются особенно часто в информационных хранилищах,
поиск данных применяется при преобразовании бизнес-ключей в соответствующие
суррогаты (заменители). Службы интеграции SQL Server 2008 ускоряют операции
поиска и позволяют эффективно выполнять их даже в самых больших таблицах.
Вы можете настроить преобразования поиска на кеширование некоторых или всех
справочных данных до обработки входного столбца. Службы интеграции SQL Server
2008 позволяют загружать полный кеш из любого источника, а размер кеша может
превышать 4 Гб даже в 32-разрядной операционной системе. Используя частичный
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
8
кеш, службы интеграции SQL Server 2008 заранее загружают данные, необходимые
для поиска. Частичный кеш поддерживает OLEDB, ADO.NET и ODBC для поиска в
базах данных, и отслеживает попадания и промахи в процессе поиска. В случае
отказа от предварительного кеширования справочных данных службы интеграции
SQL Server 2008 поддерживают пакетные обращения к базе данных и поиск
совпадений с игнорированием регистра букв.
Варианты интеграции
Применение SSIS для передачи данных
Хотя службы интеграции SQL Server 2005 были гораздо более функциональным и
эффективным продуктом, чем предыдущие версии, многие пользователи находили,
что простые операции передачи данных, выполняемые с применением мастера,
излишне усложнялись, а ряд настроек был недоступен. В службы интеграции SQL
Server 2008 включен усовершенствованный мастер, работающий с ADO.NET,
пользовательский интерфейс улучшен; кроме того, эти службы умеют выполнять
автоматическое преобразование типов данных и обладают более высокой
масштабируемостью по сравнению с предыдущими версиями.
Рис. 2
Применение SSIS для загрузки данных в
информационное хранилище
В своей основе SSIS — комплексный полнофункциональный ETL-инструмент.
Функционалньость, масштабируемость и производительность этих служб очень
выгодно отличается от аналогичных конкурирующих продуктов при значительно
меньшей стоимости. Конвейерная архитектура позволяет SSIS получать данные из
множества источников одновременно, выполнять несколько сложных
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
9
преобразований, а затем передавать данные нескольким приемникам параллельно.
Эта архитектура дает возможность применять SSIS не только для больших наборов
данных, но и для множественных потоков данных. Когда данные передаются из
источника (источников) приемнику (приемникам), вы можете разделять,
объединять и комбинировать поток данных с данными из других потоков данных
или как-то иначе манипулировать информацией. На рис. 3 показан пример такого
потока.
Рис. 3
SQL Server 2008 поддерживает средство Change Data Capture (CDC), с помощью
которого можно регистрировать любые операции вставки, обновления и удаления в
таблицах SQL Server, а детальную информацию об изменениях сделать доступной в
простом для использования реляционном формате. Задействовав преимущества
CDC при реализации ETL-решения в сочетании со службами интеграции SQL Server
2008, вы сможете гарантировать, что в процесс выборки будут включаться только
измененные данные, что исключит издержки, связанные с выполнением полного
обновления данных в каждой ETL-операции, в том числе неизмененных.
Благодаря специализированному набору компонентов, называемых адаптерами,
SSIS могут использовать данные из самых разнообразных источников (а также
загружать их), включая ADO.NET, OLE DB, ODBC, плоские файлы, Microsoft Office
Excel® и XML. SSIS может работать даже с пользовательскими адаптерами данных
(разработанными для внутреннего применения или третьими сторонами). Это
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
10
позволяет обернуть унаследованную логику загрузки данных в источник данных,
который потом можно «бесшовно» интегрировать в SSIS-поток данных. SSIS
предоставляет набор мощных компонентов для преобразования данных,
обеспечивающих операции, крайне важные при создании информационных
хранилищ. К таким компонентам относятся следующие.

Aggregate. Выполняет несколько операций агрегации за один проход.

Sort. Сортирует данные в потоке.

Lookup. Выполняет гибкие операции поиска с кешированием с
использованием наборов справочных данных.

Pivot и UnPivot. Два преобразования, для выполнения поворота (pivot) и
обратного поворота (unpivot) данных в потоке.

Merge, Merge Join и UnionAll. Позволяют выполнять операции
присоединения (join) и объединения (union).

Derived Column. Выполняет операции на уровне столбцов, например
манипуляции над строками и числами, датой и временем, а также
преобразование кодовых страниц. Этот компонент заключает в себе всю
функциональность, которую другие поставщики могут разбивать на
множество компонентов, выполняющих отдельные преобразования.

Data Conversion. Конвертирует данные между разными типами данных
(например, между числовыми и строковыми).

Audit. Добавляет столбцы с необходимыми метаданными и другие данные
аудита.
Помимо этих базовых преобразований, относящихся к информационным
хранилищам, SSIS поддерживает дополнительные, более сложные преобразования,
такие как Slowly Changing Dimensions (SCD). Мастер SCD в SSIS помогает
пользователям задавать свои параметры управления медленно меняющимся
измерениям (slowly changing dimensions) и на основе этих параметров генерирует
полный поток данных с соответствующими преобразованиями. Также
предоставляется поддержка стандартных типов SCD (Type 1 и Type 2) наряду с
новыми типами SCD (Fixed Attributes и Inferred Members). На рис. 4 показано одно
из окон мастера SCD.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
11
Рис. 4
На рис. 5 показан поток данных, сгенерированный этим мастером.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
12
Рис. 5
С помощью SSIS вы можете заставить службы анализа загружать кеши
многомерных OLAP-кубов (MOLAP) непосредственно из конвейера потока данных.
То есть SSIS можно использовать не только для создания реляционных
информационных хранилищ, но и для загрузки многомерных кубов для
аналитических приложений.
SSIS и качество данных
Одна из важнейших особенностей SSIS — возможность интеграции не только
данных, но и различных технологий манипуляций над данными. Это позволило
включить в SSIS инновационные компоненты очистки данных с нечеткой логикой.
Эти компоненты разработаны в Microsoft Research Labs, и они отражают новейшие
научные достижения в этой области. В них заложена независимость от конкретной
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
13
предметной области, т. е. они могут работать с данным независимо от специфики
предметной области, например со справочными данными «адрес-почтовый индекс».
Это позволяет использовать преобразования, поддерживаемые такими
компонентами, для очистки данных большинства типов — не только данных,
относящихся к адресам.
SSIS тесно интегрируется с функциональностью «просеивания» данных в службах
анализа. Поддержка анализа данных обеспечивает абстрагирование от
закономерностей в наборе данных и инкапсулирует их в модели анализа. Вы
можете применять эту модель анализа, чтобы предсказывать, какие данные
относятся к набору, а какие из них, возможно, являются аномальными. А значит,
это позволяет использовать анализ данных как инструмент, обеспечивающий
качество данных.
Поддержка сложного распределения данных в SSIS помогает не только выявлять
аномальные данные, но и автоматически корректировать или заменять их. Это
делает возможным варианты очистки по принципу «замкнутого цикла» («closed
loop»). Пример такого варианта очистки потока данных представлен на рис. 6.
Рис. 6
Кроме встроенных средств, обеспечивающих качество данных, SSIS можно
расширять, чтобы эти службы тесно взаимодействовали со сторонними решениями
в области очистки данных.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
14
Применение SSIS за рамками традиционных
ETL-операций
Способность конвейера манипулировать почти любыми данными, глубокая
интеграция со службами анализа, поддержка расширения с применением широкого
спектра технологий для манипуляций над данными и включение
полнофункционального механизма поддержки рабочих процессов — все это
позволяет использовать SSIS во многих ситуациях, которые обычно рассматривают
как выходящие за рамки традиционных ETL-операций.
Архитектура, ориентированная на сервисы
SSIS поддерживает выбор источников (sourcing) XML-данных в конвейере потока
данных, в том числе файлов на диске и источников, указываемых URL-адресами по
протоколу HTTP. XML-данные преобразуются в табличные, которыми легко
манипулировать в потоке данных. Такая поддержка XML работает в сочетании с
поддержкой веб-служб. SSIS может взаимодействовать с веб-службами для захвата
XML-данных.
Вы можете получать XML из файлов, Microsoft Message Queuing (MSMQ) и из
Интернета по протоколу HTTP. SSIS обеспечивает операции над XML с помощью
XSLT, XPATH, diff/merge и других технологий и может направлять XML в поток
данных.
Вся эта функциональность позволяет включать SSIS как элемент гибкой
архитектуры, ориентированной на сервисы (Service Oriented Architectures, SOA).
Анализ данных и текста
SSIS не только тесно интегрируется со средствами «просеивания» данных в
службах анализа, но и содержит компоненты анализа текста. Анализ текста (также
называемый как классификация текста) включает выявление связей между бизнескатегориями и текстовыми данными (словами и фразами). Это позволяет
распознавать ключевые термины в текстовых данных и на основе этого
автоматически идентифицировать текст как «интересный» или «неинтересный».
Такая функциональность в свою очередь облегчает операции «замкнутого цикла»
(«closed loop») для достижения бизнес-целей, например для увеличения степени
удовлетворенности клиентов и повышения качества продуктов и услуг.
Источник данных по требованию
Одна из уникальных особенностей SSIS — возможность загрузки данных в
ADO.NET-компонент DataReader. Включив этот компонент в конвейер потока
данных, вы можете заметить пакет, содержащий DataReader как источник данных,
предоставляемый как сам ADO.NET DataReader. Благодаря этому можно
использовать SSIS не только как традиционный ETL-инструмент для загрузки
данных в информационное хранилище, но и как источник данных, способный
предоставлять интегрированные, синхронизированные и очищенные данные из
нескольких источников по требованию. Например, вы могли бы задействовать эту
особенность, чтобы службы отчетов (Reporting Services) использовали данные из
множества разнообразных источников, применяя SSIS-пакет как свой источник
данных.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
15
Пример ситуации, в которой очень полезна интеграция всех этих средств, —
выборка интересных статей из RSS-каналов в контексте создания регулярных
отчетов. На рис. 7 показан SSIS-пакет, который получает данные из RSS-каналов
по Интернету, интегрирует их с данными от веб-службы, анализирует текст для
поиска интересных статей в RSS-каналах, а затем помещает эти статьи в
DataReader для последующего использования в отчете Reporting Services.
Рис. 7
Рис. 8 демонстрирует применение SSIS-пакета в качестве источника данных в
мастере отчетов (Report Wizard).
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
16
Рис. 8
С точки зрения ETL, этот вариант очень необычен, так как не используется ни
выборка данных, ни преобразование, ни загрузка.
SSIS как платформа интеграции
SSIS выходит далеко за рамки возможностей ETL-инструментов не только из-за
своей поддержки нетрадиционных вариантов применения, но и потому что это
настоящая платформа для интеграции данных. SSIS является частью платформы
бизнес-анализа (Business Intelligence, BI) SQL Server, которая позволяет
разрабатывать полнофункциональные BI-приложения.
Интегрированная платформа разработки
Службы интеграции, анализа и отчетов SQL Server — все используют общую среду
разработки на основе Microsoft Visual Studio®, которая называется SQL Server
Business Intelligence (BI) Development Studio. BI Development Studio предоставляет
интегрированную среду разработки (integrated development environment, IDE) для
создания BI-приложений. Эта общая инфраструктура обеспечивает интеграцию
различных проектов (по интеграции, анализу и формированию отчетов) на уровне
метаданных. Пример такой общей конструкции — Data Source View (DSV), которое
является определением автономной схемы/представления (offline schema/view
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
17
definition) источников данных и используется во всех трех типах проектах бизнесанализа.
IDE поддерживает интеграцию с ПО для контроля версий файлов (например, VSS),
а также средства, необходимые в условиях групповой разработки, в частности
регистрацию файлов в системе контроля версий и их изъятие из нее (checkin/check-out), и как таковая эта среда отвечает требованиям, предъявляемым к
средам корпоративной разработки в группах для создания приложений бизнесанализа. На рис. 9 показано решение BI Development Studio, состоящее из
проектов Integration (интеграция), Analysis (анализ) и Reporting (отчеты).
Рис. 9
Эта среда не только предоставляет все необходимое для разработки BIприложений, но и может быть использована для разработки других проектов Visual
Studio (с применением Visual C#®, Visual Basic® .NET и т. д.), а значит, является
настоящим комплексным решением для разработки.
Помимо интегрированной среды разработки в области бизнес-анализа, BI
Development Studio поддерживает отладку SSIS-пакетов в период выполнения.
Поддерживаются точки прерывания (останова) и другие стандартные средства, в
частности контрольные переменные (watching variables). По-настоящему
уникальное средство — Data Viewer, который позволяет просматривать записи
(строки с данными) при их обработке службами интеграции в конвейере потока
данных. Данные можно визуализировать в виде обычной текстовой таблицы или
как графическое представление, например точечного графика (графика с
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
18
нанесенными на него точками) или линейчатой диаграммы. Фактически можно
подключить несколько средств просмотра, которые будут одновременно отображать
одни и те же данные в разных форматах. На рис. 10 показан пример
географических данных, визуализированных в виде точечного графика и текстовой
таблицы.
Рис. 10
Возможности программирования
Кроме поддержки среды профессиональной разработки, SSIS предоставляет доступ
ко всей своей функциональности через набор API-средств — как управляемых
(.NET Framework), так и неуправляемых (Win32); это позволяет разработчикам
расширять функциональность SSIS собственными компонентами, создаваемыми на
любом языке, поддерживаемом .NET Framework (например, на Visual C#, Visual
Basic .NET и т. д.), а также на Visual C++. Эти компоненты могут быть задачами в
рабочих процессах (workflow tasks) и операциями преобразования в потоке данных
(data-flow transformations), в том числе адаптерами источников и приемников. Это
дает возможность легко включать в SSIS-процессы интеграции унаследованные
данные и функциональность, позволяя эффективно использовать прошлые
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
19
инвестиции в устаревшие технологии. Это также позволяет легко включать
компоненты от сторонних поставщиков.
Поддержка сценариев
Возможности расширения, упомянутые в предыдущем разделе, вовсе не
ограничиваются поддержкой повторно используемых пользовательских
компонентов — вы также можете расширять функциональность SSIS, создавая
сценарии. В SSIS имеются компоненты поддержки сценариев как для потока задач,
так и для потока данных. Пользователи могут писать сценарии на Visual Basic. NET,
добавляя специфическую функциональность (в том числе источники и приемники
данных), а также задействовать любую функциональность, упакованную с сборки
.NET Framework.
SQL Server 2008 включает Visual Studio Tools for Applications, который
предоставляет среду для написания сценариев; эта среда позволяет использовать
Visual Basic .NET или C# для реализации «сценарных» компонентов.
На рис. 11 показан пример сценария, проверяющего наличие какого-либо файла
Office Excel.
Рис. 11
Такая модель расширяемости превращает SSIS не только в инструмент интеграции
данных, но и в интегрирующую шину (Integration Bus), к которой легко
подключаются такие технологии, как анализ данных и текста и Unified Dimensional
Model (UDM). Это обеспечивает поддержку вариантов с очень сложной
интеграцией, в том числе с относительно произвольными структурами данных и
операциями.
Microsoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
20
Упрощение интеграции данных
Гибкая и расширяемая архитектура SSIS позволяет справиться с большинством
технологических проблем, возникающих при интеграции данных и кратко
описанных в начале этой статьи. Как показано на рис. 12, SSIS исключает (или
хотя бы минимизирует) ненужное промежуточное хранение. Поскольку эти службы
выполняют сложные манипуляции над данными в ходе одной конвейерной
операции, теперь можно быстро реагировать на изменения в данных (в течение
короткого времени, имеющего смысл в замкнутом цикле) и предпринимать
соответствующие действия. Такая архитектура принципиально отличается от
отрадиционных, в которых полагаются на промежуточное хранение данных и
которые становятся непрактичными в замкнутом цикле.
Оповещения и эскалация
Компоненты для
анализа текста
Компоненты для
анализа данных
Мобильные устройства
Центр обработки вызовов:
полуструктурированные
данные
Нестандартный
источник данных
Объединение
Унаследованные данные:
двоичные файлы
Информационное хранилище
Стандартные
источники данных
Компоненты для
очистки данных
Службы интеграции SQL Server 2008
База данных приложения
Отчеты
Рис. 12
Возможности расширения SSIS позволяют организациям задействовать
существующие инвестиции в уже написанный код для интеграции данных, обернув
его в повторно применяемые расширения для SSIS, и за счет этого использовать
все преимущества таких средств, как протоколирование, отладка, интеграция
функций бизнес-анализа и т. д. Это сильно помогает в преодолении некоторых
организационных проблем, кратко обрисованных ранее.
С учетом включения SSIS в SQL Server первоначальная стоимость продукта весьма
умеренна по сравнению с другими средствами интеграции данных класса «highMicrosoft Corporation ©2007
Обзор служб интеграции SQL Server 2008
21
end». Но снижается не только первоначальная стоимость. За счет тесной
интеграции с Visual Studio и остальными инструментами бизнес-анализа в SQL
Server также заметно снижается стоимость разработки и сопровождения
приложений по сравнению с аналогичными средствами от конкурентов. Весьма
умеренный показатель совокупной стоимости владения (TCO) для SSIS (и
остальной части SQL Server) делает возможным распространение интеграции
данных корпоративного класса на все сегменты рынка, позволяя применять ее не
только в самых крупных (и самых богатых) компаниях. Кроме того, архитектура
SSIS оптимизирована для наиболее эффективного использования преимуществ
современного оборудования и обеспечения высочайших уровней
производительности и масштабирования. SSIS позволяет использовать
масштабируемую интеграцию данных всем клиентам — от самых крупных компаний
до малых предприятий. В сочетании с остальными средствами SQL Server,
инфраструктурой Microsoft поддержки клиентов (от широкого и длительного
тестирования бета-версий до контрактов на поддержку высшего класса с участием
онлайновых сообществ квалифицированных экспертов), а также согласованностью
и интеграцией с остальными предложениями продуктов Microsoft службы SSIS
являются по-настоящему уникальным набором инструментов, открывающим новые
горизонты в интеграции данных.
Заключение
В получении осмысленной надежной информации многие предприятия опираются
на технологии интеграции данных, и это дает им преимущество в конкурентной
борьбе в мире современного бизнеса. Службы интеграции SQL Server 2008
Integration Services (SSIS) помогают ИТ-отделам удовлетворять требования к
интеграции данных в своих компаниях. Службы интеграции SQL Server 2008
помогают решать весьма сложные задачи очистки и преобразования больших
объемов данных, поступающих из многочисленных источников, и переводить их в
нужный формат. Новые средства улучшают масштабируемость и повышают
производительность, в то же время ускоряя разработку и снижая TCO.
Более подробные сведения см. по ссылке
http://www.microsoft.com/sql/technologies/integration/default.mspx
Помогла ли вам эта статья? Пожалуйста, сообщите нам свой отзыв. Как вы оценили
бы эту статью, используя шкалу от 1 (плохо) до 5 (отлично), и почему ваша оценка
именно такова? Например:

вы высоко оцениваете статью, потому что в ней есть хорошие примеры,
отличные иллюстрации, она внятно написана или по какой-либо другой
причине?

вы даете низкую оценку из-за плохих примеров, запутанных иллюстраций
или невнятного изложения?
Ваши отзывы помогут нам повысить качество выпускаемых нами документов.
Присылайте ваши отзывы по адресу sqlfback@microsoft.com.
Microsoft Corporation ©2007
Download