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

Gae*_*als 0 amazon-s3 amazon-ec2 mongodb amazon-web-services

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

我的问题如下:在 S3 或 EC2 上托管数据库是否更明智?如果我在 S3 或 EC2 上托管它会有什么区别?

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

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

这些文件是原始数据文件,我还需要将文件相互链接(例如,原始数据文件将与其规格文件相关联,以便了解如何对其进行解码)。此外,这就是我选择 NOSQL 数据库的原因,这些原始数据文件中的一些变量必须与这些文件一起存储,以便更快地获得有用的变量。

我的企业有一个 AWS 企业账户,在 EC2 实例仪表板中,只有 t2.micro 可以免费使用。我还将说明我正在实习,所以我无法协商预算......

Fré*_*nri 6

tldr:您不能在 S3 上托管 MongoDB 数据库。

S3 是一个对象存储,它不是一个文件系统。

如果要运行 mongoDB 实例,则需要启动 ec2 实例并将其安装在附加的 EBS 卷上。如果您计划拥有大量 IOPS,您可能应该运行 I3 实例并拥有 GP2 或 IO1 EBS 卷。如果您没有计划对数据库的高使用率,您可以使用 GP2 以 M4 或 C4 为目标(也许从那个开始,并在必要时使用其他实例类型)

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