MongoDB 第5章 MongoDB高级查询(mongodb数据库)
931
2022-05-29
这篇关于DynamoDB与MongoDB 的文章将帮助您比较这两个数据库,以便您决定哪一个更能满足您的需求。本文将介绍以下指针,
DynamoDB 与 MongoDB
谁在使用 DynamoDB 和 MongoDB?
数据结构的差异
对索引的需求
查询的差异
DynamoDB 和 MongoDB 的部署
复制和集群
那么让我们开始吧,
DynamoDB 与 MongoDB
MongoDB 出现在新闻中已经有一段时间了。自 2009 年推出以来,由于其广泛的功能和强大的多功能性,世界各地的许多公司已经开始使用这种关系数据库管理系统。但即便如此,人们在市场上可用的不同选项之间进行选择时也经常会感到困惑。
在今天的文章中,我们将 MongoDB 与 DynamoDB 进行比较,并分析哪一个更适合您的使用和需求。让我们开始!
在深入探讨比较这两个平台的复杂性之前,让我们首先了解这两个平台的个性以及是什么让它们脱颖而出。
动态数据库
DynamoDB 可以简单地定义为专有的 NoSql 数据库管理服务,由 Amazon.com 作为其 AWS 或 Amazon Web Services 计划的一部分提供。虽然 DynamoDB 与原始 Dynamo 程序有很多相似之处,但它具有不同的底层实现,这使其独一无二。
MongoDB
MongoDB 可以简单地定义为一个跨平台的关系数据库管理系统,它作为一个独立的程序提供。MongoDB 归类在 NoSQL 专有标签下,使用类似 JSON 的文档和模式标记来处理数据库需求,从而使其独一无二。
继续这篇关于 DynamoDB 与 MongoDB 的文章,
谁在使用 DynamoDB 和 MongoDB?
DynamoDB 和 MongoDB 已经存在一段时间了,因此世界各地的公司都使用这两个程序中的任何一个来满足他们的数据库需求。下面提到的是一些最重要的。
MongoDB
动态数据库
继续这篇关于 DynamoDB 与 MongoDB 的文章,
数据结构的差异
MongoDB 和 DynamoDB 之间的一些主要区别在于它们处理数据结构的方式。下面提到的是一些最重要的。
动态数据库
在 DynamoDB 中,表、属性和项目是必须使用的主要组件。简单来说,一张表是一个项目的集合,每个项目都是不同属性的集合。该平台使用主键来标识表中存在的每个项目,并使用二级索引来增加查询的灵活性。
MongoDB
另一方面,MongoDB 使用类似 JSON 的文档来存储无模式数据。DynamoDB 和 MongoDB 之间的主要区别之一是不需要预定义数据和结构,因此程序员可以同时存储不同类型的文档。
MongoDB 本身就是一个非常强大的关系型数据库管理系统。由于它是无模式的,它允许程序员创建用于存储数据的文档,而无需先对其进行预定义。
可以在下面找到 MongoDB 和 DynamoDB 中数据结构有何不同的示例。
表 | 专栏 | 价值 | 收集时在 DynamoDB 中的记录 | 钥匙 | 价值 | MongoDB 中的文档。
继续这篇关于 DynamoDB 与 MongoDB 的文章,
对索引的需求
关系数据库管理系统中的索引提供了对备用查询模式的访问,这在需要高速查询时会派上用场。在索引方面,DynamoDB 和 MongoDB 之间有很多不同之处,如下所示。
动态数据库
在 DynamoDB 中,如果您需要运行查询,首先需要创建二级索引。在 DynamoDB 中创建二级索引时,首先需要指定其关键属性,然后可以按照标准过程使用它来运行查询或扫描表。这里需要注意的关键事项之一是 DynamoDB 没有查询优化器,因此创建二级索引是执行查询的唯一方法。
MongoDB
索引在 MongoDB 中是必须的。如果在某种情况下,文档缺少索引,则需要扫描所有创建的文档以匹配查询搜索。话虽如此,索引的缺失会从根本上减慢 MongoDB 中的查询过程,因此需要在优先级的基础上创建它。
继续这篇关于 DynamoDB 与 MongoDB 的文章,
查询的差异
为了理解 MongoDB 和 DynamoDB 之间查询的确切区别,请看下面的示例。
DynamoDB db.query({ TableName: "customer" })
MongoDB db.customer.find()
继续,
DynamoDB 和 MongoDB 的部署
DynamoDB 和 MongoDB 不同的另一个关键领域是这些关系数据库管理系统最初的部署方式。
DynamoDB:大多数人认为 DynamoDB 是用 Java 编写的,而有些人则认为 DynamoDB 最初是在 Node.Js 中部署的。无论情况如何,DynamoDB 都支持以下语言:Java、Swift、JavaScript、Node.js、PHP、NET 以及 Python。
MongoDB:MongoDB 完全用 C++ 编码,可在 Linux、Windows 和 Mac OS 上下载。在 C++ 上编码 MongoDB 支持多种语言,包括但不限于 Prolog、Python、Ruby、Java、JavaScript、PowerShell、ColdFusion 等等。
继续这篇关于 DynamoDB 与 MongoDB 的文章,
复制和集群
动态数据库
由于 DynamoDB 是 AWS 或 Amazon Web Services 家族的一部分,它积极利用 Amazon DynamoDB 跨区域复制库在多个区域之间实时同步。当程序员写入 DynamoDB 中的一个表时,由于 AWS 的快速操作,其他位置和/或区域中的其他表会实时更新。
MongoDB
另一方面,支持自动选举的单主复制系统,这个特性是系统内置的。这基本上意味着程序员可以设置辅助数据库并将其编程为主要数据库,如果在某种情况下主数据库变得不可用。在 MongoDB 中,第一个副本称为主副本,所有其他副本称为辅助副本。
结论
虽然乍一看似乎 MongoDB 和 DynamoDB 非常相似,但只有进一步检查后,您才会意识到它们提供非常不同的功能。话虽如此,根据您的需要,在使用它们中的任何一个之间做出选择。
这让我们结束了这篇关于 MongoDB 与 DynamoDB 的文章。
MongoDB NoSQL 数据库
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。