Архитектура системы BI Microsoft SQL Server - часть 2
В предыдущей статье мы говорили о том, какое значение стали играть системы Business Intelligence (BI) для топ-менеджеров, чтобы оптимизировать использование ресурсов, а также оставаться конкурентоспособными.
Мы также говорили о пользователях BI и о том, как BI относится к хранению данных и бизнес-аналитике. В этой статье мы попробуем разобраться, чем Business Intelligence отличается от OLTP-систем организации, как выглядит типичная архитектура системы BI, а также различные компоненты архитектуры системы Business Intelligence.
Что такое OLAP и как она отличается от OLTP?
Предполагается, что системы OLTP (OnLine Transaction Processing) отслеживают и записывают транзакции в режиме реального времени и предназначены для автоматизации процесса ввода данных канцелярских данных или поиска данных для функциональных областей. Эта система позволяет пользователям добавлять, изменять, удалять и просматривать данные в базе данных OLTP, используя интерфейс пользователя.
В свою очередь, системы OLAP (OnLine Analytical Processing - интерактивная аналитическая обработка) являются ядром систем Business Intelligence и должны позволить пользователю быстро анализировать огромное количество информации, которая была объединена в многомерные представления и иерархии. Инструменты OLAP используются для проведения анализа тенденций по обобщенным данным; например, анализ агрегированных продаж и финансовой информации на ежегодной основе. Инструменты OLAP позволяют бизнес-пользователям легко и выборочно извлекать и просматривать данные с разных точек зрения или размеров, таких как время, география, пол, продукт и т. д. Вот некоторые из запросов, на которые можно своевременно получить ответы из систем OLAP:
- Какой регион обеспечивает высокий уровень доходов для организации?
- Какой магазин в этом конкретном регионе несет наибольшую ответственность за доходы?
- Какие продукты или категории продуктов в наибольшей степени приносят доход?
- Какой клиентский сегмент какой продукт использует или какой продукт популярен среди группы клиентов?
Вы можете возразить, что ответы на эти вопросы также могут быть получены из баз данных OLTP; зачем же тогда нужна система OLAP? В какой-то степени вы действительно вы можете ответить на эти вопросы при помощи системы OLTP, но это не лучшее решение. Обычно такие типы запросов основаны на большом наборе данных. Кроме того, для получения результата потребуется больше времени, и эти типы запросов негативно скажутся на производительности всей OLTP-системы. Помните, что OLTP-системы предназначены для обработки транзакций, что может повлиять на несколько записей, тогда как OLAP-системы основаны на аналитической обработке, что может повлиять на тысячи и миллионы записей. Имейте в виду, что платформа BI предварительно вычисляет или суммирует агрегаты, то есть суммирует продажи в год, поэтому, когда вы запускаете запрос для получения общих продаж в год, запрос просто предоставляет данные из агрегатов и не требует вычисления каждого значения. Но это не значит, что вам нужны системы OLAP для всех типов отчетов; для оперативной отчетности вы можете использовать OLTP-системы.
Типичная архитектура системы BI, основанная на платформе Microsoft SQL Server и Business Intelligence
Когда мы говорим о разработке системы BI, это подразумевает планирование, проектирование и разработку следующих компонентов:
Интеграция данных или ETL (извлечение, преобразование и загрузка)
У организации может быть один или несколько различных типов приложений, удовлетворяющих потребностям функций организации. Когда мы говорим о проектировании и разработке хранилища данных в составе системы BI, нам необходимо определить стратегии сбора данных из всех этих исходных систем (или исходя из требований заказчика) и интегрировать их в хранилище данных. Это необходимо для анализа полных данных организации и для проведения кросс-функционального анализа.
Ваша система BI может использовать SSIS (служба интеграции SQL Server) - компонент платформы SQL Server, позволяющий интегрировать данные в хранилище данных. SSIS обеспечивает возможность согласованного и централизованного представления данных из разных исходных систем и помогает обеспечить достоверность данных посредством интеграции, очистки, профилирования и управления. SSIS обладает быстрой и гибкой базой ETL и возможностями преобразования памяти для очень быстрых сценариев интеграции данных. SSIS имеет несколько встроенных компонентов для подключения к стандартным гетерогенным источникам данных (RDBMS, FTP, Web Services, XML, CSV, EXCEL и прочее), а также богатый набор компонентов преобразования для интеграции данных. Помимо того, SSIS включает DQS (службы качества данных) для очистки данных, сопоставления и профилирования. Еще одним компонентом SQL является MDS. Он предоставляет платформу Master Data Management для централизованного управления основными данными организации.
Пакеты SSIS могут быть разработаны с использованием Business Intelligence Development Studio (BIDS) в SQL Server 2008 R2 и более ранних версиях (SSIS доступен из SQL Server 2005) или SQL Server Data Tool (SSDT) в SQL Server 2012 и могут быть сконфигурированы в процессе выполнения, основываясь на метаданных, хранящихся в репозитории метаданных. Существует несколько способов развертывания пакета служб SSIS, а в SQL Server 2012 введена еще более надежная модель развертывания пакетов.
Анализ. После того, как вы закончите создание хранилища данных и компонентов интеграции данных для их загрузки в хранилище данных, вам нужно создать многомерную структуру OLAP. Система Business Intelligence может использовать SSAS (службу анализа SQL Server) для предоставления данных для аналитики и отчетности. SSAS - ведущий инструмент OLAP, обеспечивающий интерактивную аналитическую обработку и функции интеллектуального анализа данных для приложений бизнес-аналитики. SSAS предварительно вычисляет, суммирует и сохраняет данные в сильно сжатой форме, что в конечном итоге делает отчетный и предсказательный анализ чрезвычайно быстрым и интерактивным исследованием агрегированных данных с разных точек зрения.
Модели интеллектуального анализа данных, созданные в SSAS, могут помочь определить правила, модели и тенденции в данных, чтобы вы могли определить причину происходящего и прогнозировать будущие изменения. SSAS уже включает несколько алгоритмов интеллектуального анализа данных в виде нестандартных возможностей. SSAS также позволяет вам определять KPI (ключевые показатели эффективности) для вашего куба SSAS, чтобы вы могли оценить эффективность бизнеса в течение определенного времени по отношению к заданной цели, как это отражено в данных куба.
Как правило, передние отчеты предоставляются данными через кубы SSAS (в некоторых случаях ваши отчеты могут получать данные непосредственно из хранилища данных, хотя, лучше использовать одну точку доступа к данным через куб, если нет срочной потребности). Эти кубические агрегированные данные и функции управления кешем оптимизируют результаты запроса, так что предопределенные запросы имеют более быстрое время отклика, чем суммирование данных из базовых источников данных каждый раз, когда пользователи запрашивают его.
Доставка информации. После того, как вы закончите создание кубов SSAS (многомерной структуры) и заполнили их данными из хранилища данных, вы можете использовать различные средства отчетности для анализа данных в различных типах представления или размерах.
Службы отчетов SQL Server (SSRS) позволяют создавать отформатированные и интерактивные отчеты с параметрами или без них. SSRS также обладает масштабируемыми возможностями распределения и планирования для автоматической доставки отчетов. Вы можете создавать табличные отчеты, а также различные варианты отчетов в виде диаграмм и графиках, карт или географических отчетов. Кроме того, также могут быть созданы отчеты о показателях на основе KPI.
PowerPivot, Power View, службы Excel и SSRS предоставляют пользователям возможность устанавливать и осуществлять специальные отчеты из стандартной модели данных. Благодаря кубу SSAS пользователи могут свободно анализировать отчеты на основе открытых размеров и измерений. Пользователи также имеют доступ к самым нормализованным данным и имеют возможность детализировать данные для анализа “вдоль и поперек”.
PowerPivot, Power View, Excel обеспечивают быстрое исследование, визуализацию и презентацию данных для пользователей всех типов - от бизнес-руководителей до информационных работников. Он позволяет пользователям изучить данные с разных сторон, используя диаграммы, графики, детализацию и т. д.
Платформа для совместной работы и хостинга. Вы можете использовать SharePoint 2010 или 2013 как платформу для сотрудничества, размещения и совместного использования данных; все отчеты и информационные панели будут развернуты или размещены на портале SharePoint. SharePoint является одним из ведущих продуктов для управления корпоративным контентом и обеспечивает возможности совместной работы, социальных сетей, корпоративного поиска, BI и прочее.
Не обязательно иметь SharePoint в качестве пользовательского интерфейса для отчетов, вы можете успешно получать отчеты SSRS, развернутые на сервере отчетов. Тем не менее, рекомендуется использовать SharePoint в качестве платформы хостинга, поскольку она дает вам несколько других функций, таких как службы Performance Point - для создания привлекательных панелей мониторинга, которые обеспечивают анализ данных “вглубь”, детализацию и разложения данных. Кроме того, службы Excel и PowerPivot могут использоваться для развертывания Excel или PowerPivot для SharePoint, чтобы сделать его доступным для других людей, превратив личную BI в организационную.
Для обеспечения безопасности вы можете использовать SharePoint встроенную в функции безопасности, которые обеспечивают безопасность на основе ролей. SSAS также позволяет определять безопасность на основе ролей, а также безопасность на уровне ячейки. Эти уровни безопасности будут регулировать доступ к данным и обеспечить соответствующий доступ к нужной информации в нужное время.