ssis ssas ssrs что это
Что такое SSRS? Описание SQL Server Reporting Services
Многие уже знакомы с SSRS, знают, что это такое и как их использовать, но также многим данный компонент MS SQL сервера не знаком, поэтому сейчас давайте познакомимся с SQL Server Reporting Services, сокращенно SSRS и узнаем, какие возможности нам предлагают эти службы.
В каждой организации возникает необходимость формировать отчеты на основе каких-то данных и средства для этого используются разные, иногда даже это делается вручную (например, в Word или в Excel). Компания Microsoft предлагает отличное, комплексное решение построения отчетов, которое входит в комплект MS SQL сервера — это SQL Server Reporting Services и сейчас мы узнаем, что же это такое SSRS?
Примечание! В качестве примера SQL Server Reporting Services я буду рассматривать, и описывать возможности на примере MS SQL Server 2008 R2.
Что такое SSRS?
SQL Server Reporting Services (SSRS) – это службы для разработки, построения, доставки и просмотра отчетов. С помощью этих служб можно создавать табличные, интерактивные, графические и другие более сложные отчеты с использованием диаграмм и других отчетных элементов.
SSRS реализован как web-служба и ее администрирование, а также управление отчетами производится через веб интерфейс. Стандартный доступ к отчетам предоставляется пользователям также через веб интерфейс. SSRS предоставляет возможность интегрировать разработанные отчеты в сторонние приложения, т.е. имеется некий API функционал. Например, SSRS можно интегрировать с SharePoint.
Так как SSRS это web-служба, для ее работы требуется что-то вроде web-сервера, ранее в MS SQL 2005 требовалось наличие web-сервера IIS, начиная с MS SQL 2008, IIS не требуется, так как данный функционал уже встроен в SSRS. В связи с этим не рекомендуется использовать SSRS 2008 версии и выше на одном сервере вместе с IIS (лично я рекомендую не разворачивать SSRS на машину, на которой установлен какой-либо web-сервер).
Для того чтобы сервер отчетов имел возможность хранить опубликованные отчеты, модели отчетов и иерархию папок требуется база данных SQL Server.
В SSRS можно управлять правами доступа к отчетам, т.е. например одной группе (или конкретному пользователю) Вы можете дать права на просмотр отчета, а другой нет.
Службы Reporting Services поддерживают кэширование отчетов, т.е. например, у Вас есть отчет, который долго выполняется, и при этом данные в нем редко изменяются, и для того чтобы отчет выполнялся быстрей его можно закэшировать.
SSRS предоставляют возможность подписки на публикуемые отчеты, т.е. например, по расписанию пользователь будет получать по почте или в общую папку свежие отчеты.
Все отчеты созданные с помощью служб Reporting Services можно экспортировать в разные форматы (с сохранением визуального оформления), например:
Источники данных для отчетов SSRS
Службами Reporting Services поддерживаются следующие типы источников данных для отчетов:
Компоненты служб Reporting Services и средства разработки отчетов
Заключение
Теперь я думаю, Вы имеете представление о том, что такое SQL Server Reporting Services (SSRS) и если подводить итог, то это очень мощное, а главное комплексное решение создания системы отчетности. И напоследок, давайте вспомним и отметим основные возможности SSRS:
Для теории я думаю достаточно в следующих материалах мы рассмотрим установку и настройку SQL Server Reporting Services, а также научимся создавать отчеты и публиковать их. На этом все, удачи!
Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
SQL Server Integration Services (SSIS) для начинающих – часть 1
SSIS – это инструмент, который позволяет в удобном виде реализовать интеграцию, т.е. реализовать процесс переноса данных из одного источника в другой. Этот процесс иногда называют ETL (от англ. Extract, Transform, Load – дословно «извлечение, преобразование, загрузка»).
Думаю, данный практический курс будет полезен тем, кто хочет изучить SSIS и не знает с чего начать. Здесь в режиме Step By Step мы начнем с самого начала, т.е. установки всего необходимого.
Дальше будет очень много картинок!
Необходимые инструменты для изучения SSIS
В данной статье SSIS будет рассматриваться на примере SQL Server 2014 Developer Edition. Службы Integration Services доступны в SQL Server 2014 начиная с редакции Standard.
Дополнительно необходимо будет скачать и установить инструмент разработчика SQL Server Data Tools (SSDT).
SSDT – это расширение для Visual Studio, которое позволит создавать проекты необходимого нам типа.
Для облегчения процесса установки, я воспользуюсь SSDT для Visual Studio 2012 (VS2012), его можно скачать по ссылке (файл «SSDTBI_VS2012_x86_ENU.exe»):
www.microsoft.com/en-US/download/details.aspx?id=36843
По описанию, данная версия SSDT поддерживает следующие версии SQL Server: SQL Server 2014, SQL Server 2012, SQL Server 2008 и 2008 R2.
Если на вашем компьютере не установлен VS данной версии, то установщик SSDT установит минимальную версию оболочки, которая позволит создавать проекты нужного нам типа.
Установка SQL Server и SSDT
Первым делом установим SQL Server со всеми необходимыми компонентами.
Я все устанавливал на чистую Windows 7 SP 1 (x64), ничего дополнительного кроме указанного ниже устанавливать не придется.
Т.к. курс предназначен для начинающих, то распишу весь процесс установки подробно.
Запускаем установочный файл SQL Server 2014:
Для работы SSIS достаточно будет выбрать следующие компоненты:
Т.к. мне в дальнейшем понадобится Analysis Services (SSAS), то я отметил и его, если он вам не нужен вы можете не выбирать данный компонент.
У меня нет других установленных SQL Server, и я сделаю этот экземпляр используемым по умолчанию:
Сделаю, чтобы SQL Agent запускался автоматически:
При необходимости можно изменить Collation, который будет использоваться по умолчанию:
Установлю смешанный режим аутентификации, указав свой пароль для пользователя sa:
Т.к. я еще выбрал Analysis Services, то делаю настройки для него:
Нажимая Next и Install запускаем установку SQL Server и его компонент.
Так как у меня на компьютере всего один диск, то все директории я оставил по умолчанию, при необходимости вы можете изменить их на более удобные.
Следующим шагом установим SSDT – это расширение для Visual Studio, которое даст нам возможность создавать проекты SSIS. Установщик SSDT ставит минимальную версию оболочки VS, поэтому предварительно устанавливать VS отдельно нет надобности.
Запускаем «SSDTBI_VS2012_x86_ENU.exe», и добравшись до следующего шага выбираем следующий пункт:
Нажимая Next запускаем установку.
После завершения установки на всякий случай перезагружаем компьютер.
Это все, что нам понадобится для изучения SSIS.
Создание демонстрационных баз данных
Запустим SQL Server Management Studio (SSMS) и при помощи скрипта создадим 3 базы данных – первые две (DemoSSIS_SourceA и DemoSSIS_SourceB) будут выступать в роли источников данных, а третья (DemoSSIS_Target) в роли получателя данных:
В базах источниках создадим тестовые таблицы и наполним их тестовыми данными:
Создадим таблицу в принимающей базе:
Создание SSIS проекта
Запустим Visual Studio 2012 и выберем один из видов предлагаемой нам настройки среды, так здесь же я откажусь от локальной документации:
Для последующего облегчения развертывания зайдем в свойства проекта и изменим опцию ProtectionLevel на DontSaveSensitive:
То же самое сделаем в свойствах пакета, который создался по умолчанию:
Для всех новых пакетов данное свойство будет заполняться значением из свойства проекта.
Заполняем параметры соединение с БД:
Боевые параметры соединения в дальнейшем можно будет настроить при создании задачи SQL Server Agent.
Для удобства я переименую название соединения на SourceA:
Таким же образом создадим и переименуем соединения для баз DemoSSIS_SourceB и DemoSSIS_Target:
Переименуем пакет, созданный по умолчанию, в «LoadProducts.dtsx»:
Сначала напишем простую логику, которая будет полностью очищать таблицу Products в базе DemoSSIS_Target и снова загружать в нее данные из двух баз данных DemoSSIS_SourceA и DemoSSIS_SourceB.
Для очистки воспользуемся компонентом «Execute SQL Task», который мы при помощи мыши создадим в области «Control Flow»:
Для наглядности можно переименовать название компонент. Зададим ему имя «Delete All Products From Target»:
Для этой цели используется свойство Name.
Дважды щелкнем на этом элементе и пропишем следующие свойства:
Т.к. TSQL команда «TRUNCATE TABLE Products» ничего не возвращает оставим свойства ResultSet равным None.
В дальнейшем мы рассмотрим, как пользоваться параметрами и каким образом можно воспользоваться результатом выполнения команды, записанной в SQLStatement, а пока попытаемся увидеть всю картину как это работает в целом.
Теперь скинем в область «Control Flow» компонент «Data Flow Task» и переименуем его в «Load Products From Source A», а также протянем к этому компоненту зеленную стрелку от «Delete All Products From Target»:
Таким образом мы создали цепочку, которая будет выполняться последовательно.
Щелкнув дважды на «Load Products From Source A» мы попадаем в область «Data Flow» этого элемента.
Data Flow Task – это сложный компонент, который имеет свою область, в которой создаются вложенные элементы для работы с потоком данных.
Скинем в эту область компонент «Source Assistant»:
Этот компонент отвечает за получение данных из источника. Дважды щелкнув по нему, мы сможем настроить его:
Пока воспользуемся режимом «Data access mode» равным «Table or view». Это приведет к получению всех строк из таблицы Products. Посмотреть данные можно нажав на «Preview…».
На закладке Columns мы можем выбрать только необходимые нам колонки и при необходимости переименовать их прописав новое имя в колонке «Output Columns»:
Для получателя нужна еще одна дополнительная колонка SourceID, добавим ее к выходному набору при помощи компонента «Derived Column», который переименуем в «Add SourceID», так же протянем синюю стрелку к данному элементу от «OLE DB Source»:
Дважды щелкнем по элементу «Add SourceID» и пропишем значение «A» в виде константы:
Здесь я воспользовался функцией преобразования типа (DT_STR,1,1251) для того чтобы превратить Unicode строку в ANSI.
Теперь создадим компонент «Destination Assistant»:
Направим в него поток от «Add SourceID»:
Дважды щелкнем по «OLE DB Destination» и произведем настройки:
Здесь мы показываем в какую таблицу будет записываться полученный набор.
«Keep identity» используется в случае если в принимающей таблице есть поле с флагом IDENTITY и мы хотим, чтобы значения в него тоже записывались из источника (это аналогично включению опции SET IDENTITY_INSERT Products ON).
Перейдя на закладку Mappings осуществим привязку полей источника с полями получателя:
Так как у нас поля источника и приемника именуются одинаково, то привязка осуществилась автоматически.
Можем протестировать работу пакета и убедиться, что данные залились в таблицу Products базы DemoSSIS_Target.
Запускаем пакет на выполнение из Visual Studio нажав Start или клавишу F5:
Так же пакет можно выполнить, воспользовавшись командой из контекстного меню:
При помощи «Set as StartUp Object» можно задать пакет, который будет запускаться по нажатию на Start (F5).
Какой пакет будет запускаться при нажатии на Start (F5) можно переопределить в свойствах проекта:
Запустив проект мы должны увидеть следующую картину:
Пакет выполнился без ошибок, о чем говорит зеленый значок и текст в нижней части.
В случае наличия ошибок их можно будет увидеть вкладке Progress.
Нажмем на ссылку «Package execution completed…» или на кнопку «Stop Debugging» расположенную на панели инструментов для остановки выполнения пакета.
И убедимся, что данные были записаны в принимающую таблицу.
Перейдем в область «Control Flow» и создадим еще один компонент «Data Task Flow», который назовем «Load Products From Source B», протянем на него зеленную стрелку от «Load Products From Source A»:
Двойным щелчком зайдем в область «Data Flow» этого элемента и создадим «Source Assistant»:
Дважды щелкнув на этом элементе, настроим его по-другому:
Выберем режим «SQL command» и пропишем следующий запрос:
Дальше сразу создадим компонент «Destination Assistant» и протянем на него синюю стрелку от «OLE DB Source»:
Двойным щелчком зайдем в редуктор этого элемента и настроим его:
Запустим проект на выполнение и убедимся, что данные с двух источников попали в таблицу в базе Target:
Дополнительно в контекстном меню стрелки можно активизировать «Data Viewer»:
Теперь при запуске пакета на выполнение в этой точке будет сделана остановка и нам будут показаны данные этого потока:
Для продолжения выполнения пакета нужно нажать на кнопку со стрелкой или просто закрыть окно просмотра данных.
Для отключения этой функции в контекстном меню стрелки выбираем «Disable Date Viewer»:
Для первой части думаю этого будет достаточно.
В результате мы получим файл «C:\SSIS\SSISDemoProject\bin\Development\SSISDemoProject.ispac».
Рассмотрим каким образом делается развертывание этого проекта на SQL Server.
Развертывание SSIS
Все последующие действия будем делать в SSMS.
Создание каталога SSISDB:
Здесь вводим любой пароль.
Теперь создаем папку, в которой будет располагаться наш проект:
Разворачиваем сам проект:
В завершении мы должны увидеть следующую картину:
После обновления (F5) мы увидим наш проект:
Создание задачи в SQL Server Agent
Создадим задачу в SQL Agent, для выполнения пакета по расписанию:
На вкладке «Configuration → Parameters» можно задать параметры пакета (их рассмотрим в следующих частях).
На вкладке «Configuration → Connection Manager» мы можем изменить параметры подключения для каждого соединения, которое мы создали в проекте:
На закладке Advanced можно изменить логику, которая будет использоваться при успешном или неуспешном завершении шага:
Осталось создать расписание для данной задачи:
Расписание можно задать разнообразным образом. Думаю, здесь все должно быть интуитивно понятно:
Все, задача создана.
Делаем тестовый запуск:
Так как шаг у нас всего один, то задача запустится сразу, иначе нужно было бы указать с какого шага нужно начать выполнение.
Результат выполнения задачи можно увидеть в следующем журнале:
В данном журнале можно увидеть успешность завершения каждого шага, а также время выполнения и прочие параметры.
Более подробный отчет о выполнении пакета можно посмотреть при помощи следующего отчета:
Заключение по первой части
В этой части я постарался дать обзорную картину, чтобы у читателя сразу сложилась в голове полная картина как все это выглядит и работает.
Я постарался описать все как можно подробнее, для того, чтобы обучающийся смог самостоятельно установить все необходимые инструменты и проработать материал шаг за шагом на практике, т.к. при самостоятельном изучении иметь рабочую среду это очень важный аспект.
На мой взгляд SSIS очень удобный и интуитивно понятный инструмент и многое в нем можно понять разбираясь самостоятельно. Это я говорю исходя из своего опыта, так как мне самому по большей части пришлось разбираться с SSIS самостоятельно и здесь я делюсь с вами своим опытом в данной области.
Надеюсь данный материал поможет многим сделать первые шаги в изучении данного инструмента и в дальнейшем применить свои знания в работе.
5 инструментов в помощь аналитику
Данных становится всё больше и больше, поэтому сейчас как никогда важно иметь необходимый инструментарий для анализа данных и принятия решений. Сегодня мы поговорим о пяти популярных аналитических системах.
MS Excel Power Query
Вики источник
Power Query позволяет импортировать внешние (семи)-структурированные источники данных и обрабатывать их в Excel. Пример, ниже показывает крупнейшие города в северной и южной Америках на карте в соответствии с их населением.
Импорт и анализ писем в Outlook
Так же имеется возможность импортировать письма, как источник данных, и анализировать их в Outlook. Пример ниже демонстрирует импорт почты и создает гистограмму по числу писем от человека, то есть с кем чаще всего происходит переписка.
Плюсы: PowerQuery — один из самых сильных инструментов, имеющий с одной стороны широкую функциональность для анализа, с другой стороны достаточно сложен в освоении, и используется в основном аналитиками. Работает как с табличными моделями, так и с многомерными. Умеет подключать дополнительные источники
Минусы: Не годится для «обычных» пользователей, сложен в освоении, достаточно медлителен. Нет возможности разделения доступа, ограничения на размер файлов/записей etc.
MS Power BI
Power BI — это инструмент создания интерактивных бизнес отчетов с возможностью совместной работы, визуализации и интерактивной работы.
Пример с запросами и объединением источников: комбинирование источников из Нью-Йоркской фондовой биржи и финансового индекса S&P 500.
Подробнее можно прочитать тут.
Плюсы: новый современный продукт, дружелюбный интерфейс, легок в освоении, онлайн решение.
Минусы: решение «сырое» (некоторые компоненты могут работать нестабильно), не работает с OLAP кубами, урезанный функционал в сравнении с конкурентами.
Pyramid Analytics
Плюсы: легок в освоении, работает с огромным количеством источников, очень широкая функциональность.
Компоненты аналитики MS SQL server (MDS, SSIS, SSAS)
SQL Сервер позволяет проводить анализ внутри своей экосистемы. У него есть обширный набор компонент и мы сфокусируемся на трех наиболее известных.
Master Data Services — процессы и инструменты управления мастер-данными компании. Подробнее тут.
(Мастер-данные — это данные бизнеса: о клиентах, продуктах, услугах, персонале, технологиях, материалах etc.)
SQL Server Integration Services — миграция и интеграция данных. Подробнее тут.
SQL Server Analysis Services OLAP и data mining внутри SQL сервера. Подробнее тут.
Главный инструмент — мозг
Наверное сложно спутать четыре графика, изображенных ниже. Однако, если бы вместо визуализации, мы бы посчитали среднее значение, вариацию, корреляцию и построили бы регрессию на их основе, то мы бы удивились, получив совершенно одинаковый результат.
(Anscombe’s quartet)
Это наглядный пример того, что как бы мы не оптимизировали процесс принятия решения аналитику необходимо проводить исследовательский анализ данных (Exploratory Data Analysis). Для этого ему тоже необходимы инструменты, но уже несколько иного плана. Это прежде всего возможность интерактивной работы и обработки данных, а так же их трансформации и визуализации. Представим краткую выборку доступных инструментов и материалов на примере языка python и работ по визуализации (с указанием типичных ошибок).
Бонус-инструмент
В процессе написания статьи Microsoft анонсировала покупку инструмента аналитики от компании Datazen, поэтому будет полезным его кратко упомянуть.
Datazen — это мульти-платформенное решение, позволяющее построить отчетность, независимо от платформы (PC, iOS, Android, Windows Phone). Отличительной чертой продукта является широкая интеграция и возможность полноценной работы аналитической платформы через мобильные устройства.
Плюсы: поддерживает широкий спектр платформ, поддерживается и развивается MS, работает с большим количеством источников.
Минусы: Не работает с OLAP напрямую (необходимо создавать запросы MDX самостоятельно), имеет ряд ограничений (начиная от возможностей интерфейса и заканчивая настройкой функциональности), не продается отдельно, идет в комплекте с MS SQL Enterprise Edition.
В следующей статье мы рассмотрим Datazen и Pyramid Analytics в деталях, а также разберемся как на их основе создавать отчетность.