Опубликован: 28.01.2014 | Доступ: свободный | Студентов: 2254 / 259 | Длительность: 14:33:00
Лекция 7:

Бизнес-аналитика и анализ данных с SQL Reporting и Hadoop

Аннотация: Введение в бизнес-аналитику. Введение в парадигму MapReduce. Приложения для бизнес-аналитики с SQL Reporting. Приложение, анализирующее логи, с использованием M/R Hadoop, в Windows Azure.

Бизнес-аналитика, или Business Intelligence (BI), является важным процессом, во время которого происходит интеграция и консолидация данных в масштабе организации в едином хранилище, к которому пользователи могут выполнять специальные запросы и формировать отчеты для анализа существующих данных. Фактически, целью бизнес-аналитики является именно хранение данных, к которым могут обращаться пользователи, ответственные за принятие бизнес-решения на основе анализа полученных данных. Например, типичным вопросом к системе бизнес-аналитики может быть: "Какая категория продуктов является наихудшей в плане реализации в первом квартале 2013 года?" Наиболее важными свойствами системы бизнес-аналитики являются:

  • Периодические операции записи в результате запросов;
  • небольшое количество пользователей;
  • большой размер данных, хранимых в базе данных.

Пользователи систем бизнес-аналитики занимаются генерацией отчетов, отражающих различные факторы, связанные с важными процессами внутри организации (например, финансовыми) или запросов сравнения данных. Системы бизнес-аналитики должны отслеживать историю данных, так как часто пользователи производят сопоставление данных, собранных в различные периоды времени. По этой причине объем данных в хранилище, обычно очень велик, и механизм хранения данных должен обеспечивать достаточное для задач пользователя и оптимальное с позиции выполнения запросов время. На данный момент существует большое количество решений для бизнес-аналитики, лидерами являются корпорации Microsoft и Oracle, предоставляющие мощные движки и механизмыSQL Server, SQL Reporting и т.д. Локальная версия системы бизнес-аналитики от Microsoft называется SQL Server Reporting Services (SSRS), которая предлагает программную серверную систему создания отчётов. В SQL Server Reporting Services есть возможность генерировать как печатные, так и динамические отчёты, в том числе с использованием Web-служб. SQL Server Reporting Services входит в состав Express, Workgroup, Standard и Enterprise версий Microsoft SQL Server в качестве устанавливаемого дополнения. Отчёты, создаваемые в SQL Server Reporting Services, должны быть описаны с помощью специального подязыка Report Definition Language (RDL), и могут проектироваться при помощи Visual Studio с установленным дополнением Business Intelligence Projects либо при помощи входящего в комплект Report Builder. Отчёты, определенные при помощи RDL, могут быть созданы и сохранены в различных файловых форматах, например, XLS, PDF. Начиная с версии SQL Server 2008 SQL Server Reporting Services предлагает возможность генерации отчетов в формате DOC. RDL-отчёты можно просматривать программным способом с помощью элемента управления ASP.NET ReportViewer, что позволяет встраивать отчёты прямо в приложение или сайт.

С развитием облачных вычислений стало возможным переносить как хранилища данных, так и системы бизнес-аналитики на мощности вендора, таким образом, оплачивая только те ресурсы, которые используются. Облачные особенности предоставляют важное преимущество эластичности и возможности обрабатывать большие массивы данных. Системы бизнес-аналитики в облаках можно условно разделить на два типа:

  • Данные в облаке, бизнес-аналитика локально,
  • Движок и приложение в облаке.

Размещение движка и отчётов в облаке позволяют размещать отчёты таким образом, что их можно встраивать как в приложение, так и иметь глобальный доступ с помощью URL.

