mongodb - DynamoDB 与 MongoDB NoSQL

我正试图弄清楚我可以在未来的项目中使用什么,我们计划在第一年每月存储大约 50 万条记录, future 几年可能会更多。这是一个垂直应用程序,因此无需使用为此需要一个数据库,这就是我决定选择 NoSQL 数据存储的原因。

我想到的第一个选项是 mongo DB,因为它是一个非常成熟的产品,得到了社区的大力支持,但另一方面,我们得到了一个全新的产品,它提供了顶级性能的托管服务,我'将开发此应用程序,但没有维护计划(至少目前如此),所以我认为这将是一个巨大的优势,因为亚马逊提供了一种弹性的扩展方式。

我主要关心的是查询结构,我还没有研究过 dynamo DB 查询功能,但由于是 k/v 数据存储,我觉得这可能比 mongo DB 更受限制。

如果有人有将项目从 MongoDB 迁移到 DynamoDB 的经验,任何建议都将不胜感激。

最佳答案

我知道这是旧的,但是当您搜索比较时它仍然会出现。我们使用的是 Mongo,几乎完全迁移到了 Dynamo,这是我们现在的首选。不是因为它有更多的功能,它没有。 Mongo 有更好的查询语言,你可以在一个结构中索引,有很多小东西。 Dynamo 的优势在于 OP 在他的评论中所说的:这很容易。您不必照顾任何服务器。当您开始设置 Mongo 分片解决方案时,它会变得复杂。您可以去其中一家托管公司,但这也不便宜。使用 Dynamo,如果您需要更高的吞吐量,只需单击一个按钮。您可以编写脚本以自动扩展。当需要升级 Dynamo 时,它已经为您完成了。那是很多宝贵的压力和没有花费的时间。如果您没有专门的运维人员,Dynamo 非常好。

所以我们现在默认使用 Dynamo。 Mongo 可能,如果数据结构足够复杂以保证它的存在,那么我们可能会回到 SQL 数据库。 Dynamo 是迟钝的,你真的需要考虑如何构建它,并且很可能你会在 Elasticcache 中使用 Redis 来使它适用于复杂的东西。但不必照顾它肯定很好。你编码。而已。

https://stackoverflow.com/questions/17931073/

相关文章:

mongodb - 我怎么知道 mongoDB 在哪里存储数据? (它不在 default/data

json - JSON文件的mongoimport

database - 如何列出 mongo shell 中的所有数据库?

mongodb - 如何部分更新 MongoDB 中的对象,以便新对象与现有对象重叠/合并

mongodb - 将图像存储在 MongoDB 数据库中

windows - 可视化管理 MongoDB 文档和集合

javascript - 找不到模块 '../build/Release/bson' ] 代码 :

python - 如何使用 pymongo 对 mongodb 进行排序

mongodb - Elasticsearch vs.用于过滤应用程序的 MongoDB

mongodb - NoSQL - MongoDB 与 CouchDB