Spec-Zone.ru › DuckDB

Окружение

Окружение, в котором выполняется DuckDB, оказывает очевидное влияние на производительность. Эта страница посвящена влиянию конфигурации оборудования и используемой операционной системы.

Конфигурация оборудования

CPU и память

Как правило, DuckDB требует минимум 125 МБ памяти на поток. Например, если вы используете 8 потоков, вам нужно как минимум 1 ГБ памяти. Для оптимальной производительности задачи с интенсивной агрегацией требуют примерно 5 ГБ памяти на поток, а задачи с интенсивным объединением — примерно 10 ГБ памяти на поток.

Рекомендация Стремитесь к 5-10 ГБ памяти на поток.

Совет Если у вас ограниченный объем памяти, попробуйте ограничить количество потоков, например, выполнив SET threads = 4;.

Диск

DuckDB может работать как в оперативной памяти, так и как база данных на диске. В обоих случаях он может выгружаться на диск для обработки задач, объем которых превышает объем оперативной памяти (так называемая обработка вне оперативной памяти), для чего очень полезен быстрый диск. Однако, если задача помещается в оперативную память, скорость диска оказывает ограниченное влияние на производительность.

Локальный диск

Режим DuckDB на основе диска наилучшим образом работает с SSD- и NVMe-дисками. Хотя HDD поддерживаются, они приведут к низкой производительности, особенно для операций записи.

Диски с подключением к сети

Диски облака. DuckDB хорошо работает с облачными дисками, подключенными к сети, такими как AWS EBS, для задач как только чтения, так и чтения-записи.

Диск сетевого хранения. Диск сетевого хранения может обслуживать DuckDB для задач только чтения. Однако не рекомендуется использовать DuckDB в режиме чтения-записи на диске сетевого хранения (NAS). К таким системам относятся NFS, сетевые накопители, такие как SMB и Samba. Согласно отчетам пользователей, использование DuckDB в режиме чтения-записи на диске сетевого хранения может привести к медленной и непредсказуемой производительности, а также к ложным ошибкам, вызванным базовой файловой системой.

Предупреждение Избегайте использования DuckDB в режиме чтения-записи на дисках сетевого хранения.

Рекомендация Быстрые диски важны, если ваш объем работы больше объема оперативной памяти и/или важна скорость загрузки данных. Используйте диски с подключением к сети только в том случае, если они надежны (например, облачные диски) и гарантируют высокую производительность ввода-вывода.

Операционная система

Рекомендуется использовать последнюю стабильную версию операционных систем: macOS, Windows и Linux — все они хорошо протестированы, и DuckDB может работать на них с высокой производительностью. Среди дистрибутивов Linux рекомендуется использовать Ubuntu Linux LTS из-за его стабильности и того факта, что большинство задач тестового набора DuckDB для Linux выполняются на рабочих узлах Ubuntu.

© Copyright 2018–2024 Stichting DuckDB Foundation
Licensed under the MIT License.
https://duckdb.org/docs/guides/performance/environment.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API