我正在构建自己的Webapp,它需要一个庞大的数据库。我想在AWS上构建和管理自己的Mongo数据库,而不是使用Mongo Atlas。哪个会更节省成本?以及我是否应该去Mongo Atlas?与我自己的数据库相比,它的优势是什么?
答案 0 :(得分:1)
两种方法都有优点和缺点:
在AWS上运行MongoDB
优点:
完全控制如何运行数据库以及如何在服务器上分配资源。这甚至可以与同一EC2实例上的应用程序服务器一起使用,具体取决于您的流量和负载。如果您的数据库很大,但流量不太可能,这可能有助于节省成本。
缺点:
您将负责确保数据库的可用性,并在可用时应用安全补丁。您可能还必须设置防火墙,并以其他在Atlas等托管服务上难以做到的方式保护EC2实例和数据库。
数据分片和群集是您自己管理的真正痛苦。
在Atlas上运行
优点:
完全托管的服务,您不必担心性能优化或可伸缩性。您为服务付费,Mongodb负责其余的工作。
您可以专注于构建出色的应用程序,而不必花费时间来管理数据库和运行数据库的EC2实例。
缺点:
您会受到Atlas提供的选项的束缚。对于大多数用例来说,这应该没问题,但是如果您确实想要特定的更改,那么如果Mongodb尚未将其作为Atlas的一部分进行支持,则很难实施。
考虑在EC2上运行应用程序而不是在本地购买服务器并在该服务器上运行应用程序。
作为托管服务,如果您的数据库流量不大,成本可能也会更高。
答案 1 :(得分:1)
自我介绍::您可以获得一个或多个AWS ec2实例(它们是VM),您可以在其中安装和运行Mongo DB并按需要进行管理,以确保启动当工作负载变大并且有多个实例始终处于运行状态以实现高可用性时,将创建更多实例。 成本(高)-管理职责(批次)-完整的MongoDB功能
MongoDB Atlas是一项托管服务,您无需担心单个或多个实例死亡时的管理任务,例如数据库的伸缩性和高可用性……您为此付出的成本非常低-它由 MongoDb自己在AWS,Azure,Google云上运行; 成本(低)-管理职责(某些)-完整的MongoDB功能
现在,AWS有自己的与Mongo兼容的数据库,称为DocumentDB-这也是一个托管数据库,因此您不必担心可伸缩性,高可用性等。它仅在AWS上可用,因此超级简单且方便。 成本(低)-管理职责(最低)-MongoDB功能受限