参加考试
您即将参加 MongoDB 认证考试。我们的免费学习指南将成为您准备考试的路线图。我们为您提供最相关信息的摘要,以便您可以准确地指出最关注的领域。对这里所涉及的主题有充分的了解之后,您就应该做好通过的准备。祝好运!
监察
MongoDB 专业认证考试完全在线提供,使您可以在家中或办公室的舒适环境中方便地参加考试,同时由异地经纪人监控。监理人员将提供分步说明,以确保无缝的登机流程。完成身份验证后,他们将连续监视您和您的测试环境,以确保考试的安全性和完整性,并帮助您避免发生任何意外违规行为。
电脑要求
要完成考试,您需要一台带有摄像机(网络摄像机),麦克风和扬声器的 Windows 或 Mac 计算机。不支持平板电脑(例如 iPad 和 Google Chromebook )以及其他操作系统(例如 Linux )。您必须能够旋转相机(可能是通过拿起笔记本电脑),以便监理人员可以看到房间中的所有物品,包括办公桌。整个考试期间,网络摄像头,扬声器和麦克风都必须保持打开状态。考试期间不允许使用耳机。为了确保流畅的检查体验,保持稳定的连接非常重要。请在安排考试之前进行一次 系统就绪检查, 然后再次接近您的考试约会日期以确认系统仍在运行。
考试环境
考试期间,您必须在私人房间内,而不能打扰。请要求其他人不要进入要参加考试的房间,因为这可能会导致考试违规。考试期间不允许访问参考资料。请确保您的办公桌区域无任何杂物,包括电子设备和记事本。监考人员会在考试开始之前要求您扫描办公桌和房间区域,如果他们认为有必要,则会在整个考试期间定期扫描。您可以在白天或晚上进行注册的考试期间的任何时间参加考试。考试时间为一周。他们通常在星期二的 17:00 UTC 开始和结束,但是请务必检查您的考试的 About 页面( DBA 或 Developer ) )的确切时间。
计分
该考试由 60 个多项选择题和所有可以应用的问题组成。所有问题的权重均相等。您会发现回答所有问题的好处,因为不正确的答案不会受到任何惩罚。悬而未决的问题没有任何好处。
翻译软件
您可以在考试期间使用翻译软件来翻译问题。但是,请注意, MongoDB 大学不支持任何翻译软件,也不能保证其翻译的适当性或准确性。通过使用翻译软件,您承担与之相关的所有风险。
通用知识
介绍
本节将介绍您应该熟悉的基础计算概念。您应该将这些视为了解 MongoDB 的先决条件。我们不会在课程中直接教授这些知识,但是考试中的某些问题假定您已掌握这些概念。您可以在计算机科学教科书中或通过搜索引擎(例如 Google , Bing 等)在 Internet 上搜索找到有关这些主题的详细信息。
基础数据库概念
预期您将大致了解什么是数据库,尤其是:
内存管理和数据表示
对于考试,您应该对以下内容有所了解:
JavaScript 编程基础
对于考试,您应该知道:
)
在该部分中,我们将验证您是否了解以下内容:
《 MongoDB 体系结构指南》 和 此视频讲座 简要介绍了这些主题。我们在下面对此材料进行扩展。
JSON 格式
对于考试,您应该知道:
资源:
BSON
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
垂直和水平扩展
对于考试,您应该知道:
资源:
MongoDB 和关系数据库
对于考试,您应该知道:
资源:
MongoDB 中的灵活架构
对于考试,您应该了解:
资源:
在认证考试的 CRUD 部分,我们将验证您:
在本节中,我们不会测试您是否记住了 MongoDB 查询语言语法。但是,您应该能够区分正确编写的查询和未正确编写的查询。您还应该知道哪些查询参数是必需的,哪些是可选的,以及如何使用查询参数。我们不希望您记住查询运算符,但是您应该能够从一组选择中识别出正确的运算符。
对于考试,您应该能够:
您应该熟悉 _id 字段及其特殊属性:
_id 是每个 MongoDB 文档中必填的字段。 _id 字段对于用于其集合的集合必须具有唯一的值。您可以将 _id 字段视为文档的主键。如果您创建的新文档不包含 _id 字段,则 MongoDB 会自动创建该字段并分配一个唯一的 BSON ObjectId 。如果文档包含 _id 字段,则 _id 值在集合中必须唯一,以避免重复的键错误。
o 对象编号
o _id 字段
可以通过以下命令来创建文档:
有关文档创建的大多数问题都将涉及 db.collection.insert ()命令。插入通常很简单。
Upsert 可能更复杂。在下面的示例中,假定 foo 集合尚未包含 a = 5 和 b <= 7 的文档。
> db.foo.update( { a : 5, b : { $lte : 7 } }, { $set : { c : 8 } }, { upsert : true } )
WriteResult({
"nMatched" : 0,
"nUpserted" : 1,
"nModified" : 0,
"_id" : ObjectId( "55b0200e5ef34083de46367e" )
})
> db.foo.find()
{ "_id" : ObjectId( "55b0200e5ef34083de46367e" ), "a" : 5, "c" : 8 }
在这种情况下,将插入一个新文档。在此特定情况下,新文档包含值 c : 8 ,因为 upsert 指示设置它。查询文档还为创建的文档贡献字段。在这种情况下,还设置了: 5 。无法从查询中确定 b 的值,因此将不会设置它。最后,将 ObjectId 分配给 _id 字段。
最后,您可以通过将数组传递到 db.collection.insert ()或 db.collection.bulkWrite ()进行批量插入。您应该知道有序和无序批量插入之间的区别。您还应该知道何时使用批量操作与何时使用 insertMany ()之间的区别。
文件:
在 MongoDB 中,您可以使用 db.collection.find ()方法或 db.collection.findAndModify ()方法阅读文档。您应该熟悉这两个命令,但是 find ()方法将在考试中获得更大的覆盖范围。
对于考试,您应该能够:
从 MongoDB 4.4 开始,作为使 find 和 findAndModify 投影与聚合的 $ project 阶段保持一致的一部分,
· find 和 findAndModify 投影可以接受聚合表达式和聚合语法,包括使用文字和聚合变量。通过使用聚合表达式和语法,您可以投影新字段或使用新值投影现有字段。
· find 和 findAndModify 投影可以使用嵌套形式指定嵌入字段;例如 {field : {nestedfield : 1}} 以及点符号。在早期版本中,只能使用点符号。
在 MongoDB 中,使用以下方法执行数据读取:
db.collection.find ()
请记住,尽管 findOne ()方法返回单个文档,但是 find ()查询将返回游标:
还有其他的集合读取方法,这些方法不会返回游标,但是您应该熟悉这些方法。
还有其他方法可以应用于游标本身。这些可以返回一个数字(例如,计数),或者可以修改结果集(即,排序,跳过和限制)。您可能还应该知道如何手动迭代游标。有关 游标方法 的 列表, 请参见 MongoDB 文档。
您也可以投影结果以限制返回的字段。
对于考试,您应该能够:
更新会修改现有文档。可以使用一些收集方法来进行更新,其中一些方法在插入部分中:
对于考试,您应该能够:
在认证考试中,我们将验证您:
介绍
以下资源提供了索引的基本介绍。
默认 _id 索引
在创建集合期间, MongoDB 在 _id 字段上创建唯一索引。 _id 索引可防止客户端为 _id 字段插入两个具有相同值的文档。您不能将此索引放在 _id 字段上。
- 文档:
创建和删除索引
在考试中,我们将确保您:
对于考试,您应该知道:
单字段索引
对于考试,您应该能够:
这里有一些资源可以帮助您:
复合索引
在考试中,您应该知道:
多键索引
在考试中,您应该知道:
多键索引是数组字段上的索引。索引将为每个数组元素包含一个键。
地理空间指数
对于考试,您将需要知道:
为了支持对地理空间坐标数据的有效查询, MongoDB 提供了两个特殊的索引:返回结果时使用平面几何的 2d 索引和使用球面几何返回结果的 2dsphere 索引。
资源:
文本索引
对于考试,您将需要知道:
资源:
哈希索引
对于考试,您将需要知道:
· 如何创建哈希索引
· 如何创建复合哈希索引
资源:
· 文件:
o 散列索引
o 创建复合哈希索引
通配符索引
对于考试,您应该知道:
资源:
索引排序
对于考试,您将需要知道:
.explain ()方法
对于考试,您应该知道:
参考:
· 查询性能的技巧和窍门:让我们对它们进行 .explain ()
资源:
选择索引
对于考试,您应该知道:
对于考试,您需要了解以下内容:
索引策略
对于考试,您应该知道:
资源:
索引对写入性能的影响
索引通常会提高读取性能,但会降低写入性能。诸如更新和删除之类的混合操作(例如,具有查找和写入操作)可能取决于用例(尽管使用索引通常更快)。
对于考试,您将想知道:
资源:
唯一索引
对于考试,您应该知道:
资源:
TTL 索引
对于考试,您应该知道:
资源:
隐藏索引
对于考试,您应该知道:
· 如何创建隐藏索引
· 如何隐藏现有索引
· 如何取消隐藏现有索引
· 什么时候以及为什么要使用隐藏索引
资源:
· 文件:
o 隐藏索引
部分索引
从 MongoDB 3.2 开始, MongoDB 提供了创建部分索引的选项。部分索引提供了稀疏索引功能的超集。如果您使用的是 MongoDB 3.2 或更高版本,则应优先使用部分索引而不是稀疏索引。
对于考试,您应该知道:
· 如何创建部分索引
· 偏指数行为
· 与稀疏指数比较
· 对部分指数的限制
资源:
· 文件:
o 部分索引
o 稀疏索引
混合索引构建
对于考试,您将需要知道:
资源:
字符串字段和索引的正则表达式
对于考试,您将需要知道:
资源:
在认证考试中,我们将尝试验证您:
介绍
复制是关于可用性和持久性的。一般来说,它不是用于缩放。这就是分片的目的。
节点数
在考试中,您应该知道:
资源:
启动副本集
对于考试,您应该熟悉:
资源:
选举
对于考试,您将需要知道:
资源:
对于考试,您将需要知道:
资源:
回滚
对于考试,您将需要知道:
资源:
rs.status ()
对于认证考试,您应该能够:
资源:
副本集重新配置
对于认证考试,您将需要能够:
资源:
Oplog
对于认证考试,您需要:
资源:
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
在认证考试中,我们将验证您:
介绍
分片与扩展有关。使用分片,您可以将数据分布在多个副本集上,每个副本集都是分片群集中的逻辑 “ 节点 ” 。
请注意,分片和复制解决了不同的问题。复制与数据的持久性和高可用性有关,而分片与读写工作负荷的水平扩展有关。
资源:
分片键
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
分片群集中的查询
对于考试,您应该知道:
资源:
选择分片键
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
应用程序和服务器管理
对于认证考试,我们将验证您:
介绍
虽然定义有些不确定,但是应用程序管理负责处理 MongoDB 与应用程序的关系。我们在这里考虑的功能包括:有线协议,有线加密和安全性。
服务器管理负责架构设计,维护和调试部署。
日志
对于考试,您应该知道:
资源:
压缩
对于考试,您应该知道:
WiredTiger 压缩:
· 使用 WiredTiger , MongoDB 支持所有集合和索引的压缩。压缩可以最大程度地减少存储使用量,但会增加 CPU 的开销。 - WiredTiger 存储引擎 - 压缩
snappy :
· 压缩 / 解压缩库旨在平衡有效的计算要求和合理的压缩率。 snappy 是 MongoDB 使用 WiredTiger 的默认压缩库。 - 活泼 - WiredTiger 压缩文件
prefix compression :
· 通过每页内存仅存储一次相同的索引键前缀来减少内存和磁盘消耗。 - 压缩
zlib :
· 与 MongoDB 使用 snappy 相比,该数据压缩库以更高的 CPU 成本提供更高的压缩率。您可以将 wiredTiger 配置为使用 zlib 作为其压缩库。 - zlib 的
zstd :
· 4.2 版的新功能
· 与 zlib 相比,提供更高的压缩率和更低的 CPU 使用率的数据压缩库。
对于考试,您应该知道:
资源:
对于考试,您应该知道:
资源:
监控和性能调整
对于考试,您将需要知道:
资源:
MongoDB 安全
对于考试,您应该知道:
参考:
资源:
集群架构
对于考试,您应该了解以下常见的部署模式:
资源:
对于考试,您应该知道:
资源:
对于考试,您应该能够:
资源:
备份与恢复
对于考试,您将需要知道:
资源:
对于认证考试,将验证您是否了解:
介绍
通过使用带有 --help 选项的工具,可以找到大多数测试的信息。
对于开发者考试,您需要了解以下内容:
对于 DBA 考试,您需要了解以下内容:
导入和导出数据
对于考试,您应该知道如何在 MongoDB 和以下之间导入 / 导出数据:
资源:
基本服务器监控
对于考试,您应该知道:
资源:
备份和还原数据(仅 DBA )
对于考试,您应该知道:
资源:
注意:
对于正在进行分片事务的 4.2+ 分片群集, mongodump 和 mongorestore 不能成为备份策略的一部分。 - 参考
高级 MongoDB 诊断(仅 DBA )
对于考试,您应该知道如何使用以下工具:
· bsondump
· jq 工具 :在 MongoDB 4.4 中,日志已更改为结构化日志,您需要了解如何使用 jq 工具来解析日志
操纵 BLOB (仅 DBA )
对于考试,您将需要能够使用 mongofiles 将数据放入 GridFS 。
资源:
储存引擎
对于考试,我们将验证您是否知道:
介绍
存储引擎是数据库的组件,负责管理如何在内存和磁盘上存储数据。 MongoDB 支持多个存储引擎,因为不同的引擎对于特定的工作负载性能更好。为您的用例选择合适的存储引擎会严重影响应用程序的性能。 MongoDB 3.0 引入了可插拔存储引擎。
WiredTiger 是从 MongoDB 3.2 开始的默认存储引擎。它非常适合大多数工作负载,建议用于新部署。 WiredTiger 提供了文档级并发模型,检查点和压缩以及其他功能。
WiredTiger 的功能
· Locks/Concurrency
· Journaling
· Data Compression
对于考试,您应该知道:
资料档案
这是 WiredTiger 数据目录的示例:
内存存储引擎
从 MongoDB Enterprise 3.2.6 版开始,内存存储引擎是 64 位版本中通用可用性( GA )的一部分。除某些元数据和诊断数据外,内存存储引擎不维护任何磁盘上的数据,包括配置数据,索引,用户凭据等。通过避免磁盘 I / O ,内存存储引擎可实现更多功能。可预测的数据库操作延迟。
· Journaling
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69993564/viewspace-2754920/ ,如需转载,请注明出处,否则将追究法律责任。