MongoDB 高手课
唐建法(TJ)
Tapdata CTO、MongoDB 中文社区主席、前 MongoDB 大中华区首席架构师
19351 人已学习
新⼈⾸单¥59
课程目录
已完结/共 53 讲
MongoDB 高手课
登录|注册
留言
9
收藏
沉浸
阅读
分享
手机端
回顶部
当前播放: 31 | MongoDB安全架构
00:00 / 00:00
高清
  • 高清
1.0x
  • 2.0x
  • 1.5x
  • 1.25x
  • 1.0x
  • 0.75x
  • 0.5x
网页全屏
全屏
00:00
付费课程,可试看
01 | 课程介绍
02 | 内容综述
03 | 认识文档数据库MongoDB
04 | MongoDB特色及优势
05 | 实验:安装MongoDB
06 | MongoDB基本操作
07 | 实验:Hello World程序开发
08 | 聚合查询
09 | 实验:聚合查询
10 | 复制集机制及原理
11 | 实验:搭建MongoDB复制集
12 | MongoDB全家桶
13 | 模型设计基础
14 | JSON文档模型设计特点
15 | 文档模型设计之一:基础设计
16 | 文档模型设计之二:工况细化
17 | 文档模型设计之三:模式套用
18 | 设计模式集锦
19 | 事务开发:写操作事务
20 | 事务开发:读操作事务之一
21 | 事务开发:读操作事务之二
22 | 事务开发:多文档事务
23 | Change Stream
24 | MongoDB开发最佳实践
25 | 分片集群机制及原理
26 | 分片集群设计
27 | 实验:分片集群搭建及扩容
28 | MongoDB监控最佳实践
29 | MongoDB备份与恢复
30 | 备份与恢复操作
31 | MongoDB安全架构
32 | MongoDB安全加固实践
33 | MongoDB索引机制(一)
34 | MongoDB索引机制(二)
35 | MongoDB读写性能机制
36 | 性能诊断工具
37 | 高级集群设计:两地三中心
38 | 实验:搭建两地三中心集群
39 | 高级集群设计:全球多写
40 | MongoDB上线及升级
41 | MongoDB应用场景及选型
42 | MongoDB典型案例(一)
43 | MongoDB典型案例(二)
44 | 关系型数据库迁移
45 | 数据库迁移方式及工具
46 | Oracle迁移实战
47 | MongoDB + Spark实时大数据
48 | MongoDB + Spark连接实战
49 | MongoDB SQL套接件
50 | MongoDB与微服务
51 | MongoDB与数据中台
52 | MongoDB数据中台案例
53 | 结果测试&结束语
本节摘要

亲爱的学员:
你好,在回答学员问题的过程中,我发现大家对于第二章的事务处理, 特别是隔离级别,以及第三章的分片集群有相对较多的问题。在这里我给大家推荐一些补充的学习材料可以从另外一个角度来加深一些这些概念的理解。
MongoDB 事务的原子性
https://docs.mongodb.com/manual/core/write-operations-atomicity/
MongoDB 事务的隔离级别和一致性模型
https://docs.mongodb.com/manual/core/read-isolation-consistency-recency/
如果英文不太感冒,在 MongoDB 中文网站上有不少内容,比如分片相关的:
http://www.mongoing.com/?s= 分片集群

课件和 Demo 地址
https://gitee.com/geektime-geekbang/geektime-mongodb-course

展开
登录 后留言

全部留言(9)

  • 最新
  • 精选
李英权
请问,mongodb能实现根据客户端IP 限制其只能读写某个数据库的权限吗?

作者回复: 创建一个用户,指定ip白名单,然后给这个用户指定的权限。不完全是你i想要的,但是应该可以满足业务场景了吧。

2020-04-10
2
月迷津渡
syslog 是不是就是mongod 启动的 logpath日志?

作者回复: 问题不太清晰。 mongodb启动参数中的logpath指的是mongo系统日志文件路径, 相当于mongodb配置文件中的systemLog.path 你可以配置MongoDB写日志到以下目的地: 1) 本地文件 (命令行参数--logpath,或者配置文件 systemLog.path) 2) syslog (命令行参数 --syslog,或者配置文件内的systemLog.syslog) 3) 标准输出(不用任何参数,默认) 参见: https://docs.mongodb.com/manual/reference/configuration-options/#systemLog.path

2020-01-27
2
hello
老师,请教个问题,针对字段加密,那这种会不会对性能造成影响,比如该字段是个索引字段,按字段加密其实是段密文存储在数据库里面,那原先的索引机制还能一样吗?如果是分区字段,分区字段加密后还能一样吗?

