Специалисты Microsoft понимают важность технологий бизнес-аналитики (BI) и стараются создавать мощные, но при этом простые в использовании средства для разработчиков и пользователей решений BI. Доказательством тому служит продукт SQL Server 2012, содержащий большое количество новых функций и улучшений для процессов BI.
Я расскажу о наиболее важных из этих возможностей, разделив их на логические области, которые прорисовываются в полном цикле разработки решения BI: интеграция данных, управление и хранение данных, отчеты для конечных пользователей.
Изменения в области интеграции данных
Интеграция данных включает в себя операции извлечения, преобразования и загрузки данных (ETL), а также очистку исходных данных в киоске данных или в хранилище. Службы SQL Server Integration Services (SSIS), Data Quality Services (DQS), Master Data Services (MDS) и SQL Server Data Tools (SSDT) являются признанными лидерами среди средств, используемых в процессе интеграции данных. Давайте посмотрим, какие улучшения были внесены в каждый из этих инструментов.
SSIS. Служба SSIS – это сердце любого проекта BI. В версию SSIS 2012 разработчики добавили новые возможности, сделав данную службу более эффективным инструментом для выполнения операций ETL. Возможно, наиболее заслуживающим упоминания изменением является новая модель развертывания пакетов, которая позволяет собирать, развертывать и выполнять множество пакетов SSIS в виде проекта SSIS. Напомню, что ранее приходилось развертывать каждый пакет по отдельности.
Все развертываемые проекты хранятся в каталоге — в новой базе данных с именем SSISDB, на сервере SSIS. Когда вы хотите обратиться к проекту в базе SSISDB, вам не нужно запускать отдельную службу. Как показано на экране 1, каталог SSISDB появляется в виде узла в оснастке Object Explorer при подключении к экземпляру базы данных SQL Server.
Экран 1. Каталог SSISDB |
При использовании модели развертывания пакетов для установки свойств пакета вместо настроек применяются параметры и окружения. Параметры являются аналогами переменных из версий SSIS 2008 R2 и SSIS 2008. Вы можете использовать параметры уровня пакета и параметры уровня проекта. Параметры уровня пакета позволяют изменять процесс выполнения без необходимости редактирования и повторного развертывания пакета. Параметры уровня проекта определяются за рамками пакета и могут быть использованы любым пакетом внутри проекта. Таким образом, нет необходимости в создании родительских настроек пакета или в привязке нескольких пакетов к одному и тому же файлу настроек. Это шаг вперед по сравнению с технологией использования переменных, которые действовали только в рамках пакета. Однако вы не можете изменить значение параметра уровня проекта во время исполнения пакета, как это можно было сделать с переменной.
Окружения – это новый тип объектов. Они являются оболочкой для всей информации, касающейся окружения, которую вы хотите хранить за рамками пакета. Вы можете создать несколько окружений исполнения, например одно для разработки, другое для проверки соответствия качества (QA), а третье для производственной среды. При выполнении пакета вы выбираете, с каким окружением он будет работать. В переменных окружения вы можете хранить информацию для строки подключения, например имя сервера для каждого окружения. Таким образом устраняется необходимость в использовании конфигураций пакета. Несколько окружений могут обслуживаться одним экземпляром SSIS, но в большинстве решений скорее всего будет использоваться отдельный сервер SSIS для каждого окружения.
Помимо модели развертывания пакетов, версия SSIS 2012 включает и другие существенные улучшения.
- Встроенная инфраструктура ведения журналов. С появлением новой встроенной инфраструктуры ведения журналов вам, возможно, не придется создавать собственную структуру SSIS. Информация (например, о том, какие пакеты были выполнены, сколько времени заняло их выполнение, сообщения об ошибках) автоматически прописывается в каталог SSISDB. Добавлены встроенные отчеты, отображающие все подробности.
- Команда Undo/Redo. Эта возможность, которой сильно не хватало, теперь доступна в конструкторе службы SSIS.
- Узел Connection Managers. Новый узел Connection Managers позволяет разделять диспетчеры подключений между несколькими пакетами. Таким образом, вам не придется создавать дублирующие подключения к каждому пакету.
- Контроль версионности. При развертывании проекта в каталоге SSISDB предыдущая версия проекта хранится на сервере. Доступ к предыдущим версиям легко получить, вызвав меню Versions щелчком правой кнопки мыши на имени проекта в проводнике Object Explorer.
- Мастер обновления пакетов. Если вы хотите осуществить миграцию версии SSIS 2008 R2 и пакетов SSIS 2008 в систему SSIS 2012, к вашим услугам мастер обновления пакетов, который сконвертирует файлы конфигурации пакета и переменные родительских пакетов в параметры проекта. Вы также можете настроить запуск пакетов «как есть» через старую модель развертывания. Однако старая технология распространения не позволяет использовать многие рассмотренные возможности, такие как каталог SSISDB, параметры и окружения.
DQS. Реализованные в версии SQL Server 2012, службы DQS проверяют качество ваших данных и при необходимости очищают их. Вы можете выполнять следующие действия:
- построить базу знаний и использовать ее для выполнения широкого спектра важных задач по управлению качеством данных, таких как коррекция данных, обогащение, стандартизация и дедупликация;
- выполнять очистку данных и другие задачи по управлению качеством данных посредством «облачных» служб адресации данных, предоставляемых большим количеством провайдеров;
- использовать механизм профилирования, интегрированный в задачи по управлению качеством данных DQS. Этот механизм анализирует целостность ваших данных и вносит предложения по их обновлению, указывая процент уверенности в том, что изменения корректны.
Через пользовательский интерфейс DQS, показанный на экране 2, вы можете создать базу знаний. Для этого организуются домены, каждый из которых соответствует определенному полю данных (например, полю имени, полю адреса). Для каждого домена создаются правила, которые, например, проверяют тип данных, контролируют формат и устанавливают максимально допустимую длину поля. После создания базы знаний вы можете применить ее к источнику данных, настроив соответствие между столбцами источника и доменами. После этого вы применяете правила к данным и начинаете принимать или отклонять корректировки данных, экспортируя очищенные данные в любой источник.
Экран 2. Интерфейс DQS |
В любом решении BI качество данных критично для процесса принятия решения, поэтому замечательно, что в стек Microsoft BI добавлен инструмент, позволяющий получать и совместно использовать сведения для предотвращения работы с неверными данными и принятия решения. Ранее вам приходилось применять все правила управления качеством данных в системе SSIS. Теперь все правила могут размещаться в одном центральном хранилище, где ими можно управлять и повторно использовать в нескольких проектах.
MDS. Понятие управления основными данными объединяет в себе технологию, инструменты и процессы, необходимые для создания и обслуживания очищенного, согласованного и точного перечня списков основных данных, таких как продукты, клиенты и сотрудники. Решением для управления основными данными от компании Microsoft является служба MDS, которая впервые появилась в системе SQL Server 2008 R2. В версию SQL Server 2012 было добавлено множество улучшений, перечислим некоторые из них.
- Если вы использовали службу MDS в системе SQL Server 2008 R2, то знаете, что она достаточно сложна в навигации. В версии SQL Server 2012 появился заметно усовершенствованный веб-интерфейс, построенный с помощью Microsoft Silverlight. Данный интерфейс имеет интуитивно более понятную навигационную систему (см. экран 3).
- Вы можете задействовать новую надстройку редактора Microsoft Excel для администрирования службы MDS. Все основные данные по-прежнему управляются централизованно из службы MDS, при этом знакомые функции Excel используются для чтения, обновления и добавления данных. Например, вы можете применять надстройку для публикации данных «одним кликом» в базе данных MDS. Вы можете даже создать новые объекты моделей и загрузить данные, не запуская каких-либо средств администрирования.
- Служба MDS интегрируется с системой DQS, поэтому перед добавлением дополнительных данных в MDS вы можете убедиться, что не добавляете дублированные записи, и выполнить очистку данных. Для этого применяется надстройка MDS для редактора Excel. Она использует службу для сравнения двух источников данных: данные из MDS и данные из другой системы или электронной таблицы. Служба DQS предлагает вариант обновления ваших данных, а также сообщает процент вероятности того, что изменения корректны.
- Архитектура промежуточного процесса, который теперь называется компоновкой на основе сущностей (entity-based staging), полностью обновлена. Для хранения промежуточных таблиц, указывающих напрямую на каждую сущность MDS, была создана новая схема stg. Эти таблицы хорошо интегрируются со службами SSIS, не требуя загрузки в систему MDS дополнительных данных. Такой подход позволяет полностью автоматизировать загрузку данных посредством служб SSIS.
- Теперь вы можете установить службу MDS в процессе развертывания системы SQL Server и не использовать отдельный установщик, как приходилось делать в предыдущей версии. Для установки службы MDS вы можете задействовать мастер SQL Server Installation Wizard или запрос из командной строки.
Экран 3. Интерфейс MDS |
SSDT. Инструмент SSDT – это новое средство разработки SQL Server, созданное для организации единой среды разработки для всех типов проектов, связанных с базами данных. Он объединяет консоль Business Intelligence Development Studio (BIDS), средство Data Dude из систем разработки Microsoft Visual Studio 2010 Premium и Ultimate, а также решение SQL Server Management Studio (SSMS) в единый набор интегрированных средств (IDE). Механизмы SSDT предоставляют возможности для любых разработок в системе Visual Studio, связанных с платформой SQL Server, как для разработчиков уровня данных, так и для разработчиков уровня приложений.
Решение SSDT является не столько заменой консоли SSMS (рассчитанной на управление системой SQL Server), сколько своеобразным «домом», в который приходишь, когда необходимо заняться разработкой баз данных. Цель в том, чтобы взять задачи и компоненты, постоянно используемые разработчиками в консоли SSMS, и собрать их внутри службы SSDT. Таким образом вы сможете избежать постоянного использования комбинации Alt+Tab, позволяющей «перепрыгивать» между консолями BIDS и SSMS в предыдущих версиях SQL Server.
В решение SSDT были включены средства разработки баз данных, уже входящие в состав пакета Visual Studio 2010. Вся текущая функциональность была сохранена или усовершенствована. Вы можете рассматривать решение SSDT как замену консоли BIDS, использующую такие типы проектов, как Database Services, Analysis Services, Reporting Services и Integration Services.
Изменения в области управления и хранения данных.
Управление и складирование данных включает в себя хранение и извлечение данных. Несколько новых технологий, появившихся в системе SQL Server 2012 — xVelocity, табличная модель и индекс columnstore, — могут обеспечить существенный прирост в производительности.
xVelocity. В системе SQL Server 2012 появился компонент xVelocity – семейство технологий для управления данными, загруженных в память (in-memory) и оптимизирующих использование памяти (memory-optimized). Одним из членов этого семейства является загружаемый в память аналитический механизм xVelocity, следующее поколение механизма VertiPaq. Аналитический механизм xVelocity работает внутри приложения Microsoft PowerPivot и новой табличной модели SQL Server Analysis Services (SSAS), и такой подход идеален для рабочих нагрузок BI. Другим членом является новый оптимизирующий память индекс columnstore, подходящий для рабочих нагрузок, связанных с хранением данных.
С помощью инструмента xVelocity вы сможете получить впечатляющий прирост производительности в запросах BI и хранении данных. Данный прирост обеспечивается тем, что xVelocity использует самые современные механизмы сжатия, кэширование внутри оперативной памяти, алгоритмы, усовершенствованные для работы с современными архитектурами процессора и памяти, а также механизм, обеспечивающий высокий уровень распараллеливания операций в запросе.
Табличная модель. В системе SQL Server 2012 появилась новая модель, названная Business Intelligence Semantic Model (BISM). Она представляет собой гибридную модель, поддерживающую существующую многомерную модель данных (формально названную Unified Dimensional Model) и новую табличную модель. Табличная модель использует загружаемые в память базы данных SSAS из семейства xVelocity, обеспечивающие очень быстрое создание отчетов, посредством клиентских приложений, таких как Excel и Microsoft Power View. Используется та же технология xVelocity, которая является частью решения PowerPivot.
Табличная модель основана на концепциях, знакомых каждому, кто имеет опыт работы с реляционными базами данных (например, таблицы и отношения), что упрощает ее использование по сравнению с многомерной моделью. Так как применяется реляционная модель, обычно нет необходимости создавать схему типа «звезда» (которая, как правило, влечет за собой необходимость в использовании операций ETL для создания нового измерения и таблиц фактов в киоске данных или на складе данных). Табличная модель использует язык Data Analysis Expressions (DAX), который, по крайней мере на базовом уровне, куда проще в использовании, чем язык Multidimensional Expressions (MDX).
Табличная модель, скорее всего, получит широкое распространение по двум причинам. Во-первых, она быстрей и проще в использовании, чем многомерная модель. Во-вторых, большинство типов проектов лучше вписываются в табличные модели, нежели в многомерные. Выбрать лучшую модель для использования вам поможет статья Microsoft «Choosing a Tabular or Multidimensional Modeling Experience in SQL Server 2012 Analysis Services» (http://msdn.microsoft.com/en-us/library/hh994774.aspx).
Индекс Columnstore. Для распространенных запросов к хранилищу данных этот новый тип индекса обеспечивает впечатляющее увеличение производительности — приблизительно в 10-100 раз. Технология xVelocity делает индекс columnstore более эффективным по сравнению с традиционным индексом. В обычном индексе все индексированные данные из каждый строки хранятся вместе на одной странице, а данные из каждого столбца распределяются по всем страницам в индексе. В индексе columnstore данные из каждого столбца хранятся вместе, так что каждая страница данных содержит данные только из одного столбца. Кроме того, индексированные данные для каждого столбца сжимаются — и так как разные столбцы часто содержат повторяющиеся данные, уровень сжатия может быть очень высокий. Данная архитектура снижает количество страниц в индексе. Она также снижает количество страниц, которые необходимо просканировать при выборе лишь небольшого количества столбцов, что в некоторых случаях позволяет системе SQL Server хранить страницы в памяти.
Построить индекс columnstore просто. Используется знакомый синтаксис создания индекса и указывается ключевое слово COLUMNSTORE. Но имейте в виду, что как только вы добавите индекс columnstore в таблицу, она перейдет в состояние read-only, и операции вставки, обновления и удаления будут запрещены. Если вам необходимо вставить или обновить строки, вы можете отключить индекс, произвести изменения в данных и перестроить индекс columnstore. Из-за этого ограничения данная технология больше подходит для таблиц хранения данных, содержащих статические данные, в которых допускается производить обновление данных только во время запланированных временных интервалов. Однако для того чтобы избежать перестройки индекса, вы можете использовать секционирование. Например, можно создать ежедневную, еженедельную или ежемесячную секцию, загрузить данные в новую таблицу, построить все индексы и переключить таблицу в секционированный режим. Другой подход заключается в создании представления, использующего оператор UNION ALL для объединения таблицы с индексом columnstore и обновляемой таблицы без индекса columnstore в единую логическую таблицу. В дальнейшем к этому представлению смогут обращаться запросы. Таким образом, появляется возможность динамически вставлять новые данные в единую логическую таблицу фактов и сохраняется большинство преимуществ использования индекса columnstore.
Индексы Columnstore могут иметь большую ценность для сред хранения данных. Они способны сократить время, необходимое для отладки запросов и создания агрегатных таблиц.
Изменения в области отчетности для конечных пользователей
Как только вы будете готовы показать свои данные окружающим, в игру вступает отчетность для конечных пользователей. Новое средство под названием Power View и улучшения, внесенные в службы PowerPivot и SQL Server Reporting Services (SSRS), помогают реализовать механизм самообслуживания для задач BI.
Power View. Power View – это средство построения отчетов, обеспечивающее интерактивный просмотр данных и их визуальное представление. Оно предлагает удобный и при этом мощный механизм построения специализированных отчетов с поддержкой технологии drag-and-drop. Этот использующий веб-интерфейс инструмент BI построен на основе технологии Silverlight. Его возможности значительно опережают доступные аналоги. Пользователи могут строить и форматировать отчеты на основе моделей, размещенных на сервере. Каждый отчет Power View основан либо на модели PowerPivot, созданной с помощью редактора Excel, либо на табличной модели, созданной с использованием службы SSDT. Модель разворачивается в системе SharePoint (http://www.sharepointpromag.com/topics/sharepoint-administration) или SSAS, где пользователи могут создавать отчеты через веб-интерфейс. Процесс создания отчета полностью выполняется в браузере. Отчет в любое время готов к презентации, то есть режим правки отсутствует, а готовый отчет не надо разворачивать в системе. На экране 4 приведен пример отчета Power View.
Экран 4. Пример отчета Power View |
Для работы решения Power View требуются система SharePoint и система SSRS, запущенная в режиме интеграции SharePoint (не в собственном режиме). Единственное ограничение возможностей Power View заключается в том, что данное средство пока не работает с многомерными кубами, хотя компания Microsoft выпустила пакет Community Technology Preview (CTP) для поддержки этих структур. Кроме того, отчеты можно просматривать только из системы SharePoint. Однако с выходом редактора Excel 2013 данное требование исчезло, так как средство Power View является надстройкой к данной версии Excel. Впрочем, есть одно ограничение: отчеты Power View, созданные в Excel 2013, нельзя просмотреть другими средствами, если они не загружены в систему SharePoint.
Решение Power View позволяет вовлечь в процесс создания отчетов большее количество сотрудников, и наверняка станет признанным лидером среди средств построения специализированной отчетности. С помощью инструмента Power View пользователи из сферы бизнеса (например, специалисты по аналитике данных, по принятию бизнес-решений, специалисты по информации) несомненно получат удовольствие от работы с данными.
PowerPivot. В системе SQL Server 2012 доступна новая версия PowerPivot 2.0. Она предоставляет ряд новых возможностей.
- Вместо просмотра установленных отношений в формате списка вы можете просматривать отношения в виде диаграммы. Так будет проще понимать, как данные связаны друг с другом, и создавать отношения и иерархии.
- Вы можете создавать ключевые индикаторы производительности (KPI).
- Функция PATH позволяет отображать отношения «родитель-потомок» и многоуровневые отношения «один-ко-многим» в формате с разделителями (delimited format).
- Вы можете определить подмножество моделей, чтобы упростить представление для конечного пользователя (так же, как в службе SSAS).
- Вы можете сортировать один столбец по другому внутри одной таблицы. Например, вы можете отсортировать столбец названия месяца по столбцу номера месяца.
На сегодня решение PowerPivot является надстройкой редактора Excel, устанавливаемой отдельно. Однако надстройка PowerPivot включена в состав Excel 2013 — надо лишь активировать ее. Кроме того, большинство возможностей, которые были частью надстройки, встроены напрямую в редактор Excel 2013, например загружаемый в память аналитический механизм xVelocity.
SSRS. Последняя по списку, но не по значению, система SSRS 2012 имеет свои улучшения, в том числе переработанный режим SharePoint с новой архитектурой и предупреждения данных.
Интеграция SharePoint была переработана таким образом, чтобы улучшить взаимодействие с администратором и пользователем. Новая архитектура реализована в виде приложения службы SharePoint 2010, позволяющего системе SSRS задействовать большинство возможностей продуктов SharePoint, таких как горизонтально масштабируемая функциональность, поддержка просмотра отчетов между фермами и аутентификация, основанная на утверждениях.
С помощью предупреждений о данных пользователи могут получать отчеты, отправляемые в момент, когда изменения в наборе данных инициируют события на сервере. Например, вы можете настроить предупреждения о данных таким образом, чтобы при падении цены или снижении продаж ниже установленного уровня система отправляла пользователям отчет. На экране 5 показан интерфейс настройки предупреждения о данных.
Экран 5. Интерфейс для настройки предупреждения о ?данных |
И это еще не все!
Теперь у нас имеется редакция Business Intelligence системы SQL Server. Она включает все возможности редакции Standard, а также средство Power View, дополнительные средства для работы с многомерными структурами, табличную модель, инструмент PowerPivot for SharePoint, предупреждения о данных SSRS, службы DQS и MDS. Таким образом, вы получаете практически все возможности для работы в сфере BI и не вынуждены думать о приобретении редакции Enterprise. Просмотреть все возможности редакции SQL Server Business Intelligence можно на странице MSDN Features Supported by the Editions of SQL Server 2012 (http://msdn.microsoft.com/en-us/library/cc645993(v=SQL.110).aspx).
Стоит ли обновляться до версии SQL Server 2012?
Если вы установили решение BI или заинтересованы в таком развертывании, вам стоит рассмотреть возможность обновления до версии SQL Server 2012. Новые и усовершенствованные функции BI, входящие в нее, позволят реализовывать BI-проекты за более короткое время, с более высокой производительностью и широким вовлечением конечных пользователей. Система SQL Server 2012 – это «магазин одного окна» для реализации BI-решений «от и до».