Mongo DB我使用过并且知道很多关于它的事情,但对Dynamo DB不太友好。
答案 0 :(得分:0)
<强> DynamoDB: - 强>
1)基本上,DynamoDB是一个键值存储。此外,它确实支持文档数据类型,即List和Map。但是,您无法在文档数据类型上创建索引。
2)查询表时,必须有Hash密钥。否则,您需要扫描整个数据库,这是一项非常昂贵的操作。
3)就索引而言,它具有全球二级索引和本地二级索引。索引将由数据库自动管理。在正常情况下,它将在几秒钟内更新。但是,更新过程是异步的。
4)API必须直接查询索引。在MongoDB中,基于查询字段,数据库将选择适当的获胜计划。这在DynamoDB中不可用。
5)它可以自动缩放而不会降低性能
6)在框架方面,只有社区版的Spring数据框架可用于DynamoDB
7)没有聚合框架
8)需要编写程序来获取表格的基本细节。例如,获取未完成的订单。您不能像Mongo shell查询一样查询数据库。您需要编写程序来查询/扫描数据库以获取所需的详细信息
9)只要没有复杂的对象(即文档中的嵌入对象),就可以正常工作。否则,查询和更新对象将会很复杂
10)AWS SDK没有mapper类(即Java类DynamoDBMapper)
11)数据库最终是一致的
<强> MongoDB的: - 强>
1)良好的查询功能
2)聚合框架
3)支持复杂索引,文本搜索,地理空间索引支持
4)支持shrading
5)水平缩放
6)标准框架可用
7)轻松创建集合和文档
8)支持上限收藏
9)TTL支持
10)几乎所有编程语言(Java,Dot Net,Node JS等)都提供了大量框架。