#data-warehouse #etl
#хранилище данных #etl
Вопрос:
Похоже, что индексированные представления и агрегированные таблицы используются для одной и той же цели: для предварительного вычисления агрегатов с целью повышения производительности запросов. В чем преимущества использования одного подхода по сравнению с другим? Является ли это простотой обслуживания при использовании представлений по сравнению с необходимостью поддерживать ETL, необходимый для агрегированной таблицы?
Ответ №1:
Похоже, вы используете SQL Server, поэтому вот несколько моментов, которые следует учитывать.
-
Индексированное представление может содержать или не содержать агрегированные данные.
-
Существует список функций (операторов, ключевых слов), которые нельзя использовать в индексированных представлениях, многие из них агрегируются.
-
Индексированное представление привязывает схему к таблицам, на которые ссылается представление.
Кроме того, отключение индекса в представлении физически удаляет данные. В хранилище данных все индексы обычно удаляются или отключаются во время загрузки. Итак, при перестройке этого индекса потребуется повторно агрегировать всю таблицу после каждого основного (ежедневного?) загрузка — в отличие от агрегированной таблицы, которая может обновляться только за последний день или около того.