Рекомендации по созданию трехмерной модели с помощью потоков данных

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

Промежуточные потоки данных

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

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

Рекомендуется следовать тому же подходу, используя потоки данных. Создайте набор потоков данных, которые отвечают за загрузку данных как есть из исходной системы (и только для нужных таблиц). Затем результат хранится в структуре хранилища потока данных (Azure Data Lake служба хранилища или Dataverse). Это изменение гарантирует, что операция чтения из исходной системы минимальна.

Затем можно создать другие потоки данных, которые источник своих данных из промежуточных потоков данных. К преимуществам этого подхода относятся:

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

Промежуточные потоки данных.

Изображение, подчеркивающее промежуточные потоки данных и промежуточное хранилище, а также показывающее доступ к данным из источника данных промежуточным потоком данных и таблицами, хранящимися в Cadavers или Azure Data Lake служба хранилища. Затем таблицы преобразуются вместе с другими потоками данных, которые затем отправляются в виде запросов.

Потоки данных преобразования

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

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

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

Многоуровневая архитектура

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

На следующем рисунке показана многоуровневая архитектура потоков данных, в которых затем используются их таблицы в семантических моделях Power BI.

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

Использование вычисляемой таблицы как можно больше

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

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

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

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

Создание схемы звездочки

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

Не идеально подходит для переноса данных в той же структуре операционной системы в систему бизнес-аналитики. Таблицы данных должны быть перемоделированы. Некоторые таблицы должны принимать форму таблицы измерений, которая сохраняет описательные сведения. Некоторые таблицы должны иметь форму таблицы фактов, чтобы сохранить агрегируемые данные. Лучший макет для таблиц фактов и таблиц измерений для формирования — это схема звезды. Дополнительные сведения. Общие сведения о схеме звезд и важности для Power BI

Изображение схемы

Использование уникального значения ключа для измерений

При создании таблиц измерений убедитесь, что для каждой из них есть ключ. Этот ключ гарантирует отсутствие связей "многие ко многим" (или, другими словами, "слабые") между измерениями. Ключ можно создать, применив некоторое преобразование, чтобы убедиться, что столбец или сочетание столбцов возвращает уникальные строки в измерении. Затем это сочетание столбцов можно пометить как ключ в таблице в потоке данных.

Пометьте столбец как значение ключа.

Добавочное обновление для больших таблиц фактов

Таблицы фактов всегда являются крупнейшими таблицами в трехмерной модели. Рекомендуется уменьшить количество строк, передаваемых для этих таблиц. Если у вас есть очень большая таблица фактов, убедитесь, что для этой таблицы используется добавочное обновление. Добавочное обновление можно выполнить в семантической модели Power BI, а также в таблицах потоков данных.

Добавочное обновление можно использовать для обновления только части данных, измененной части. Существует несколько вариантов выбора части обновляемых данных и сохраняемой части. Дополнительные сведения. Использование добавочного обновления с потоками данных Power BI

Добавочное обновление для потоков данных.

Ссылка на создание измерений и таблиц фактов

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

Изображение запроса Orders с параметром ссылки, используемым для создания нового запроса с агрегированными заказами.