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

Применимо к: SQL Server Analysis Services Azure Analysis Services Fabric/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, однако стратегия бизнес-аналитики Microsoft сменилась, отойдя от интеграции Power Pivot в Excel с SharePoint. Power BI и Сервер отчетов Power BI теперь являются рекомендованными платформами для размещения Excel книг с моделями Power Pivot. Таким образом, в этой статье теперь не предусмотрено сравнение Power Pivot для SharePoint.

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

Все модели развертываются в виде баз данных, которые работают в экземпляре служб 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
Powerpivot Изначально надстройка, но теперь полностью интегрирована в 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. Дополнительные сведения см. на уровне совместимости табличной модели и многомерной модели.

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

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

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

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

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

Рекомендации по данным

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

Compression

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

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

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

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

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

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

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

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

При нагрузке можно ожидать, что требования к диску и памяти для любого типа решения будут увеличиваться, поскольку Analysis Services кэширует, сохраняет, сканирует данные и выполняет запросы. Дополнительные сведения о параметрах разбиения памяти см. в разделе "Свойства памяти". Дополнительные сведения о масштабировании см. в статье "Высокий уровень доступности и масштабируемость" в службах 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 и выше.

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

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

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

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

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

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

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

Поддержка клиентского приложения

Как правило, табличные и многомерные решения поддерживают клиентские приложения с помощью одной или нескольких клиентских библиотек служб 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.

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

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

См. также

Обзор табличной модели
Многомерные модели