Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
MongoDB Basic
Search
yuanxin.qiu
August 28, 2013
Technology
0
91
MongoDB Basic
Rails Night 分享文件,
http://floating-brook-3473.herokuapp.com/activities/14
yuanxin.qiu
August 28, 2013
Tweet
Share
More Decks by yuanxin.qiu
See All by yuanxin.qiu
MongoDB Basic
star
0
71
Other Decks in Technology
See All in Technology
ACA でMAGI システムを社内で展開しようとした話
mappie_kochi
1
320
LLMアプリの地上戦開発計画と運用実践 / 2025.10.15 GPU UNITE 2025
smiyawaki0820
1
450
GoでもGUIアプリを作りたい!
kworkdev
PRO
0
130
プロポーザルのコツ ~ Kaigi on Rails 2025 初参加で3名の登壇を実現 ~
naro143
1
220
SwiftUIのGeometryReaderとScrollViewを基礎から応用まで学び直す:設計と活用事例
fumiyasac0921
0
160
神回のメカニズムと再現方法/Mechanisms and Playbook for Kamikai scrumat2025
moriyuya
4
730
カンファレンスに託児サポートがあるということ / Having Childcare Support at Conferences
nobu09
1
530
能登半島地震において デジタルができたこと・できなかったこと
ditccsugii
0
130
20251014_Pythonを実務で徹底的に使いこなした話
ippei0923
0
190
Shirankedo NOCで見えてきたeduroam/OpenRoaming運用ノウハウと課題 - BAKUCHIKU BANBAN #2
marokiki
0
190
AIAgentの限界を超え、 現場を動かすWorkflowAgentの設計と実践
miyatakoji
1
170
小学4年生夏休みの自由研究「ぼくと Copilot エージェント」
taichinakamura
0
670
Featured
See All Featured
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.1k
Scaling GitHub
holman
463
140k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
189
55k
Art, The Web, and Tiny UX
lynnandtonic
303
21k
It's Worth the Effort
3n
187
28k
Why You Should Never Use an ORM
jnunemaker
PRO
59
9.6k
Into the Great Unknown - MozCon
thekraken
40
2.1k
KATA
mclloyd
32
15k
The Art of Programming - Codeland 2020
erikaheidi
56
14k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
127
53k
Transcript
MongoDB
_id ObjectId 是 “_id”的默认类型,ObjectId使用12字节的存储空间,每个字 节两位十六进制数,是一个24位的字符串。
One to Many
Many to Many
Master to Slave 主数据库 从数据库 从数据库 备份、故障恢复、读扩展
Replica Sets server-1 server-3 server-2 副本集模式:具有Master-‐Slave模式 所有特点,但是副本集没有固定的主 服务器,当初始化的时候会通过多个
服务器投票选举出一个主服务器。 当主服务器故障时会再次通过投票 选举出新的主服务器,而原先的主服 务器恢复后则转为从服务器。 Replica Sets的在故障发生时自动切换 的机制可以及时保证写入操作.
Replica Sets 各个 Primary 与 Secondary 之 间一直保持心跳同步检测,
用于判断 Replica Sets 的状态
两种模式 hAp://database.51cto.com/art/201107/278632_1.htm
Sharding Products (Shard) Product s Product s Product s Product
s Product s Product s
Sharding l shard key l 一分片多区间 l 数据均衡器
Balancer l MMAP内存映射
Sharding Config Shard-‐1 Shard-‐2 Mongos . . .
Sharding 要构建一个MongoDB Sharding Cluster,需要三种角色: 1、Sharding Server mongod实例,用于存储实际的数据块
2、Config Server mongod实例,存储了整个Cluster Metadata,其中包括chunk信息,确保元数 据完整性 3、Route Server mongos实例,前端路由,客户端由此接入,且让整个集群看上去像单一进程数据 库,多个mongos可实现负载平衡,提高客户端的接入性能
分片机制
分片机制 l MongoDB 的分片是指定一个分片 key 来进行,数据按范围分成不同 的 chunk,每个 chunk 的大小有限制
l 有多个分片节点保存这些chunk,每个节点保存一部分的 chunk l 当一个chunk超过其限制的最大体积时,会分裂成两个小的chunk l 当chunk在分片节点中分布不均衡时,会引发 chunk 迁移操作
Replica Sets + Sharding
备份与恢复 l mongodump –d db_name -‐o backup l mongorestore
–d db_name –drop backup/db_name fsync 锁来保证数据同步