Published on

August 9, 2008

Изучение профилирования данных SQL Server в SSIS 2008

SQL Server 2008 представил новую функцию в SSIS, называемую Data Profiler. Эта функция позволяет нам получить представление о данных, хранящихся в наших таблицах, включая количество уникальных значений в каждом столбце и распределение значений данных. Data Profiler особенно полезен в хранилищах данных, как в процессе ETL, так и при создании кубов в SSAS.

При разработке пакета ETL часто необходимо понять значения данных в столбце. Например, нам может потребоваться определить, содержит ли столбец в основном пустые значения или содержит допустимые данные. Data Profiler может помочь нам принимать обоснованные решения о том, включать или исключать определенные значения или шаблоны на основе требований к качеству данных. Он также может помочь в определении потенциальных иерархий в таблицах измерений.

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

В прошлом я использовал Informatica Data Explorer (IDE) для анализа распределения значений данных в фактических и измерительных таблицах хранилища данных для создания кубов SSAS. Я часто задавался вопросом, когда у нас появится аналогичная функция в SQL Server Management Studio, где мы могли бы просто щелкнуть правой кнопкой мыши на любой таблице и выбрать “Анализ” для получения профиля данных. С появлением SSIS 2008 Data Profiler у нас теперь есть отправная точка для этой функциональности.

Давайте ближе рассмотрим вывод SSIS 2008 Data Profiler. В левой панели мы можем увидеть таблицы, которые мы проанализировали, вместе с профилями, которые мы выполнили для каждой таблицы. В правой панели отображаются детали выбранного профиля. Например, профиль “Распределение значений столбцов” показывает список столбцов и количество уникальных значений в каждом столбце. Щелчок на столбце в этой панели отобразит распределение значений данных, включая само значение, количество строк, содержащих это значение, и процент от общего числа строк.

Помимо анализа распределения значений данных, SSIS 2008 Data Profiler также может анализировать:

  • Количество нулевых значений в столбце
  • Шаблон значений данных
  • Минимальные и максимальные значения в каждом столбце
  • Среднее (среднее) и стандартное отклонение значений данных в каждом столбце
  • Какой столбец(ы) является хорошим кандидатом для первичного ключа
  • Является ли столбец полностью или частично зависимым от другого столбца(ов)
  • Существуют ли все значения в столбце в другой таблице

Чтобы настроить задачу профилирования данных в SSIS, откройте BIDS и создайте новый проект SSIS. Перетащите задачу профилирования данных на поверхность дизайна и дважды щелкните, чтобы отредактировать ее. Укажите имя файла назначения и щелкните “Profile Requests” в левой панели. Выберите “Распределение значений столбцов” в качестве типа профиля и укажите данные для подключения. Затем выберите таблицу и столбцы для анализа и нажмите OK.

После запуска пакета SSIS будет создан файл вывода. Чтобы просмотреть файл вывода, нам нужно использовать утилиту Data Profile Viewer. Перейдите в соответствующую папку (например, C:\Program Files\Microsoft SQL Server\100\DTS\Binn) и выполните DataProfileViewer.exe. Откройте файл вывода, созданный задачей профилирования данных SSIS, и вы увидите профиль данных, аналогичный показанному на рисунке 1.

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

Хотя возможности профилирования данных в SQL Server 2008 довольно просты и не очень удобны для пользователя, это хорошая отправная точка. Для инструмента ETL важно иметь функцию профилирования данных, независимо от того, является ли она дополнительной стоимостью или нет. Мы можем ожидать значительного улучшения функции профилирования данных SSIS в будущих версиях SQL Server. Надеюсь, что утилита Data Profile Viewer будет интегрирована в BI Development Studio, и мы сможем щелкнуть правой кнопкой мыши на любой таблице в Management Studio и выбрать “Анализ” для получения профиля данных.

Следите за обновлениями функций и лучшими практиками SQL Server!

Автор: Винсент Райнарди

Дата: 7 июля 2008 года

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.