Конфигурации материализации
Оптимизация производительности
Кластеры
Включите конфигурацию кластеров.
Кластер по умолчанию, который используется для поддержки материализованных представлений или индексов, может быть настроен в вашем профиле с использованием параметра подключения 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 ...
Тесты данных
data_tests:
project_name:
+store_failures: true
+schema: test