Бинарные данные: Filesystem/S3 вместо базы данных
Бинарные данные в оперативной памяти или в базе данных замедляют n8n. Режимы filesystem и S3 решают эту проблему с помощью подходящих переменных.
Когда workflow n8n обрабатывает PDF, изображения или другие файлы, n8n должен временно где-то сохранить эти бинарные данные, прежде чем передать их следующему node. Без явной настройки эти данные попадают в оперативную память или, в зависимости от режима работы, в саму базу данных, что при больших файлах или множестве параллельных выполнений быстро приводит к проблемам с памятью и раздутой базе данных. Официальная документация n8n по Обработка бинарных данных в большом масштабе поэтому рекомендует для рабочих инстансов переход в режим filesystem или, при наличии self-hosted enterprise лицензии, на внешнее S3-хранилище. Актуально на: июль 2026.
Почему база данных не подходит для бинарных данных
По умолчанию n8n хранит бинарные данные в оперативной памяти, что, согласно документации, может приводить к сбоям при больших файлах. Если инстанс работает в режиме queue с несколькими workers, n8n не поддерживает режим filesystem, и бинарные данные приходится хранить в режиме базы данных. Проблема в том, что реляционная база данных рассчитана на множество небольших структурированных строк, а не на крупные бинарные blob-объекты. По мере роста сохраненных файлов заметно растет и сама база данных, что замедляет резервное копирование, репликацию и обычные запросы. Именно здесь и пригождается переход на хранение в filesystem или S3.
Режим filesystem: прагматичный первый шаг
Для self-hosted инстансов n8n вне режима queue режим filesystem является самым простым решением. Он активируется через переменную окружения N8N_DEFAULT_BINARY_DATA_MODE со значением filesystem, благодаря чему n8n записывает бинарные данные на диск вместо оперативной памяти. Расположение хранилища можно настроить через N8N_BINARY_DATA_STORAGE_PATH, по умолчанию оно находится в N8N_USER_FOLDER/binaryData. Кроме того, N8N_AVAILABLE_BINARY_DATA_MODES определяет, какие режимы вообще доступны, в виде списка через запятую со значением filesystem по умолчанию. Подробности по всем переменным перечислены в документации n8n о переменных окружения для бинарных данных. Важно для операторов: если инстанс работает в режиме queue, этот способ, согласно документации, использовать нельзя, остается только режим базы данных или S3.
Режим S3: внешнее хранилище для масштабируемых развертываний
Тот, кто эксплуатирует n8n в более крупном масштабе или использует несколько worker-инстансов, может хранить бинарные данные в S3-совместимом объектном хранилище. Согласно документации n8n о внешнем хранилище, этот режим доступен только на планах self-hosted enterprise и требует действительного ключа enterprise-лицензии, без которого инстанс вообще не запустится в режиме S3. Настройка выполняется через несколько переменных.
- N8N_EXTERNAL_STORAGE_S3_HOST: конечная точка S3, например s3.us-east-1.amazonaws.com
- N8N_EXTERNAL_STORAGE_S3_BUCKET_NAME: имя bucket
- N8N_EXTERNAL_STORAGE_S3_BUCKET_REGION: регион, начиная с версии 2.6.4 только буквенно-цифровые символы и дефисы, при отсутствии указания региона достаточно значения auto
- N8N_EXTERNAL_STORAGE_S3_ACCESS_KEY и N8N_EXTERNAL_STORAGE_S3_ACCESS_SECRET: учетные данные для bucket
- N8N_EXTERNAL_STORAGE_S3_AUTH_AUTO_DETECT: опционально в значение true, чтобы автоматически определять учетные данные, например через IAM-роль
Режим активируется через N8N_AVAILABLE_BINARY_DATA_MODES=filesystem,s3 вместе с N8N_DEFAULT_BINARY_DATA_MODE=s3, после чего следует перезапуск инстанса. Бинарные данные затем оказываются структурированы по пути workflows/{workflowId}/executions/{executionId}/binary_data/{binaryFileId} в bucket.
Правильная подготовка миграции
Перед переходом следует настроить bucket вместе с IAM-политикой для необходимых действий S3 и задать правило жизненного цикла, которое автоматически удаляет старые бинарные данные, поскольку, согласно документации, n8n не берет на себя эту очистку автоматически. Еще один момент, который легко упустить: pruning бинарных данных всегда действует только на текущий активный режим. Если вы переключаетесь с режима базы данных на filesystem или S3, более старые бинарные данные остаются в прежнем месте хранения и должны быть очищены отдельно. Тот, кто эксплуатирует инстанс n8n в продакшене с растущим объемом данных, должен планировать этот переход заранее, а не реагировать только тогда, когда база данных заметно замедлится. NordFlux оказывает поддержку в настройке n8n, включая конфигурацию хранилища, соответствующую фактическому объему данных.
Часто задаваемые вопросы о бинарных данных в n8n
В чем разница между режимом filesystem и режимом S3?
Режим filesystem записывает бинарные данные на локальный диск сервера n8n и подходит для отдельных инстансов, не работающих в режиме queue. Режим S3 выносит данные во внешнее объектное хранилище и предназначен для распределенных конфигураций с несколькими workers, но для этого требуется self-hosted enterprise лицензия.
Обязательно ли нужна enterprise-лицензия для режима S3?
Да. Согласно документации n8n, инстанс не запускается в режиме S3 без действительного ключа enterprise-лицензии. Для небольших конфигураций, не работающих в режиме queue, обычно достаточно бесплатного режима filesystem.
Работает ли режим filesystem также в режиме queue?
Нет. n8n не поддерживает режим filesystem в сочетании с режимом queue. Операторам с несколькими workers вместо этого необходимо использовать либо режим базы данных, либо, при наличии соответствующей лицензии, режим S3.
Что происходит с уже сохраненными бинарными данными при смене режима?
Они не мигрируют и не удаляются автоматически. Pruning всегда действует только на текущий настроенный режим, поэтому старые файлы в прежнем месте хранения остаются и должны быть очищены вручную.
NordFlux UG (haftungsbeschränkt)
NordFlux создаёт цифровых сотрудников для организаций: автоматизации и КИ-агентов, которые берут на себя повторяющуюся работу. Вы сохраняете контроль.
Конкретные вопросы по автоматизации или КИ?
В рамках бесплатного первичного анализа мы напрямую обсудим Ваш случай. Без обязательств.