К основным сценариям облачной системы бизнес-аналитики, которая называется Windows Azure SQL Databases Reporting, относятся следующие сценарии:

  • Сезонные нагрузки. Например, организация, реализующая некоторые продукты, имеет периодическую задачу генерации отчётов из хранилища данных. Размещение ресурсов, на которых выполняется решение этой задачи, в локальном центре обработки данных влечёт за собой необходимость в расчёте максимальных нагрузок, эффективного использования и т.д. После этого в какие-то моменты осуществляется нагрузка, но большую часть времени ресурсы могут простаивать. В этом случае, когда есть периодическая необходимость генерации отчётов, может быть использован облачный сервис Windows Azure SQL Databases Reporting. После спада пика нагрузки, как и в случае с любыми другими сервисами, можно отказаться от оплачиваемых ресурсов.
  • Сценарий, в котором происходит разделение отчётности между несколькими партнёрами, возникает, когда сгенерированную отчётность необходимо предоставить партнёрской организации. В случае размещения систем аналитики в локальном центре обработки данных партнёру, который должен обеспечить доступ к отчётам, необходимо проводить конфигурацию, настройку безопасности, портов, предоставлять аккаунты и т.д. Если поместить отчёты в облако, процесс значительно упрощается – клиенты и поставщики могут получить доступ к отчетам тогда, когда им это необходимо.
  • Гибридная инфраструктура. Часть данных в локальном центре обработки данных, часть, которую можно публично выставлять, расположена в облаке.

Рассмотрим последовательность действий по созданию отчётов с помощью Report Builder и базы данных AdventureWorks, предоставляемой корпорацией Microsoft в тестовых целях.

Создадим сервер баз данных Windows Azure SQL Databases с помощью портала управления Windows Azure. Подробнее процесс создания описывается в главе 6 "Хранение и обработка данных с Windows Azure Storage и Windows Azure SQL Databases".

База данных AdventureWorks расположена на CodePlex по адресу http:// http://msftdbprodsamples.codeplex.com/releases/view/37304. В данном примере используется версия AdventureWorks2012ForWindowsAzureSQLDatabase.

После распаковки архива, содержащего базу данных, необходимо выполнить следующую команду для развертывания базы данных в Windows Azure:

CreateAdventureWorksForSQLAzure.cmd <servername>.database.windows.net <username> <password>

Развертывание базы данных может занять некоторое время.

Развертывание базы данных

увеличить изображение
Рис. 10.1. Развертывание базы данных

Создадим сервис Windows Azure SQL Reporting с помощью портала управления Windows Azure. Расположение сервиса в одном регионе с созданным сервером Windows Azure SQL Databases значительно уменьшит задержки при их взаимодействии.

Создание сервиса Windows Azure SQL Reporting с помощью портала управления Windows Azure

увеличить изображение
Рис. 10.2. Создание сервиса Windows Azure SQL Reporting с помощью портала управления Windows Azure

Для генерации отчётов необходимо связать сервис SQL Reporting с источником данных. Добавим источник данных в сервис SQL Reporting.

SQL Reporting

увеличить изображение
Рис. 10.3. SQL Reporting

В открывшемся диалоговом окне необходимо задать логическое название источника данных и его описание. Базу данных для источника данных можно выбрать в выпадающем меню DATABASE.

Создание базы данных

Рис. 10.4. Создание базы данных

На следующей странице выберем опцию PROVIDE CREDENTIALS TO BE STORED SECURELY IN THE REPORT SERVER. Введем логин и пароль администратора сервера баз данных.

Добавление администратора базы данных

Рис. 10.5. Добавление администратора базы данных

Для взаимодействия с сервисом SQL Reporting установим Report Builder, дистрибутив которого можно загрузить с сайта Microsoft: http://www.microsoft.com/ru-ru/download/details.aspx?id=29072.

После запуска Report Builder (в зависимости от языка установки он может называться "Построитель Отчетов 3.0") подключимся к серверу, нажав "Соединение" в нижней части интерфейса.

Подключение к серверу

Рис. 10.6. Подключение к серверу
Руслан Муравьев
Руслан Муравьев

Сайт dreamspark пишет что код истек :(

Andriy Zymenko
Andriy Zymenko

Этот курс требует оновления https://portal.azure.com/#create/hub здесь нет пункта Web Site в разделе Compute. К тому же для создание трубуется подписка