在AWS上托管MongoDB数据库:EC2还是S3?

时间:2017-07-04 12:12:21

标签: mongodb amazon-web-services amazon-s3 amazon-ec2

我有一个NodeJS WebApp,很快就会在EC2实例上运行。 此WebApp必须将大量文件(文件小于10 MB)存储到MongoDB数据库中。

我的问题如下:在S3或EC2上托管数据库会更明智吗?如果我在S3或EC2上托管它会有什么不同?

编辑:好的,我会添加更多规范,以帮助您更好地了解情况。

我的公司需要一个工具来检索和上传文件,我通过自己创建的WebApp(使用NodeJS + React + Express)来完成。

这些文件是原始数据文件,我还需要在彼此之间链接文件(例如,原始数据文件将与其specs文件相关联,以便知道如何解码它)。此外,这也是我选择NOSQL数据库的原因,这些原始数据文件中的一些变量必须与这些文件一起存储,以便更快地获得有用的变量。

我的企业拥有AWS的企业帐户,在EC2实例仪表板中,只有t2.micro可以免费使用。我还会说明我正在做实习,所以我没有能力去做预算...

1 个答案:

答案 0 :(得分:4)

tldr :您无法在S3上托管MongoDB数据库。

S3是一个对象存储,它不是FileSystem。

如果要运行mongoDB实例,则需要旋转ec2实例并将其安装在连接的EBS卷上。如果您计划拥有大量IOPS,则应该运行I3实例并具有GP2或IO1 EBS卷。如果您没有计划对数据库的高使用率,您可以使用GP2定位M4或C4(可能从那开始并在必要时使用其他实例类型)

如果您需要在数据库中存储文件,直接将它们托管在您的mongoDB实例中,访问速度会快得多,而且相当便宜,您可以从BSon上的mongodb功能(索引,搜索等)中受益