我有一个NodeJS WebApp,它很快就会在EC2实例上运行。这个WebApp必须将许多文件(每个文件不到10 MB )存储到MongoDB数据库中。
我的问题是:在S3或EC2上托管数据库是否更明智?如果我在S3或EC2上托管它,会有什么不同呢?
编辑: Ok,我将添加更多的规范来帮助您更好地理解情况。
我的公司需要一个工具来检索和上传文件,这是我通过自己创建的WebApp (使用NodeJS + React + Express)实现的。
这些文件是原始数据文件,我还需要在彼此之间链接文件(例如,一个原始数据文件将与其规范文件相关联,以便知道如何解码它)。而且,这也是我选择NOSQL数据库的原因,为了更快地获得有用的变量,这些原始数据文件中的一些vars必须与这些文件一起存储。
我的企业有一个AWS的企业帐户,在EC2实例仪表板中,只有t2.microl可以免费使用。我也会具体说明我在做实习,所以我不能安排预算.
发布于 2017-07-04 04:21:07
tldr:您不能在S3上承载MongoDB数据库。
S3是一个对象存储,它不是一个FileSystem。
如果要运行mongoDB实例,则需要旋转ec2实例并将其安装在附加的EBS卷上。如果您计划拥有大量IOPS,您可能应该运行一个I3实例,并具有GP2或IO1 EBS卷。如果您没有计划对DB的高使用率,您可以用M4或C4作为GP2的目标(如果有必要,可以从它开始,并使用其他实例类型)
如果您要在DB中存储文件,直接将它们保存在您的mongoDB实例中,那么访问速度就会快得多,它相当便宜,您可以从BSon上的mongodb功能(索引、搜索等)中获益。
https://stackoverflow.com/questions/44905680
复制相似问题