Security
authentication
access control/authorization
encryption
network setup
auditting
authentication
用户信息存储在dbname.system.users, 当dbname为admin时为全局设置,当使用数据库级别设置(即dbname不等于admin时)可以在不同的数据库使用相同的用户名而不产生冲突。
继续阅读 »
Connecting to a Replica Set from Pymongo
py
read_pref = pymongo.read_preferences.ReadPreference.SECONDARY
connection = pymongo.MongoClient() # for default localhost:port
connection = pymongo.MongoClient(host=['mongodb://localhost:27001', 'mongodb://localhost:27002'], replicaSet="setName", w=1, j=False, read_preferenc
继续阅读 »
Sharding & Data Distribution
shard key 用于决定文档存于哪个 shard, 分为 range based 和 hash based。以 range based 为例,一个[min, max]范围形成一个chunk,取一个中间的数字将原来的区块分为两个(splite),再把新分出来的区块发送(migration)给其它shard。
继续阅读 »
Replication
Why replication?
high availability (when server failure occurs)
durability
scaling in some situations
disaster recovery
继续阅读 »
Performance
本周的内容基本与上周Mongodb for DBAs: week3重复,重点和之前没有的再记一次好了。
继续阅读 »
Schema Design
mongodb区别于sql数据库,没有外键,支持内嵌文档。在设计数据库时既可以内嵌也可以分别创建不同的集合再进行连接,较为自由。内嵌的好处是提高磁盘读取效率。缺点是不能内嵌太多文档,否则会超过16MB的文档大小限制,还有如果内嵌导致大量重复数据则容易造成数据不一致。
继续阅读 »
Storage Engine
Mongodb 现有两个存储引擎,默认的是MMAPv1,可选的是WiredTiger。可以在启动数据库时指定。wiredTiger支持而MMAPv1不支持的特性有:文档级别锁,数据压缩。
shell
mongod --storageEngine wiredTiger
继续阅读 »
CRUD
CRUD因在另一门课Mongodb for Developers: Week2笔记中基本覆盖,所以重复内容不再做笔记。也可参考官方文档。
继续阅读 »
Mongodb University Courses Note
Mongodb University的M101P: MongoDB for Developers与M102: MongoDB for DBAs课程第二周笔记
官方文档地址
api文档
继续阅读 »
Mongodb University Courses Note
Mongodb University的M101P: MongoDB for Developers与M102: MongoDB for DBAs课程第一周笔记
官方文档地址
继续阅读 »