Проблема производительности связанных измерений - PullRequest
7 голосов
/ 18 марта 2019

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

Я создал проект многомерного анализа для каждого хранилища данных:

  • В первом проекте я определил измерения и развернул базу данных Analysis, и я могу без проблем просматривать куб в Management Studio.
  • Во втором проекте я определил связанные измерения и использовал развернутые измерения из первой базы данных анализа.

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

Произошла ошибка при получении дочерних узлов: элемент Messages в строке (urn пространства имен: schemas-microsoft-com: xml-analysis: исключение) не может отображаться в Envelope / Body / ExecuteResponse / return / SubCube)

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

Также я попытался запустить ту же логику фильтра, используя MDX-запрос, используя FILTER(), но безуспешно. Синтаксис запроса MDX похож на:

SELECT ([Dimension2].[---].[---], [MeasureGroup].[Measure]) ON COLUMNS,
        FILTER([Dimension1].[---].[---],[Dimension1].[---].[---].CurrentMember.Name = "FilterValue") ON ROWS
FROM [AnalysisCube]

Обратите внимание, что: размеры содержат более 4 ГБ, а CompatibilityLevel установлено на 1100.

Есть предложения?

1 Ответ

6 голосов
/ 01 апреля 2019

На основании следующей ссылки Microsoft:

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

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

Из приведенной выше информации похоже, что использование связанных размеров не рекомендуется с точки зрения производительности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...