我有一个部署到Heroku的小型Node.js / Express应用程序。
我想使用像NeDB这样的轻量级数据库来保存一些数据。如果我使用这种方法,是否可以定期从Heroku备份/复制文件?
答案 0 :(得分:1)
基于文件的数据库不适合Heroku,因为ephemeral filesystem(加粗):
每个dyno都有自己的短暂文件系统,并带有最近部署代码的全新副本。在dyno的生命周期中,其运行进程可以将文件系统用作临时暂存器,但是任何其他dyno中的进程都不会看到所写的文件,并且在dyno停止或重新启动时,任何写入的文件都将被丢弃。例如,每次因应用程序部署而更换dyno时都会发生这种情况,并且大约每天一次作为正常dyno管理的一部分。
根据您的使用情况,我建议使用客户端 - 服务器数据库(这看起来很合适)或类似Amazon S3 for file storage。