【问题标题】:Hosting MongoDB database on AWS : EC2 or S3?在 AWS 上托管 MongoDB 数据库:EC2 还是 S3?
【发布时间】:2017-12-07 21:49:36
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 感谢您的回答和建议!什么是 I2 实例?从未见过或听说过它,而且我在 AWS 控制面板上找不到它..
    • 好吧,这不是我经常使用的东西,但我的实例类型现在是第 3 代 aws.amazon.com/fr/about-aws/whats-new/2017/02/…
    • 啊,没关系,我公司的合同中没有它,我想我会使用经典的 EC2 实例。我可以将我需要的文件存储在 S3 上并托管(和配置)mongoDB 以在此 S3 实例上搜索吗?
    • 你的合同是什么意思?您可以将 Mongo 托管在具有 EBS 卷的常规实例上,但对于高 I/O 建议将 I/O 实例用于本地存储
    • 您要搜索文件的内容吗?你需要在 mongodb 中有文件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    相关资源
    最近更新 更多