Конфигурации материализации
Оптимизация производительности
Кластеры
Включите конфигурацию кластеров.
Кластер по умолчанию, который используется для поддержки материализованных представлений или индексов, может быть настроен в вашем профиле с использованием параметра подключения cluster
. Чтобы переопределить кластер, используемый для конкретных моделей (или групп моделей), используйте параметр конфиг урации cluster
.
{{ config(materialized='materializedview', cluster='not_default') }}
select ...
models:
project_name:
+materialized: materializedview
+cluster: not_default
Инкрементальные модели: Материализованные представления
Materialize, в своей о снове, является базой данных реального времени, которая обеспечивает инкрементальные обновления представлений без ущерба для задержки или корректности. Используйте материализованные представления для вычисления и инкрементального обновления результатов вашего запроса.
Индексы
Включите дополнительную конфигурацию для индексов.
Как и в любой стандартной реляционной базе данных, вы можете использовать индексы для оптимизации производительности запросов в Materialize. Улучшения могут быть значительными, сокращая время отклика до однозначных миллисекунд.
Материализованные представления (materializedview
), представления (view
) и источники (source
) могут иметь список определенных индексов
. Каждый индекс Materialize может иметь следующие компоненты:
columns
(список, обязательный): один или несколько столбцов, по которым определяется индекс. Чтобы создать индекс, использующий все столбцы, используйте компонентdefault
.name
(строка, необязательный): имя для индекса. Если не указано, Materialize использует имя материализации и предоставленные имена столбцов.cluster
(строка, необязательный): кластер, который будет использоваться для создания индекса. Если не указано, индексы будут созданы в кластере, используемом для создания материализации.default
(логический, необязательный): По умолчанию:False
. Если установлено вTrue
, создает индекс по умолчанию, использующий все столбцы.
{{ config(materialized='view',
indexes=[{'columns': ['col_a'], 'cluster': 'cluster_a'}]) }}
indexes=[{'columns': ['symbol']}]) }}
select ...
{{ config(materialized='view',
indexes=[{'default': True}]) }}
select ...
Тесты
Если вы установите необязательный флаг --store-failures
или store_failures
config, dbt создаст материализованное представление для каждого настроенного теста, которое может отслеживать сбои с течением времени. По умолчанию, тестовые представления создаются в схеме с суффиксом dbt_test__audit
. Чтобы указать пользовательский суффикс, используйте конфигурацию schema
.
tests:
project_name:
+store_failures: true
+schema: test