Кэширование
Apache Doris предоставляет многоуровневое кэширование для ускорения запросов: кэширование на уровне результатов позволяет повторно использовать результаты запросов с идентичным SQL, кэширование на уровне сегментов позволяет повторно использовать результаты вычисления условий фильтрации, а кэширование на уровне файлов переносит на локальные диски данные из удалённого lakehouse и данные внутренних таблиц в режиме разделения вычислений и хранения. Выбирайте подходящую стратегию кэширования с учётом особенностей вашей рабочей нагрузки.
Кэши результатов запросов и фильтрации
SQL Cache
Кэширует полные результаты запросов на основе текста SQL и версий таблиц/разделов. Подходит для сценариев T+1 или редких обновлений. При попадании в кэш можно пропустить весь процесс вычислений.
Condition Cache
Кэширует результаты применения условий фильтрации к сегментам. Повторные запросы с теми же условиями могут напрямую использовать кэшированные результаты, избегая повторного сканирования и вычисления условий фильтрации.
Файловый кэш для внешних таблиц
Файловый кэш в режиме разделения вычислений и хранения
File Cache (с разделением вычислений и хранения)
Кэширует данные внутренних таблиц из объектного хранилища на локальных дисках BE в режиме разделения вычислений и хранения. Рассматриваются LRU с несколькими очередями, прогрев кэша, квоты кэша и политики TTL.
Peer Cache Read
Если блок отсутствует в локальном File Cache, считывает его с другого BE (в том числе из других вычислительных групп), прежде чем обращаться к объектному хранилищу. Ускоряет масштабирование и холодное чтение данных между группами.