Резюме:
Данная статья посвящена проблемам, которые возникают в тех сферах деятельности, что связанны с технологиями интеграции данных, которые должны снабжать современный деловой мир ясной и достоверной информацией для создания преимущества над конкурентами.
В статье рассказано, как SQL Server 2005 Integration Services (SSIS) могут помочь департаментам информационных технологий выполнить требования их компании. Приведены практические примеры.
Авторские права
Этот документ является предварительным и может быть существенным образом переработан до финального коммерческого релиза программного продукта
Информация, содержащаяся в этом документе, представляет текущую точку зрения корпорации Microsoft на обсуждаемые вопросы на момент публикации. Поскольку Microsoft должна реагировать на изменяющиеся условия на рынке, документ не следует рассматривать как обязательство со стороны Microsoft; корпорация Microsoft не может гарантировать, что вся представленная информация сохранит точность после даты публикации.
Настоящий документ предназначен только для информационных целей. MICROSOFT НЕ ДАЕТ В ЭТОМ ДОКУМЕНТЕ НИКАКИХ ЯВНЫХ ИЛИ ПОДРАЗУМЕВАЕМЫХ ГАРАНТИЙ.
Если не оговорено противное, используемые в этом документе названия компаний и продуктов, имена людей, действующие лица и/или данные являются вымышленными, и их ни в коей мере не следует связывать с какими-либо реальными людьми, компаниями, продуктами или событиями.
© 2005 Microsoft Corporation. Все права защищены.
Microsoft, SharePoint, Visual Basic и Visual Studio являются товарными знаками или охраняемыми товарными знаками корпорации Майкрософт в США и/или в других странах.
Другие упоминаемые здесь названия продуктов или компаний могут представлять собой торговые марки соответствующих владельцев.
Исследование быстрого роста данных для лучшего понимания прошлого и тенденций будущего оказалось одним из наиболее рискованных начинаний для департаментов информационных технологий мировых организаций.
Существуют три глобальных группы проблем, связанных с процессом интеграции данных:
В данной статье мы подробно исследуем эти проблемы и обсудим возможность их решения с помощью Microsoft® SQL Server™ 2005 Integration Services (SSIS). Для начала рассмотрим их на практическом примере.
На данный момент, внешние данные, такие как метеорологическая информация, состояние транспортной системы, и информация о поставщиках (для субподрядных поставок) вносится в систему с задержкой из текстовых файлов из различных источников.
В идеальном случае даже если мы каким-то образом сумеем собрать все эти данные в одном месте, то перед нами тут же возникнут новые проблемы. А именно:
Опять предположим, что каким-то волшебным способом мы справились с задачей сбора данных и можем эти данные очистить, преобразовать и отобразить в нужном нам формате. По-прежнему существует отступление от традиционных способов перемещения и интеграции данных. Это отступление выражается в переходе от фиксированных длительных пакетно-ориентированных процессов к изменчивым и коротким процессам, запускаемым по требованию. Пакетно-ориентированные процессы обычно работали в часы "простоя", когда нагрузка на систему со стороны пользователей мала. Обычно это заранее определенное "окно" в 6-8 часов в ночное время, когда не предполагается наличие кого-либо на рабочем месте. Но в условиях глобализации всех видов и типов бизнеса такое предположение уже не является неоспоримым. Время простоя системы становится малым или вообще исчезает, поскольку кто-нибудь из работников всегда находится на рабочем месте где-то по всему миру. Другими словами в глобальном бизнесе больше нет понятия конец рабочего дня. В результате чего мы имеем:
Все перечисленное выше нам не только предстоит сделать, но предстоит сделать наиболее быстрым способом. В особо "тяжёлых" случаях, например, в онлайн бизнесе существует необходимость в непрерывной интеграции данных. В таком бизнесе не существует временных "окон" для пакетной обработки и время ожидания данных не может превышать нескольких минут. Во многих подобных системах процесс принятия решения автоматизирован с помощью программного обеспечения с непрерывной обработкой.
Масштабируемость и производительность становятся все более и более важными в тех сферах бизнеса, которые не могут позволить себе и малейшего времени простоя.
Без подходящей технологии система почти на каждом этапе процесса работы с хранилищем данных и интеграции данных нуждается в дополнительных действиях над данными. При использовании в ETL (Extract, Transform, and Load - система извлечения, преобразования и загрузки данных) различных (особенно нестандартных) источников данных, а также при сложных манипуляциях с данными (например, при data mining - нахождении трендов), потребность в дополнительной обработке данных возрастает. Как показано на Рисунке 1, с увеличением дополнительных этапов обработки данных возрастает и время "закрытия цикла" (т.е. время на анализ новых данных и выполнения действий над новыми данными). Традиционные архитектуры ETL (как противоположность "чистым" ETL процессам, т.е. происходящим до загрузки данных) накладывают серьёзные ограничения на способность системы соответствовать возникающим потребностям бизнеса.
И, наконец, вопрос о том, как проблема интеграции данных влияет на общую архитектуру интеграции предприятия становится более значимым,
когда одновременно требуется применять как транзакционную технологию интеграции приложений реального времени, так и пакетно-ориентированную высокообъемную технологию интеграции данных для решения бизнес проблем предприятия.
Проблема "Власти": Данные имеют реальную силу, но обычно людей трудно заставить воспринимать данные как действительно ценный общий актив компании. Для успешной интеграции корпоративных данных необходимо, чтобы владельцы всех многочисленных источников данных искренне прониклись целями и задачами этого проекта. Недостаток взаимодействия между вовлечёнными сторонами является одной из главных причин неудач, постигающих проекты интеграции данных. Административная поддержка, достижение согласия и сильная команда, состоящая из представителей всех сторон - вот важнейшие факторы, влияющие на успех проекта и помогающие решать проблемы.
Проблема "Зоны комфорта": Проблемы интеграции данных, если их рассматривать только в контексте одной потребности, могут быть решены разными способами. Около 60% задач интеграции данных можно решить ручного кодирования. При этом для решения подобных задач может быть использован большой спектр средств, начиная с репликации, технологии извлечения, преобразования и загрузки данных(ETL), SQL запросов, и заканчивая интеграцией прикладных систем предприятия(EAI - Enterprise Application Integration).
Люди склонны к использованию тех технологий, которые им знакомы.
Хотя такие методы и имеют пересекающиеся возможности и могут, наверное, использоваться для решения отдельных задач, но все эти технологии все-таки изначально оптимизировались для решения задач разного типа. При реализации задачи корпоративной интеграции данных промах на этапе определения для выбранной архитектуры подходящих методов реализации может обернуться провалом проекта.
А если проект создания хранилища данных или проект корпоративной базы знаний потребует еще и реорганизации самой компании, то по мере развития проекта ошибочная архитектура интеграции данных будет становиться все более неуправляемой и цена ее владения взлетит до небес.
Эффективная система интеграции данных является основой для эффективной же системы принятия решений. SQL Server Integration Services предлагает гибкую, производительную и масштабируемую архитектуру для эффективной интеграции данных в современных условиях ведения бизнеса.
В данной статье мы рассмотрим почему SQL Server Integration Services (SSIS) является эффективным средством как для реализации ETL систем с обычными требованиями, так и для решения растущих потребностей в рамках общего проекта интеграции данных. Мы также обсудим фундаментальные отличия SSIS от решений других производителей ETL систем. И убедимся, что он идеально подходит для удовлетворения меняющихся потребностей мирового бизнеса, как в больших корпорациях, так и в малых фирмах.
Хотелось бы также отметить то, что если все же по соображениям бизнеса или оперативным причинам нам требуются промежуточные результаты, то SSIS обеспечивает нам хорошие возможности для их получения.
Такая архитектура позволяет использовать SSIS в большом числе проектов по интеграции данных, начиная от традиционных ETL систем для хранилищ данных и заканчивая нетрадиционными технологиями по интеграции информации.
SSIS может извлекать (а также выгружать) данные из различных источников, включая OLE DB, управляемые источники (ADO.NET), ODBC, плоские файлы, Excel, и XML, с помощью специального набора компонент, которые называются адаптерами (adapters). SSIS также может использовать для извлечения данных индивидуальные адаптеры (custom adapters), т.е. созданные самостоятельно или другими производителями для своих нужд. Это позволяет включить унаследованную логику загрузки данных непосредственно в источник данных, который, в свою очередь, без дополнительных действий может быть внедрен в поток данных SSIS. В SSIS включает в себя набор мощных средств преобразования данных, с помощью которых можно производить с данными все манипуляции, которые необходимы при создании хранилищ данных. Эти компоненты включают:
Вдобавок к этим основным преобразованиям данных для хранилищ данных SSIS включает поддержку расширенных хранилищ, таких как Slowly Changing Dimensions (SCD - Редко Обновляемые Размерности). Мастер SCD поможет пользователям в определении того, какие измерения являются редко обновляемыми, и на основе этой информации создаст полностью готовый к использованию поток данных с несколькими преобразованиями, реализующими загрузку медленно изменяющихся измерений. В дополнение к двум стандартным типам SCD (SCD Type 1 и SCD Type 2) предлагаются еще два новых типа - Fixed Attributes и Inferred Members (ФиксированныеПризнаки и ВыведенныеЭлементы). На Рисунке 3 отображен один из диалогов Мастера SCD.
Рисунок 3
На Рисунке 4 показан поток данных, созданный этим Мастером.
SSIS также можно использовать для загрузки данных в многомерные OLAP кэши (MOLAP) Analysis Services непосредственно из конвейера обработки данных. Это значит, что SSIS пригоден не только для создания реляционных хранилищ данных, но и для загрузки многомерных кубов для аналитических аппликаций.
Поддержка комплексных методов передачи данных в SSIS позволяет не только обнаружить аномальные данные, но так же автоматически исправить их и заменить лучшими значениями. Т.е. возможно создать полный цикл очистки данных. На Рисунке 5 представлен пример такого полного цикла.
В дополнение к встроенным методам контроля качества данных SSIS может быть расширен за счет аналогичных решений от других производителей.
Архитектура, ориентированная на службы (Service Oriented Architecture)
SSIS включает поддержку извлечения XML данных в конвейере потока данных, как из файла на диске, так и непосредственно из URL-ов через HTTP. XML данные приводятся к табличному виду, что позволяет легко манипулировать ими в потоках данных. Такая возможность может быть использована для работы с Web-службами. SSIS может взаимодействовать с Web-службами в управляющем потоке, перехватывая XML данные от них.
Также XML данные могут быт получены из файлов, из Microsoft Message Queuing (MSMQ), и из Web через HTTP. SSIS позволяет обрабатывать XML данные с использованием XSLT, XPATH, diff/merge и т.д. А также направлять XML в поток данных.
Такая поддержка позволяет SSIS участвовать в гибкой архитектуре, ориентированной на службы (Service Oriented Architectures - SOA).
Data & Text Mining
SSIS не только имеет глубокую интеграцию с методами Data Minig Analysis Services, но также содержит средства Text Minig. Text Minig, также известная как систематизация текстов, представляет собой определение связей между видами бизнеса и текстовыми данными (словами и фразами). Этот метод позволяет находить в текстовых данных ключевые понятия и, опираясь на них, автоматически идентифицировать весь текст как представляющий определенный интерес. Это, в свою очередь, может инициировать полный цикл других действий для выполнения других бизнес задач. Например, для увеличения удовлетворенности потребителей или улучшения качества продукции и услуг.
Источники данных по требованию
Одной из уникальных особенностей SSIS является приемник данных DataReader, который выгружает данные в DataReader из ADO.NET. Когда этот компонент включается в конвейер обработки данных, то пакет, содержащий приёмник DataReader, может быть использован как источник данных, работающий как DataReader из ADO.NET. Что позволяет использовать SSIS не только в традиционных системах ETL для загрузки данных в хранилища, но и в качестве источника данных поставляющего единообразные, согласованные и очищенные данные, полученные из множества источников по требованию. Например, Reporting Services может использовать пакет SSIS в качестве источника данных для получения данных из множества различных источников.
Одним из возможных примеров, объединяющем в себе данные методы, может быть система, которая распознает полученные через RSS статьи на предмет статей с интересующей нас информацией и включает их в стандартный отчет. На Рисунке 6 показан SSIS пакет, получающий данные из Интернета посредством RSS, соединяющий эти данные с данными от Web-службы, производящий добычу текста для нахождения интересующей нас информации и записывающий эту информацию в DataReader приемник, который в итоге будет использован в отчете в Reporting Services.
Рисунок 7 показывает использование пакета SSIS в качестве источника данных в Мастере Отчётов.
Рисунок 7
С точки зрения стандартных ETL средств, предложенный пример выглядит очень необычно, т.к. в действительности не содержит ни операций извлечения данных, ни операций по их преобразованию и сохранению.
Эта интегрированная среда разработки (IDE) предлагает такие возможности как взаимодействие с приложением контроля версий (например, VSS) вместе с поддержкой особенностей командной разработки, например, "check-in/check-out", а также удовлетворяет потребности командных средств разработки корпоративного уровня для BI приложений. На Рисунке 8 одно из решений на основе BI Development Studio, содержащее проекты для интеграции данных, их анализа и получения отчетов.
Помимо единого места для создания BI приложений, можно создавать и другие проекты Visual Studio (с использованием Visual C#®, Visual Basic® .NET и т.д.), что даст разработчикам опыт в создании действительно сквозных приложений. Помимо интегрированной среды разработки, BI Development Studio обладает возможностью отладки SSIS пакетов во время выполнения. Что включает в себя возможность задания точек останова и поддержку таких стандартных приемов разработки как отслеживание значений переменных. А уникальной особенностью является Data Viewer, позволяющий просматривать строки данных в том виде, в каком они обрабатываются в конвейере потока данных. Просматривать данные можно как в виде обычной текстовой таблицы, так и в графическом виде, например, как диаграмму разброса данных или как гистограмму. Фактически же можно одновременно отображать данные в разных форматах с помощью разных средств просмотра. На Рисунке 9 показан пример одновременного отображения географических данных в виде диаграммы разброса и текстовой таблицы.
На Рисунке 10 показан пример скрипта манипулирующего строками данных внутри потока данных.
Такая расширяемая модель делает SSIS не только средством интеграции, но превращает его в интеграционную магистраль (Integration Bus) внутри которой технологии вида Data Mining, Text mining или UDM можно легко подключить для создания сложных сценариев интеграции включающих большое количество операций с произвольными данными и структурами.
Расширяемая сущность SSIS позволяет организациям в полном объеме использовать уже сделанные вложения в специальный программный код проекта интеграции данных за счет включения этого кода в SSIS в виде повторно используемых расширений и получения в дополнение к этому средств ведения протокола, отладки, интеграции с BI и т.д. Все это действительно поможет в преодолении тех организационных трудностей, которые мы упомянули ранее в этой статье.
Включение SSIS в состав SQL Server делает стоимость покупки первого удивительно выгодной по сравнению с другими профессиональными средствами интеграции данных. Но мы имеем не только низкую начальную стоимость, а также из-за тесной интеграции с Visual Studio и другими средствами SQL Server BI значительно снижаются (в сравнении с другим аналогичным ПО) затраты на разработку и сопровождение. Действительно умеренная общая стоимость владения (total cost of ownership - TCO) SSIS (а в дополнение и SQL Server) делает вполне достижимой задачу корпоративной интеграции данных для всех сегментов рынка, а не исключительно для самых больших (и, разумеется, самых богатых) компаний. В тоже время архитектура SSIS приспособлена ко всем достижениям современного оборудования и предоставляет производительность и масштабируемость согласно самым высоким пользовательским требованиям. SSIS с его богатым и масштабируемым набором возможностей по интеграции данных подойдет всем пользователям от мала до велика - от самых больших корпораций до малого и среднего бизнеса. В связке с другими возможностями SQL Server, благодаря инфраструктуре поддержки клиентов фирмы Microsoft (начиная от всестороннего и тщательного бэта-тестирования и заканчивая множеством онлайн сообществ и примьер договорами о поддержке) и согласованности и интеграции с другими продуктами Microsoft, SSIS является поистине уникальным продуктом, который открывает новые горизонты в области интеграции данных