Развертывание служб Analysis Services
Аннотация: Теоретическая часть лекции дает краткую информацию о назначении, способах установки и инструментальных средствах MS SQL Server Analysis Services 2008. В лабораторной работе подробно описывается процесс установки русской версии SQL Server 2008 Enterprise.
Теоретическое введение
Назначение, способ установки и инструментальные средства Analysis Services
Службы SSAS позволяют анализировать большие объемы данных. С их помощью можно проектировать, создавать и управлять многомерными структурами, которые содержат подробные и статистические данные из нескольких источников данных.
Для управления кубами OLAP и работы с ними используется среда SQL Server Management Studio. Для создания новых кубов OLAP используется среда Business Intelligence Development Studio.
Службы SQL Server Analysis Services устанавливаются с помощью программы установки SQL Server. Службы SSAS можно установить вместе с другими компонентами SQL Server или установить SSAS в виде отдельного компонента.
Требования к файловой системе
Рекомендуется устанавливать SQL Server 2008 на компьютерах с файловой системой NTFS , однако возможно обновление до SQL Server 2008 в случае использования файловой системы FAT32. Программа установки SQL Server заблокирует возможность установки на сжатые диски и диски, доступные только для чтения.
Требования к программному обеспечению
Программе установки SQL Server требуется установщик Microsoft Windows версии 4.5 или более поздней, а также платформа .NET Framework3.5 с пакетом обновления 1 (SP1) или более поздняя.
Для установки любой версии SQL Server 2008 необходим браузер Microsoft Internet Explorer 6 с пакетом обновления 1 (SP1) или более поздней версии. Он используется для консоли управления (ММС), среды SQL Server Management Studio и Business Intelligence Development Studio, компонента «Конструктор отчетов» служб Reporting Services, а также для HTML -справки.
SQL Server 2008 работает почти на всех современных версиях Windows: XP, Vista, Windows Server 2003 и Windows Server 2008, однако требования к версии операционной системы зависят от устанавливаемой версии SQL Server 2008.
Требования к аппаратному обеспечению
Необходимо наличие видеоадаптера VGA с разрешением 1024х768 или выше, а также мыши. Минимальные и рекомендуемые требования к процессору и оперативной памяти зависят от устанавливаемой версии SQL Server 2008.
Версии SQL Server 2008
SQL Server 2008 поставляется в следующих редакциях:
- Enterprise — многофункциональная платформа данных, предоставляющая масштабируемость уровня предприятия, производительность, высокий уровень доступности и расширенные возможности бизнес-аналитики для работы защищенных ответственных приложений;
- Standard — платформа данных, простая в использовании и управлении. Выпуск включает встроенные возможности бизнес-аналитики для работы с приложениями уровня отдела;
- Developer — позволяет разработчикам строить приложения любого вида на базе SQL Server. Этот выпуск включает все функциональные возможности выпуска SQL Server 2008 Enterprise, однако он лицензируется для разработки и тестирования системы, а не для применения в качестве рабочего сервера;
- Workgroup Edition — предназначен для баз данных филиалов — надежная платформа для управления данными и создания отчетов, включающая возможности обеспечения безопасности, удаленной синхронизации и управления;
- Web Edition вариант с низкой общей стоимостью владения, предназначенный для размещения веб-узлов;
- Express — бесплатный выпуск, который могут распространять независимые поставщики ПО (при соблюдении соответствующего соглашения). Предназначен для обучения, а также для построения настольных или небольших серверных приложений.
Возможность создания хранилищ данных с использованием Analysis Services предусмотрена в редакциях Enterprise и Standard . Однако инструментарий для оценки и оптимизации производительности хранилищ данных присутствует только в редакции Enterprise .
Сценарий цикла лабораторных работ
В данном цикле лабораторных работ будет использован образец информационных баз компании Microsoft, который описывает вымышленную компанию Adventure Works Cycles . Это производственная компания, производящая и реализующая металлические и композитные велосипеды для рынков Северной Америки, Европы и Азии. Компания Adventure Works Cycles имеет в своем составе несколько групп сбыта на региональных рынках.
По окончанию успешного финансового года Adventure Works Cycles хочет расширить свое присутствие на рынке путем направленной рекламы для своих лучших клиентов, повысить доступность продукта при помощи внешнего веб-узла и уменьшить стоимость продаж за счет снижения стоимости производства.
Для поддержки нужд анализа данных групп маркетинга и сбыта, а также высшего руководства компания использует данные о транзакциях из базы данных AdventureWorks и другие сведения, например целевые показатели объема продаж из электронных таблиц, и объединяет эту информацию в реляционном хранилище данных AdventureWorks. Однако использование реляционного хранилища данных влечет следующие проблемы:
- Отчеты статичны. Пользователи не могут интерактивно просматривать данные отчетов для получения более подробной информации так, как это делается в сводной таблице в редакторе Microsoft Office Excel. Хотя существующий набор предопределенных отчетов достаточен для многих пользователей, более квалифицированным пользователям потребуется прямой доступ к запросам базы данных для выполнения интерактивных запросов и создания специализированных отчетов. Однако из-за сложности базы данных AdventureWorksDW2008 таким пользователям потребуется много времени, чтобы освоить создание эффективных запросов.
- Скорость выполнения запросов меняется в широком диапазоне. Например, некоторые запросы возвращают результаты очень быстро, через считанные секунды, для выполнения других запросов требуется несколько минут.
- Таблицами статистических вычислений сложно управлять. Для сокращения времени обработки запросов команда разработчиков по хранилищам данных компании Adventure Works составила несколько таблиц статистических вычислений в базе данных AdventureWorks DW2008. Например, они создали таблицу, суммирующую продажи за месяц. Однако хотя такие таблицы существенно ускорили выполнение запросов, инфраструктура, поддерживающая эти таблицы, хрупка и подвержена ошибкам.
- Комплексная логика вычислений скрыта в определениях отчетов и сложна в передаче между отчетами. Так как бизнес-логика формируется отдельно для каждого отчета, данные сводки иногда различаются для разных отчетов. Поэтому руководство не слишком доверяет отчетам хранилища данных.
- Пользователи различных подразделений компании заинтересованы в различных представлениях данных. Пользователей отдельной группы приводят в замешательство и отвлекают элементы данных, не относящиеся к их группе.
- Логика вычислений особенно сложна для пользователей, которым требуются специализированные отчеты. Так как данные пользователи должны определять логику вычислений отдельно для каждого отчета, централизованного контроля за логикой вычислений нет. Например, некоторые пользователи знают, что им следовало бы использовать базовые статистические методы, такие как скользящее среднее, однако они не знают, как построить такие вычисления, и поэтому не используют эти методы.
- Трудно сочетать связанные наборы данных. Специализированные запросы, сочетающие два набора связанных данных, такие как продажи и квоты продаж, пользователям построить непросто. Такие запросы перегружают базу данных, поэтому компания потребовала от пользователей запросить у команды разработчиков хранилища данных межпредметные наборы данных. В результате создано лишь небольшое количество предопределенных отчетов, сочетающих данные из нескольких предметных областей. Пользователи неохотно модифицируют эти отчеты из-за их сложности.
- Отчеты сконцентрированы в основном на деловых сведениях в Соединенных Штатах. Пользователи из остальных стран недовольны этим и хотят иметь возможность просматривать отчеты в разных денежных единицах и на разных языках.
- Сведения сложны для аудита. Финансовый отдел в данное время использует базу данных AdventureWorks DW2008 только как источник данных для массовых запросов. Затем данные загружаются в отдельные электронные таблицы, что приводит к большим затратам времени на подготовку данных и на управление таблицами. Таким образом, корпоративные финансовые отчеты трудно готовить, проверять и управлять ими.
Команда разработчиков хранилища данных недавно провела исследование структуры текущей системы аналитики. Исследование включало анализ просчетов прогнозирования текущих проблем и будущих требований. Команда разработчиков хранилища данных определила, что база данных AdventureWorks DW2008 — это многомерная база данных с согласованными измерениями и суррогатными ключами.
Согласованные измерения позволяют использовать измерение, например измерение времени или измерение продукта, в нескольких витринах данных. Суррогатные ключи — это искусственные ключи, связывающие измерения и таблицы фактов, они используются для обеспечения уникальности и повышения производительности. Кроме того, команда разработчиков хранилища данных определила, что в данный момент нет никаких значительных проблем с загрузкой и управлением базовыми таблицами в базе данных AdventureWorks DW2008. Поэтому было решено с использованием базы данных служб SSAS выполнить следующие задачи:
- предоставить унифицированный доступ к данным через общий слой метаданных для анализа и отчетов;
- упростить просмотр данных пользователями, ускорив разработку интерактивных и предопределенных запросов, а также предопределенных отчетов;
- правильно составлять запросы, сочетающие данные из нескольких предметных областей;
- управлять статистическими вычислениями;
- хранить и повторно использовать сложные вычисления;
- предоставлять возможность локализации пользователям за пределами Соединенных Штатов.
Источник: intuit.ru
Основные сведения об Analysis Services
Область применения: SQL Server Analysis Services
Azure Analysis Services
Power BI Premium
Службы Analysis Services — это обработчик аналитических данных (VertiPaq), используемый в поддержке принятия решений и бизнес-аналитике. Она предоставляет возможности модели семантических данных корпоративного уровня для бизнес-аналитики , анализа данных и отчетов приложений, таких как Power BI, Excel, Reporting Services и другие средства визуализации данных. Службы Analysis Services доступны на разных платформах:
Azure Analysis Services . Создан как ресурс Azure, Azure Analysis Services серверные ресурсы поддерживают табличные модели на уровне совместимости 1200 и более поздних версий. Кроме того, также поддерживаются DirectQuery, секции, безопасность на уровне строк, двунаправленные связи и переводы. Дополнительные сведения см. в статье «Что такое Azure Analysis Services».
Power BI Premium. Подсистема VertiPaq служб Analysis Services обеспечивает программирование, клиентское приложение и поддержку инструментов для наборов данных Power BI Premium и Premium на пользователя на уровне 1500 и более высоких уровней совместимости через клиентские библиотеки и API, поддерживающие протокол XMLA с открытым стандартом. Power BI Premium наборы данных поддерживают подключения через конечные точки XMLA для операций чтения и записи только для чтения и чтения из клиентских приложений и средств майкрософт и сторонних разработчиков. Дополнительные сведения см. в разделе «Службы Analysis Services» в Power BI Premium и Power BI Premium подключении набора данных к конечной точке XMLA.
SQL Server Analysis Services — устанавливается как локальный экземпляр сервера или экземпляр виртуальной машины, SQL Server Analysis Services поддерживает табличные модели на всех уровнях совместимости (в зависимости от версии), многомерных моделей и Power Pivot для SharePoint.
Документация
Документация по службам Analysis Services находится в разных областях Microsoftova dokumentacija в зависимости от используемой платформы или версии. Дополнительные сведения см. в документации по службам Analysis Services.
Источник: learn.microsoft.com
Обзор алгоритмов интеллектуального анализа данных Microsoft Analysis Services
В настоящее время существует определенный пул Business Intelligence и Data Science инструментов, которые позволяют исследовать и визуализировать данные.
Microsoft Analysis Services – часть системы управления базами данных Microsoft SQL Server. Включает в себя набор служб, связанных с бизнес-анализом и исследованием данных. Службы Analysis Services предоставляют алгоритмы для использования в решениях интеллектуального анализа данных.
Структуры используются для выборки источника данных. В качестве источника данных могут выступать OLAP кубы, базы данных и файловые таблицы.
Алгоритмы используются внутри контейнеров моделей Analysis Services, которые в свою очередь создаются на основе структур Analysis Services.
Для работы с алгоритмами нам потребуются:
- В качестве серверной части:
- MS SQL Server с установленными службами Analysis Services
- В качестве клиентской части:
- MS Excel с активированной надстройкой “Интеллектуальный анализ данных”
- MS Visual Studio с установленным Microsoft SQL Server Data Tools Business Intelligence
- Microsoft SharePoint
- Дополнительно потребуется:
- Доступ к Analysis Services с разрешением на создание файлов в разделе Analysis Services
В MS Office 2013 и выше данные инструменты встроены в корпоративные версии MS Excel (достаточно активировать надстройку «Интеллектуальный анализ данных» в настройках MS Excel).
В MS Office 2010 надстройку необходимо устанавливать отдельно ссылка.
После активации надстройки в MS Excel появится вкладка «Интеллектуальный анализ данных».
В MS Excel последовательно выбираем — Интеллектуальный анализ данных > Соединение > Создать.
Заполняем настройки подключения со службами Analysis Services, проверяем соединение и выбираем – ОК.
2. Создание структуры интеллектуального анализа.
В MS Excel последовательно выбираем — Интеллектуальный анализ данных > Дополнительно > Создать структуру интеллектуального анализа данных.
В Мастере задачи последовательно выбираем – Внешний источник данных > Имя источника данных.
Заполняем поле «Запрос» и выбираем «Далее».
3. Выбор типов данных.
В нашем случае Наименование должности (поле DOLJ) является дискретной величиной (Discrete), а размер выплаты (поле ZARP) непрерывной (Continuous).
Указываем типы данных и выбираем «Далее».
4. Выбор процента проверочных данных.
Процент проверочных данных устанавливает соотношение качества анализа от качества проверки.
Указываем процент проверочных данных и выбираем «Далее».
На этом создание структуры интеллектуального анализа завершается.
5. Добавление модели к структуре.
В MS Excel последовательно выбираем — Дополнительно > Добавить модель к структуре.
6. Алгоритм «Дерево принятия решений».
Analysis Services содержит несколько алгоритмов интеллектуального анализа. Выбираем «Алгоритм дерева принятия решений».
6.1 Выбор входных и прогнозируемых полей.
В нашем случае, в таблицу была добавлена зависимость выплат от должности. Поэтому входными данными является «Должность(DOLJ)», а прогнозируемыми «Зарплата (ZARP)» Устанавливаем соответствия столбцов таблицы с их назначением и выбираем «Далее».
6.2 Результат работы алгоритма – «Дерево принятия решений».
Каждый алгоритм интеллектуального анализа данных, выводит результаты в виде собственной схемы или графика.
На данной схеме слева направо отображены наиболее сильные из выявленных зависимостей.
Результат полностью удовлетворяет входным данным. При заполнении поля с выплатами действительно имелось правило, которое добавляло к выплатам для должностей с идентификаторами 13, 17, 15, … около 30%.
В качестве минуса стоит отметить, что алгоритм не может сгруппировать идентичные закономерности. В нашем случае должности 17,15 имели одинаковый добавочный процент.
7. Результат работы алгоритма – «Классификация».
Данный алгоритм предоставил наиболее полезное графическое представление данных. Присутствует корректная группировка данных и окно с вероятностями.
8. Результат работы алгоритма — «Оценка».
Данный алгоритм предоставил полезное графическое представление данных. Присутствует корректная группировка данных.
9. Результата работы алгоритма – «Кластеризация».
В исследование было включено только поле с выплатами, так как алгоритм поддерживает лишь непрерывные данные.
Данный алгоритм предоставил полезное графическое представление данных, что будет применимо для задач дискретизации непрерывных данных.
10. Результат работы алгоритма – «Прогноз».
Особенностью данного алгоритма является необходимость использования временных меток. В нашем случае используется дата транзакции «INDATE».
Результат работы алгоритма представлен в интерактивном окне, где можно варьировать соотношение исследуемого и прогнозируемого диапазона данных.
Для тестирования работы алгоритма по всему временному диапазону была добавлена постоянная зависимость, увеличивающая на 40% значение каждое 15-е число месяца. Как видно из графика, алгоритм сохранил данную закономерность.
Резюмируем
Алгоритмы интеллектуального анализа данных применимы и могут быть полезны в работе аналитика.
В качестве преимуществ отмечаем:
- Интерактивный графический интерфейс и как следствие низкий порог входа.
- Служба Microsoft Analysis Services не требует отдельной лицензии. Входит в дистрибутив MS SQL server.
- В качестве клиента Microsoft Analysis Services могут выступать широко используемые в банке MS Excel, MS Sharepoint, MS Management Studio, MS Visual Studio.
- Клиент-серверная архитектура Microsoft Analysis Services производит ресурсоемкие аналитические задачи на стороне сервера.
В качестве недостатков отмечаем:
- Малое число моделей (алгоритмов).
- Ограниченное число настроек алгоритмов.
- Часть алгоритмов в качестве вывода результатов предоставляет лишь график без возможности экспорта табличных результатов.
Источник: newtechaudit.ru
Как Microsoft Analysis Services финансовым аналитикам жизнь упростил
— Василий, мы установили новый BI продукт, наш САМЫЙ ГЛАВНЫЙ от него просто в восторге!
— Да, но я не знаю, как выгрузить данные для анализа из этой системы?! Он, похоже, только в html может что-то показывать.
— Ничего, я думаю ты справишься, сам понимаешь, чем шире улыбка шефа, тем выше премия.
— Но, Иван Васильевич, этот продукт в качестве источника данных использует только PDF файлы.
— Зато он показывает шикарные разноцветные графики, у него анимация как в “Звездных войнах”, а руководство просто в восторге от его интерактивных возможностей. Там ещё и пасхалочка есть. Если три раза кликнуть в правом нижнем углу, появится Дарт Вейдер и споёт Марсельезу. Да и в целом, Вася, будь оптимистом! Хочешь анекдот в тему?
— Не грусти Вася, принимайся за работу, а мне пора спешить – утренняя планерка, эээ… Daily Standup Meeting точнее, всё никак не могу запомнить.
Вася садится за свой рабочий стол и с грустью смотрит в монитор. Да уж, красивые графики, только толку от них? В Excel не выгрузить, с формулами не сверить, хоть бери тетрадку с ручкой и делай всё на бумаге. Плюс ещё как-то KPI на основе этого надо посчитать. Зато в ИТ отдел, говорят, художника взяли, чтобы он красивые отчеты для руководства оформлял.
Глядя на новый продукт, Вася загрустил. В голове у него крутились пару строк из стихотворения C.А. Есенина “Мне грустно на тебя смотреть”:
Так мало пройдено дорог,
Так много сделано ошибок.
Ну что ж, оставим Васю наедине со своей болью и посмотрим на проблему шире. Видя переделку строк C.А. Есенина, которая вынесена в цитату к этой статье, мне кажется, что он не одинок в своих мыслях. Сложно понять, как работают современные BI системы и для кого их пишут – то ли для аналитиков, то ли для руководителей.
Очень много теории и информации, причём, в зависимости от источника, эта информация может противоречить самой себе. К этому стоит добавить обилие научных терминов и трудный для понимания язык описания. Сложно угадать с выбором, а цена ошибки велика, так как системы дорогие и работа с ними часто требует определенной квалификации.
Понимая всё это, я решил поделиться своим опытом в BI сфере. Попытаюсь написать об этом простым языком и не вдаваться глубоко в теорию. Речь пойдет о Microsoft Analysis Services и о том, как он может решить часть проблем связанных с аналитической отчетностью. Другую часть этих проблем, я решил, написав специальную программу, которая позволяла формировать отчеты непосредственно в Excel, минуя HTML формы и минимизируя нагрузку на Web сервер, но о ней я уже писал тут https://habr.com/ru/post/281703/, а тут даже видео снял: https://youtu.be/_csGSw-xyzQ.
Приятного вам чтения.
Если лень читать, то есть кортокое видео (11 минут)
Создание OLAP-куба в Microsoft Analysis Services: https://youtu.be/f5DgG51KMf8
Но в этом видео далеко не всё то, о чём пойдёт речь далее.
Отчетность и её проблемы
Все началось с задачи, поставленной финансовым отделом крупного банка. Надо было создать систему отчетности, которая бы позволяла быстро и оперативно оценивать текущую ситуацию в организации. Для решения этой задачи мы взяли базу данных. Организовали в ней Хранилище (Data Warehouse), настроили процессы загрузки данных и установили систему отчетности. В качестве которой мы взяли SQL Server Reporting Services, так как этот продукт входил в MS Sharepoint, использовавшийся в тот момент в банке. В принципе всё работало, но у заказчика были претензии:
- Претензия 1. HTML -> MS Excel: отчеты изначально формируются в HTML, а аналитики работают с MS Excel. Надо постоянно делать экспорт из одного формата в другой. При этом часто сбивается разметка и в Excel часто подгружается множество дополнительной информации, большой объём которой, в некоторых случаях, существенно влияет на производительность.
- Претензия 2. Параметры для отчета: данные в отчетах зависят от параметров, причём при их изменении формируется новый отчет, который надо опять выгружать в Excel, что не всегда удобно.
- Претензия 3. Добавление изменений в отчет: для того, чтобы что-то изменить в отчете, добавить новую колонку или создать группировку, надо обращаться к специалисту, который может поправить этот отчет на сервере.
- Претензия 4. Анализ данных: отчеты получаются “статическими” и когда нужно посмотреть различные разрезы, поменять строки с колонками, отфильтровать или добавить, либо удалить какие-то значения, надо делать все эти манипуляции в Excel, что не всегда удобно, а порой и сложно, из-за проблем с производительностью компьютеров, на которых работают аналитики.
- сверяли данные из базы по формулам, которые можно добавить в Excel,
- хранили одни и те же срезы данных, сделанные в разные дни, с целью обнаружить ошибки,
- добавляли туда свои данные,
- писали различные скрипты
- формируем отчет в HTML,
- экспортируем его в Excel,
- начинаем заниматься бесконечными танцами вокруг данных.
Выход из ситуации
К найденному решению подтолкнули PivotTable в Excel
Детально изучив эти решения вышли на MS Analysis Services и решили попробовать. Его можно использовать в Excel, и он может работать с Oracle, как с источником данных, что нас на тот момент устраивало. С точки зрения архитектуры, источником данных для него может служить что угодно, был бы нужный провайдер. Суть его в том, что он способен хранить в себе большие объемы данных со всеми их агрегациями и выдавать их клиенту максимально быстро. К Excel его можно легко подключить и манипулировать данными в Pivot Table.
В MS Analysis Services есть возможность партиционирования данных (хранение их в виде множества отдельных частей) и так же инкрементальное обновление данных. Это даёт ему возможность загружать данные из внешних систем небольшими кусочками и хранить их во множестве партиций. С точки зрения максимальных объемов, у него есть ограничения, но они довольно большие https://docs.microsoft.com/en-us/analysis-services/multidimensional-models/olap-physical/maximum-capacity-specifications-analysis-services?view=asallproducts-allversions.
MS Analysis Services является OLAP системой, которая использует отдельный сервер для хранения данных, либо части данных. Его плюсом является то, что он способен довольно быстро работать с миллионами записей, будучи установленным на обычный, современный компьютер. Так же он позволяет анализировать данные непосредственно в Excel и может заменить собой десятки отчетов на MS Reporting Services или ему подобных. Причем при работе с ним не надо писать и править различные запросы типа SQL, хотя при желании можно, только вместо SQL он использует MDX.
Правда есть тут и ложка дегтя. В Excel можно запросить разом очень большой объём данных и OLAP их вернет, но отобразить такой объем Excel не сможет, либо сможет, но работать при этом будет очень медленно. На первых порах это раздражало аналитиков, но поняв причину и настроив фильтры в Pivot Table эту проблему решили.
Секрет быстродействия MS Analysis Services, как и любой другой OLAP системы, кроется в архитектуре хранения данных. В нем все храниться в максимально подготовленном и оптимизированном для запросов виде. Такая подготовка требует времени и запись вновь пришедших данных в OLAP происходит не быстро, но, с другой стороны, чтение данных получается очень быстрым. Выходит — долго пишем быстро читаем.
Немного теории
Чаще всего, когда анализируют данные их объединяют в группы, а сами группы так же объединяют в иерархии. Для примера возьмём торговую точку. С точки зрения бизнеса, интерес представляют продажи. То есть сколько товара было продано за день (1-группа), за месяц (2-ая) и за год (3-я). Где день месяц и год — это разные уровни одной иерархии.
Получается, что продажи за месяц — это сумма всех продаж за все дни в месяце, а продажи за год – это сумма продаж за все месяцы в этом году. Отсюда получается, что для получения максимального быстродействия, можно заранее собрать данные в группы и рассчитать агрегаты (в нашем примере суммы продаж) для каждого уровня иерархи. Вот на этом принципе и работают MS Analysis Services.
Им достаточно сказать — что надо считать, по какой формуле и на какие группы это можно разбить. Остальную работу они сделают сами. Тут немного о том как они это делают: http://citforum.ru/consulting/BI/molap_overview/node7.shtml. Стоит отметить, что в современных OLAP системах все агрегаты, чаще всего, не рассчитываются заранее. Это всё делается «на лету», в момент запроса.
Теперь о терминах:
MS Analysis Services – это одна из OLAP систем, где OLAP это аббревиатура — online analytical processing. Дословно это означает – интерактивная (online) аналитическая обработка данных. Со временем данная формулировка утратила свой первоначальный смысл, так как появились системы, способные обрабатывать данные с большой скоростью и передавать их пользователю без использования подходов, декларируемых в OLAP. Поэтому, сейчас есть более полное описание требований к системам, которые могут называться OLAP, это:
- Тест FASMI — Fast Analysis of Shared Multidimensional Information. Более детально об этом можно прочитать здесь: http://www.olap.ru/basic/fasmi.asp.
- И описание “правильного куба”, которое дал в 1993 году Е.Ф. Кодд: http://www.calligraph.ru/kodda.htm .
Вкратце, OLAP – это система хранения, организованная таким образом, чтобы данные в ней:
- были взаимосвязаны,
- собирались в иерархии,
- имели функции агрегации по всему множеству иерархий
При построении OLAP выделяют Факты и Измерения. Факты – это цифровые значения измеряемых величин. Измерения – это сами измеряемые величины. Совокупность всех связанных между собой измерений, фактов и функций для их агрегации называют OLAP-кубом. Факты и Измерения связанны между собой.
По типу связи выделяют 2 схемы организации хранения данных – Звезда и Снежинка. Звезда – это когда все измерения напрямую связаны с фактом, снежинка – это когда есть измерения, которые связанны с фактом через другие измерения. Эти схемы можно создавать и просматривать в разделе Data Source Views в SSAS .
Создание OLAP-куба в Microsoft Analysis Services
Построение OLAP кубов делается через проект в Visual Studio. По большей части там реализована технология визуального программирования – перетащить, кликнуть мышкой, настроить. Отсюда это проще показать, чем описать. Что я и сделал в моем видео: https://youtu.be/f5DgG51KMf8. Так же стоит отметить то, что Microsoft, в ознакомительных целях, предоставляет свои продукты бесплатно.
Отсюда, посмотреть, как он работает можно на любом компьютере с ОС Windows 10, удовлетворяющем следующим требованиям: https://docs.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-ver15?view=sql-server-ver15. Требования по ссылке к MS SQL Server, так как MS Analysis Services являются его частью.
Заключение
OLAP — это относительно простой способ повысить скорость и удобство работы с данными. В данный момент существует множество решений, основанных на этой технологии. Я работал с MS Analysis Services (SSAS) и вот что мне в нём понравилось:
- теоретически он позволяет работать с любым источником данных, не требуя при этом существенных затрат с точки зрения оборудования.
- хранит данные на выделенном сервере, что снижает вероятность их потери, в отличие от систем, хранящих такие данные в памяти.
- интегрирован с MS Excel, что облегчает работу с ним для тех, кто привык работать с данным продуктом.
- Программирование
- Анализ и проектирование систем
- SQL
- Data Mining
- Визуализация данных
Источник: habr.com
Основные возможности службы Microsoft SQL Server Analysis Services (SSAS)
Microsoft SQL Server Analysis Services (SSAS) является базовой платформой для развития систем бизнес-анализа (Business Intelligence). SSAS 2008 обеспечивают высокую производительность работы приложений и масштабируемость на уровне миллионов записей и тысяч пользователей.
Компоненты BI-решения Microsoft. BI-решение основывается на масштабируемой платформе, предназначенной для интеграции данных, построения хранилищ данных, анализа накопленных данных и построения отчетов. Ядром BI-решения является платформа SQL Server.
Компоненты: SQL Server Database Engine – Масштабируемая, высокопроизводительная СУБД, способная хранить большие объемы данных, образующиеся в результате консолидации данных в единое хранилище для анализа и построения отчетов. SQL Server Integration Services – Платформа для выполнения операций извлечения, преобразования и загрузки, которая обеспечивает заполнение ХД и его синхронизацию с данными из различных источников, которые используются бизнес-приложениями организации. SQL Server Analysis Services – Обеспечивает возможность построения OLAP-решений, включая возможность расчета ключевых индикаторов производительности (KPI). SQL Server Reporting Services – Инструментарий построения отчетов, предназначенный для создания, публикации и распространения детализированных бизнес-отчетов, как для внутренних, так и для внешних целей.
UDM. SSAS построены на основе Унифицированной Многомерной Модели (Unified Dimensional Model, UDM), которая позволяет различным типам клиентских приложений получать доступ к данным как из реляционных, так и из многомерных баз данных без использования отдельных моделей для каждого типа баз данных.
Основой UDM является архитектура измерений на основе атрибутов, которая дает возможность группировать свойства, определяющие функционирование бизнеса, в одно измерение и отделить эти свойства от правил навигации по измерению – иерархий.
UDM предоставляет возможность использовать множество источников данных (data sources) для создания многомерной модели. UDM может быть использована для создания единого представления реляционных и многомерных данных, включающих бизнес-объекты, бизнес-аналитику, вычисления и метрики; создает промежуточный логический уровень между физической реляционной базой данных, используемой в качестве источника данных, и фирменными структурами куба и измерений, используемыми для обработки пользовательских запросов. Модель UDM можно представить себе как ядро системы OLAP. Одним из ключевых преимуществ модели UDM является возможность сочетать гибкость и функциональное богатство традиционной реляционной модели генерации отчетов с мощными аналитическими средствами и превосходной производительностью классической модели системы OLAP.
Масштабируемость и производительность
За счет высокой масштабируемости службы SSAS позволяют работать с терабайтными базами данных, и с тысячами пользователей. Чтобы обеспечить работу большого количества пользователей, избежать конфликтов при пользовании ресурсами и снизить затраты, имеется возможность горизонтального масштабирования служб SSAS. Горизонтальное масштабирование заключается в наращивании вычислительных мощностей и емкости хранилищ данных с целью хранения и синхронизации нескольких версий данных, но в то же время службы SSAS позволяют организовать общий доступ для чтения информации из одной базы данных служб с нескольких серверов, устраняя необходимость в избыточных ресурсах.
Кубы служб SSAS – это многомерные структуры, обеспечивающие высокоскоростной доступ к большим объемам предварительно объединенных данных, и позволяющие конечным пользователям получать интересующие их бизнес-данные в реальном времени. В службах SSAS хранятся бизнес-данные в формате MOLAP, предоставляющем возможность высокой степени оптимизации и сжатия.
Представление источника данных
SSAS предоставляет уровень абстракции над реляционным источником данных – представление источника данных. Представление источника данных позволяет определять таблицы из реляционной базы для использования в многомерной модели. Кроме того, объект представления источника данных позволяет создавать вычисляемые столбцы и представления над реляционными таблицами.
Интеграция с Microsoft Office System 2007
BI-платформа Microsoft предоставляет возможности интеграции с продуктами семейства Microsoft Office System 2007, в частности:
Microsoft Office Excel дает возможность просматривать данные, хранящиеся в OLAP-кубах SSAS путем построения динамических представлений Microsoft PivotTable, что не требует установки дополнительного программного обеспечения;
Microsoft Office Word позволяют просматривать отчеты, генерируемые при помощи Reporting Services;
Microsoft Office Visio позволяет визуализировать деревья решений, деревья зависимостей, кластерные диаграммы и другие модели технологии data mining;
Microsoft Office SharePoint Server позволяет создать единый пользовательский интерфейс для просмотра и управления отчетами, генерируемыми при помощи Reporting Services.Локализация решения посредством использования переводов
Часто возникает необходимость разработки многоязыковых решений. Как правило, сами данные едины для всего мира, но метаданные – куб, меры, наименования и уровни измерений, ключевые показатели эффективности (KPI) будут своими для каждого используемого языка. Переводы позволяют задавать различные значения метаданных для разных языков и приспосабливать решения для работы в международном контексте. Финансовую информацию также необходимо локализировать для представления результатов в надлежащей валюте. Предусмотренные в службах SSAS возможности перевода и автоматического конвертирования валют позволяют отображать локализованные данные анализа на родном языке пользователей.
Источник: studopedia.ru