Дизайн Azure SQL DWH для микропакетного обновления

Мне просто нужно одно мнение о проектировании базы данных с использованием Azure SQl DWH

Вот текущий сценарий:

Мы создаем систему DWH с использованием Azure SQL DWH, источником которой является база данных Timeseries, которая собирает информацию, связанную с датчиком, каждые 15 секунд. Теперь у нас есть кластер блоков данных, работающий каждые 2 минуты, который собирает эти данные и сохраняет их в наших таблицах фактов. Для всех таблиц фактов я сохранил тип индекса: индекс кластерного хранилища столбцов с циклическим распределением.

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

Для всех таблиц измерений я сохранил тип индекса: Кластерный индекс (для бизнес-ключа) с циклическим распределением.

Как вы думаете, это хороший дизайн для Azure SQl DWH, где записи обновляются в целевом объекте микропакетным способом. Также есть несколько отчетов Power BI, работающих с этими таблицами в DWH с использованием режима прямого запроса для аналитики почти в реальном времени.

Пожалуйста, предложите, есть ли альтернативный подход


person user1941025    schedule 25.03.2019    source источник
comment
Этот вопрос не должен был быть отклонен. Он содержит законный вопрос о наилучшем использовании продукта. Вопрос, вероятно, будет полезен другим.   -  person Ron Dunn    schedule 25.03.2019


Ответы (1)


Вы получите гораздо лучшую производительность, изменив распределение Fact на HASH () и распределение Dimension на Replicate.

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

person Ron Dunn    schedule 25.03.2019
comment
Спасибо за ваш ценный отзыв, я внесу изменения в дизайн стола. Итак, что касается загрузки данных и требований к отчетности в реальном времени, будет ли этих изменений достаточно. Нужно ли масштабировать Azure SQL DWH DWU? - person user1941025; 25.03.2019
comment
Я не могу ответить на этот вопрос, не зная намного больше о вашей конфигурации и данных ... тем более, что я не знаю, какой DWU вы используете :) - person Ron Dunn; 25.03.2019
comment
Перечитывая вопрос, как вы справляетесь с перемещением данных из Databricks и веб-заданий? Убедитесь, что вы используете коннектор хранилища данных от Databricks (а не коннектор SQL Server) и не запускаете инструкции вставки / обновления / удаления одной строки из своего веб-задания. В обоих случаях обрабатывайте данные как микропакеты, а не отдельные строки. - person Ron Dunn; 25.03.2019