Сравнение табличных и многомерных решений

Область применения: SQL Server Analysis Services Azure Analysis Services Power BI Premium

SQL Server Analysis Services (SSAS) предоставляет несколько подходов или режимов для создания семантических моделей бизнес-аналитики: табличные и многомерные.

Многомерный режим доступен только с SQL Server Analysis Services. Если вы хотите, чтобы модели были развернуты в Azure Analysis Services или Power BI, вы можете прекратить чтение. Многомерные модели не поддерживаются в наборах данных Azure Analysis Services или Power BI Premium. Если вы хотите использовать многомерные модели в облаке, единственным способом является развертывание SQL Server Analysis Services в многомерном режиме на виртуальной машине Azure.

Так как многомерные модели поддерживаются только в SQL Server Analysis Services, эта статья не предназначена для сравнения платформ Analysis Services (SQL Server, Azure, Power BI). Оно предназначено для обеспечения высокого уровня сравнения многомерных и табличных конструкций полностью в контексте SQL Server Analysis Services.

SQL Server Analysis Services также включает в себя режим Power Pivot для SharePoint, который по-прежнему поддерживается для SharePoint 2016 и SharePoint 2013, однако стратегия бизнес-аналитики Майкрософт отключилась от Power Pivot в интеграции Excel с SharePoint. Power BI и Сервер отчетов Power BI теперь являются рекомендуемыми платформами для размещения книг Excel с моделями Power Pivot. Таким образом, эта статья теперь исключает сравнение Power Pivot для SharePoint.

В SQL Server Analysis Services наличие нескольких подходов позволяет моделировать интерфейс, адаптированный к различным бизнес-требованиям и требованиям пользователей. Многомерная технология является зрелой технологией, построенной на открытых стандартах, принятых многочисленными поставщиками программного обеспечения бизнес-аналитики, но может быть сложной задачей для реализации. Табличный подход использует реляционные модели, которые многим разработчикам кажутся более понятными. В долгосрочной перспективе табличные модели проще разрабатывать и легко управлять. Хотя многомерные модели по-прежнему распространены во многих решениях бизнес-аналитики, табличные модели теперь более широко принимаются в качестве стандартного корпоративного семантического моделирования бизнес-аналитики на платформах Майкрософт.

Все модели развертываются как базы данных, которые выполняются в экземпляре служб Analysis Services или с табличными моделями, развернутыми в виде набора данных в Power BI Premium емкости. Доступ к моделям доступны клиентским приложениям или службам, таким как Power BI. Данные модели визуализированы в интерактивных и статических отчетах с помощью Excel, Reporting Services, Power BI и средств бизнес-аналитики от других поставщиков.

Табличные и многомерные решения, созданные с помощью Visual Studio, предназначены для корпоративных решений бизнес-аналитики, работающих на локальном экземпляре SQL Server Analysis Services, а также для табличных моделей, ресурса сервера Azure Analysis Services или в виде набора данных в Power BI Premium емкости. Каждое решение обеспечивает высокую производительность аналитических баз данных, которые легко интегрируются с клиентскими приложениями и службами визуализаций данных. При этом каждое решение различается способом создания, использования и развертывания. Основная часть этой статьи сравнивает эти два типа, чтобы вы могли определить правильный подход.

Обзор типов моделирования

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

Тип Описание моделирования Первоначально выпущено Уровень совместимости
Многомерная Конструкции моделирования OLAP (кубы, измерения, меры). SQL Server 2000
SQL Server 2012 и более поздних версий
1050
1100
Power Pivot Изначально надстройка, которая теперь полностью интегрирована с Excel. Инфраструктура табличной модели. API и скрипты не поддерживаются. SQL Server 2008 R2 Н/Д
Таблица Реляционные конструкции моделирования (модели, таблицы, столбцы). На внутреннем уровне метаданные наследуются из конструкций моделирования OLAP (кубы, измерения, меры). В коде и скрипте используются метаданные OLAP. SQL Server 2012
SQL Server 2014 г.
1050
1103
Табличный в SQL Server 2016 и более поздних версий Конструкции реляционного моделирования (модели, таблицы, столбцы), сформулированные в определениях объектов табличных метаданных в коде языка скриптов табличных моделей (TMSL) и табличной объектной модели (TOM). SQL Server 2016
SQL Server 2014
SQL Server 2019
SQL Server 2022 г.
1200
1400
1500
1600
Табличное в Azure Analysis Services 1 Конструкции реляционного моделирования (модели, таблицы, столбцы), сформулированные в определениях объектов табличных метаданных в коде языка скриптов табличных моделей (TMSL) и табличной объектной модели (TOM). 2016 1200 и выше
Табличное в Power BI Premium 2 Конструкции реляционного моделирования (модели, таблицы, столбцы), сформулированные в определениях объектов табличных метаданных в коде языка скриптов табличных моделей (TMSL) и табличной объектной модели (TOM). 2020 1500 и выше

