Базы данных - MySQL - статьи

         

Пример заполнения традиционного хранилища данных


По своей сути SSIS является комплексным и полнофункциональным инструментом для систем ETL (систем извлечения, преобразования и загрузки данных). По функциональным возможностям, масштабу и производительности он стоит вровень с ведущими конкурентами в данной области, а по цене намного предпочтительнее их. Архитектура конвейерной обработки данных позволяет ему одновременно принимать данные из множества источников, производить над ними сложные множественные преобразования, а затем одновременно выгружать данные во множество приемников. Такая архитектура позволяет использовать SSIS не только для работы с большими наборами данных, но и для сложных потоков данных. На своем пути от источника(ов) к приемнику(ам) один поток данных можно разделить, соединить, смешать с другими потоками данных, или произвести еще какие-нибудь манипуляции. На Рисунке 2 показан пример такого потока:

Рисунок 2

SSIS может извлекать (а также выгружать) данные из различных источников, включая OLE DB, управляемые источники (ADO.NET), ODBC, плоские файлы, Excel, и XML, с помощью специального набора компонент, которые называются адаптерами (adapters). SSIS также может использовать для извлечения данных индивидуальные адаптеры (custom adapters), т.е. созданные самостоятельно или другими производителями для своих нужд. Это позволяет включить унаследованную логику загрузки данных непосредственно в источник данных, который, в свою очередь, без дополнительных действий может быть внедрен в поток данных SSIS. В SSIS включает в себя набор мощных средств преобразования данных, с помощью которых можно производить с данными все манипуляции, которые необходимы при создании хранилищ данных. Эти компоненты включают:

  • Aggregate - позволяет вычислять всевозможные агрегаты за один проход.
  • Sort - упорядочивает данные в потоке.
  • Lookup - осуществляет гибкий кэшированный поиск в связанных наборах данных.
  • Pivot и UnPivot - два отдельных преобразования смысл которых полностью совпадает с их именами.
  • Merge, Merge Join, и Union All - выполняют операции по соединению и объединению.
  • Derived Column - осуществляет манипуляции над столбцом данных. Такие как строковые, числовые, временные и прочие преобразования, а также перевод из одной кодировки в другую. Этот компонент может заменить несколько операций преобразования данных в продуктах других фирм.
  • Data Conversion - преобразует данные в различные типы (числовой, строковый и т.д.).
  • Audit - добавляет столбцы с построчными метаданными о происхождении или другими оперативными данными аудита


Вдобавок к этим основным преобразованиям данных для хранилищ данных SSIS включает поддержку расширенных хранилищ, таких как Slowly Changing Dimensions (SCD - Редко Обновляемые Размерности). Мастер SCD поможет пользователям в определении того, какие измерения являются редко обновляемыми, и на основе этой информации создаст полностью готовый к использованию поток данных с несколькими преобразованиями, реализующими загрузку медленно изменяющихся измерений. В дополнение к двум стандартным типам SCD (SCD Type 1 и SCD Type 2) предлагаются еще два новых типа - Fixed Attributes и Inferred Members (ФиксированныеПризнаки и ВыведенныеЭлементы). На Рисунке 3 отображен один из диалогов Мастера SCD.

Рисунок 3
На Рисунке 4 показан поток данных, созданный этим Мастером.
Рисунок 4
SSIS также можно использовать для загрузки данных в многомерные OLAP кэши (MOLAP) Analysis Services непосредственно из конвейера обработки данных. Это значит, что SSIS пригоден не только для создания реляционных хранилищ данных, но и для загрузки многомерных кубов для аналитических аппликаций.

Содержание раздела