作者回复: 1) 索引机制基本不会受影响,因为索引表里存的是密文,你的查询字段会先加密采取索引表匹配,所以是密文匹配密文,一样的机制。有一个例外就是正则表达式的前缀搜索就用不上索引了。 类似于这种查询: { name: /^张/ } 2) 分区字段不建议使用这个功能

2020-02-18
1
Geek_7f0514
老师 你好,分片的集群通过mongos连接建立的用户是保存在哪里,config集群上面还是每个shard里面也保存?

作者回复: config 集群

2020-08-05
bb
老师,请问我在操作MongoDB查询数据的时候,数据不能全部显示出,只能显示一部分。MongoDB4.2,在shell和图形工具也是这样的。这个有在那里设置吗

作者回复: 1)可以用 it 命令显示更多行 2) 用 shellBatchSize 配置修改一次显示的行数 > DBQuery.shellBatchSize = 5; 5 > db.test.find() { "_id" : ObjectId("5e24f106b654ecda1fb72ce4") } { "_id" : ObjectId("5e24f106b654ecda1fb72ce5") } { "_id" : ObjectId("5e24f106b654ecda1fb72ce6") } { "_id" : ObjectId("5e24f106b654ecda1fb72ce7") } { "_id" : ObjectId("5e24f108b654ecda1fb72ce8") } Type "it" for more >

2020-01-19
filekey 在什么位置配置啊,百度都是等于号版本,不是冒号的版本,启动不起来配置文件了。
2022-09-02
Allen
听了之后对字段级加密感兴趣,跑了官方的例子https://pkg.go.dev/go.mongodb.org/mongo-driver/mongo#hdr-Client_Side_Encryption。 但是如何对加密的字段进行检索呢?比如对名字进行加密,但是想检索某个姓的所有名字该怎么做呢?把查询条件也加密吗?
2021-04-06
姚俊
老师,我不确定我的分片集群恢复是否正常,恢复我3个分片平均分布在3个物理机上,2.24G的数据花费了35分钟,不知道这样的速度是否正常,目前没有排查到具体问题,如果不知道是否能够一些排查思路 mongod --bind_ip 0.0.0.0 --replSet shard3 --dbpath /data/shard3 --logpath /data/shard3/mongod.log --port 27012 --fork --shardsvr --wiredTigerCacheSizeGB 10 恢复数据的命令 mongorestore --host 192.168.1.154:27017 -d v3_app_data_parsed -c products dump/v3_app_data_parsed/products.bson 2020-04-24T22:10:04.328+0800 I COMMAND [conn5965] command v3_app_data_parsed.products appName: "mongorestore" command: insert { insert: "products", bypassDocumentValidation: false, ordered: false, documents: 357, shardVersion: [ Timestamp(1, 1), ObjectId('5e9d68726c33d461a9c9c628') ], writeConcern: { w: "majority" }, allowImplicitCollectionCreation: false, lsid: { id: UUID("90b6351d-b870-4fc7-8911-7059fecae22b"), uid: BinData(0, E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855) }, $clusterTime: { clusterTime: Timestamp(1587737420, 1933), signature: { hash: BinData(0, 263167E9F9922575EE1B6566505BD059DECD1D4A), keyId: 6816941335950393361 } }, $client: { driver: { name: "mongo-go-driver", version: "v1.2.1" }, os: { type: "linux", architecture: "amd64" }, platform: "go1.12.17", application: { name: "mongorestore" }, mongos: { host: "localhost.localdomain:27017", client: "192.168.1.200:49952", version: "4.2.5" } }, $configServerState: { opTime: { ts: Timestamp(1587737417, 1680), t: 1 } }, $db: "v3_app_data_parsed" } ninserted:357 keysInserted:714 numYields:0 reslen:400 locks:{ ParallelBatchWriterMode: { acquireCount: { r: 6 } }, ReplicationStateTransition: { acquireCount: { w: 6 } }, Global: { acquireCount: { w: 6 } }, Database: { acquireCount: { w: 6 } }, Collection: { acquireCount: { w: 6 } }, Mutex: { acquireCount: { r: 726 } } } flowControl:{ acquireCount: 6, timeAcquiringMicros: 4 } storage:{} protocol:op_msg 319ms
2020-04-24
追忆似水年华
MongoDB自带字段级加密,倒是省了我们开发的事了,哈哈~
2020-03-25
收起评论