[1] Azure Analysis Services поддерживает табличные модели на уровнях совместимости 1200 и выше. Однако не все функции табличного моделирования, описанные в этой статье, поддерживаются. При создании и развертывании табличных моделей в Azure Analysis Services точно так же, как и для локальной среды, важно понимать различия. Дополнительные сведения см. в статье "Что такое Azure Analysis Services"?

[2] Power BI Premium емкости поддерживают табличные модели на уровне 1500 и более высоких уровней совместимости. Однако не все функции табличного моделирования, описанные в этой статье, поддерживаются. При создании и развертывании табличных моделей в Power BI Premium точно так же, как и для локальной среды или Azure, важно понимать различия. Дополнительные сведения см. в разделе "Службы Analysis Services" в Power BI Premium

Уровень совместимости важен. Это относится к поведению конкретного выпуска в ядре служб Analysis Services. Дополнительные сведения см. в разделе "Уровень совместимости табличной модели " и "Многомерная модель"

Функции модели

В следующей таблице приведена сводка доступности функций на уровне моделей. Просмотрите этот список, чтобы убедиться, что возможность, которую вы хотите использовать, доступна в создаваемой модели.

Компонент Многомерная Таблица
Действия Да Нет
Агрегации Да нет
Вычисляемый столбец нет Да
Вычисляемые меры Да Да
Вычисляемые таблицы Нет Да3
Пользовательские сборки Да Нет
Пользовательские свертки Да нет
элемент по умолчанию; Да нет
Отображение папок Да Да3
Количество различных Да Да (посредством DAX)
Детализация Да Да (зависит от клиентского приложения)
Иерархии Да Да
Ключевые показатели эффективности Да Да
Связанные объекты Да Да (связанные таблицы)
Выражения M нет Да3
Связи "много ко многим". Да Нет (но существуют двунаправленные кроссфильтры на уровнях совместимости 1200 и выше)
Именованные наборы Да Нет
Неоднородные иерархии Да Да3
Иерархии типа «родители-потомки» Да Да (посредством DAX)
Секции Да Да
Перспективы Да Да
Чередование запросов нет Да4
Безопасность на уровне строк Да Да
Безопасность на уровне объекта Да Да3
Полуаддитивные меры Да Да
Translations Да Да
Пользовательские иерархии Да Да
Обратная запись Да нет

[3] Сведения о функциональных различиях между уровнями совместимости см. в разделе "Уровень совместимости" для табличных моделей в службах Analysis Services.

[4] — SQL Server 2019 и более поздних версий Служб Analysis Services, Azure Analysis Services.

Рекомендации по работе с данными

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

Сжатие

Как в табличных, так и в многомерных решениях используется сжатие данных, уменьшающее размер базы данных служб Analysis Services по отношению к хранилищу данных, из которого импортируются данные. Поскольку фактическое сжатие различается в зависимости от характеристик базовых данных, невозможно узнать точно, сколько места на диске и в памяти понадобится решению после обработки данных и использования их в запросах.

По оценкам многих разработчиков, для служб Analysis Services размер основного хранилища многомерной базы данных составляет около одной третьей размера исходных данных. В табличных базах данных иногда можно добиться большей степени сжатия, около одной десятой от исходного размера, особенно если большая часть данных импортируется из таблиц фактов.

Размер модели и смещение ресурсов (в памяти или на диске)

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

Табличные базы данных выполняются в памяти или в режиме DirectQuery, который позволяет передать задачи выполнения запроса внешней базе данных. Для аналитики табличных данных база данных хранится полностью в памяти, что означает, что необходимо иметь достаточно памяти для загрузки не только всех данных, но и дополнительных структур данных, созданных для поддержки запросов.

DirectQuery, обновленный в SQL Server 2016 г., имеет меньше ограничений, чем раньше, и более высокую производительность. Использование серверной реляционной базы данных для хранения и выполнения запросов упрощает создание крупных табличных моделей.

Исторически самые крупные базы данных в рабочей среде являются многомерными, при этом рабочие нагрузки обработки и запросов выполняются независимо на выделенном оборудовании, каждый из которых оптимизирован для соответствующего использования. Табличные базы данных быстро догоняют эти типы баз данных, а улучшения DirectQuery помогают сократить зазор между ними.

