Могу ли я использовать файловую базу данных на Heroku?

У меня есть небольшое приложение Node.js / Express, развернутое в Heroku.

Я хотел бы использовать легкую базу данных, такую ​​как NeDB, чтобы сохранить некоторые данные. Можно ли периодически выполнять резервное копирование / копирование файла из Heroku, если я использовал этот подход?

1 ответ

Решение

Файловые базы данных не подходят для Heroku из-за ее эфемерной файловой системы (выделено жирным шрифтом):

Каждый dyno получает свою собственную эфемерную файловую систему со свежей копией самого последнего развернутого кода. В течение времени существования динамометрического стенда его запущенные процессы могут использовать файловую систему в качестве временной блокнота, но записанные файлы не видны процессам в любом другом динамометрическом стенде, и любые записанные файлы будут отброшены в тот момент, когда динамометрический блок остановлен или перезапущен. Например, это происходит каждый раз, когда динамо заменяется из-за развертывания приложения и примерно один раз в день в рамках обычного управления динамо.

В зависимости от вашего случая использования, я рекомендую использовать базу данных клиент-сервер (здесь это выглядит очень хорошо) или что-то вроде Amazon S3 для хранения файлов.

Другие вопросы по тегам