dynamo DB和Mongo DB之间的架构区别是什么?

时间:2016-12-14 08:58:42

标签: mongodb amazon-dynamodb

Mongo DB我使用过并且知道很多关于它的事情,但对Dynamo DB不太友好。

1 个答案:

答案 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等)都提供了大量框架。