Для многомерного разгрузки хранилища данных и выполнения запросов доступно через ROLAP. На сервере запросов наборы строк можно кэшировать, а устаревшие — выстраиваться. Эффективное и сбалансированное использование ресурсов памяти и дисков часто позволяет клиентам использовать многомерные решения.

Под нагрузкой ожидается увеличение требований как к объему на диске, так и к объему памяти для каждого типа решения при выполнении кэширования, хранения, просмотра и запроса данных службами Analysis Services. Дополнительные сведения о параметрах подкачки памяти см. в разделе Memory Properties. Дополнительные сведения о масштабе см. в разделе High availability and Scalability in Analysis Services.

Поддерживаемые источники данных

В табличные модели можно импортировать данные из реляционных источников данных, веб-каналов данных и документов некоторых форматов. Ole DB также можно использовать для поставщиков ODBC с табличными моделями. Табличные модели на уровнях совместимости 1400 и более поздних версий обеспечивают значительное увеличение количества источников данных, из которых можно импортировать данные. Это связано с введением современных функций запроса данных Get Data и импорта в Visual Studio с использованием языка запросов формул M.

Многомерные решения могут импортировать данные из реляционных источников данных, используя собственные и управляемые поставщики OLE DB.

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

Поддержка языка запросов и сценариев

Службы Analysis Services включают в себя языки многомерных выражений (MDX), расширений интеллектуального анализа данных (DMX), DAX, XML/A,ASSL и TMSL. Поддержка этих языков немного различается в зависимости от типа модели. Если необходимо учесть требования к языкам скриптов и запросов, просмотрите следующий список.

  • Табличный шаблон баз данных поддерживает вычисления DAX, запросы DAX и запросы многомерных выражений (MDX). Это справедливо на всех уровнях совместимости. Языки сценариев — ЭТО ASSL (через XMLA) для уровней совместимости 1050-1103 и TMSL (через XMLA) для уровня совместимости 1200 и более поздних версий.

  • Базы данных многомерной модели поддерживают вычисления многомерных выражений, многомерные запросы, запросы DAX и ASSL.

  • PowerShell служб Analysis Services поддерживается для табличных и многомерных моделей и баз данных.

Все базы данных поддерживают XMLA.

Функции безопасности

Все решения служб Analysis Services могут быть защищены на уровне базы данных. Более гранулярные параметры безопасности различаются в зависимости от режима. Если для вашего решения требуется точная настройка безопасности, просмотрите следующий список, чтобы убедиться, что нужный уровень защиты поддерживается в этом типе решения:

Средства проектирования

Visual Studio с расширением проектов служб Analysis Services, также известным как SQL Server Data Tools (SSDT), является основным инструментом, используемым для создания многомерных и табличных решений. Эта среда разработки использует оболочку Visual Studio для предоставления рабочих областей конструктора, областей свойств и навигации по объектам. Табличные модели также поддерживают разработку моделей с помощью инструментов с открытым кодом и сторонних производителей. Дополнительные сведения см. в статье "Средства analysis Services".

Поддержка клиентских приложений

Как правило, табличные и многомерные решения поддерживают клиентские приложения с помощью одной или нескольких клиентских библиотек служб Analysis Services (MSOLAP, AMOMD, ADOMD). Например, Excel, Power BI Desktop и пользовательские приложения. Службы визуализации и аналитики данных, такие как Power BI, полностью поддерживают табличные и многомерные решения.

При использовании служб Reporting Services доступность функций отчетов различается в зависимости от выпусков и режимов сервера. По этой причине на выбор режима сервера для установки может повлиять то, отчеты какого типа вы намереваетесь строить.

Power View, средство разработки Reporting Services, которое выполняется в SharePoint, доступно на сервере отчетов, развернутом в ферме SharePoint 2010. Единственным типом источника данных, который можно использовать с этим отчетом, является база данных табличной модели служб Analysis Services или книга Power Pivot. Это означает, что для размещения источника данных, используемого этим типом отчета, необходимо иметь сервер табличного режима или сервер PowerPivot для SharePoint. Многомерную модель нельзя использовать в качестве источника данных для отчета Power View. Необходимо создать подключение семантической модели Power Pivot BI или Reporting Services общий источник данных для использования в качестве источника данных для отчета Power View.

Report Builder и конструктор отчетов могут использовать любую базу данных служб Analysis Services, включая книги Power Pivot, размещенные в Power Pivot для SharePoint.

Отчеты в виде сводных таблиц Excel поддерживаются всеми базами данных служб Analysis Services. Функциональные возможности Excel одинаковы, независимо от того, используется ли табличная база данных, многомерная база данных или книга Power Pivot, хотя обратная запись поддерживается только для многомерных баз данных.

См. также раздел

Общие сведения о табличной модели
Многомерные модели