Сравнение табличных и многомерных решений
Применимо к: 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, однако стратегия бизнес-аналитики Майкрософт отменяется от 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 и выше обеспечивают значительное увеличение разнообразия источников данных, из которых можно импортировать данные. Это связано с внедрением современных функций запроса и импорта данных в 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. Это означает, что для размещения источника данных, используемого этим типом отчета, необходим сервер табличного режима или сервер Power Pivot для 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, хотя обратная запись поддерживается только для многомерных баз данных.