Индексированное представление против Агрегированная таблица

#data-warehouse #etl

#хранилище данных #etl

Вопрос:

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

Ответ №1:

Похоже, вы используете SQL Server, поэтому вот несколько моментов, которые следует учитывать.

  • Индексированное представление может содержать или не содержать агрегированные данные.

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

  • Индексированное представление привязывает схему к таблицам, на которые ссылается представление.

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