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
70
Other Decks in Technology
See All in Technology
KubeCon + CloudNativeCon Japan 2025 に行ってきた! & containerd の新機能紹介
honahuku
0
120
さくらのIaaS基盤のモニタリングとOpenTelemetry/OSC Hokkaido 2025
fujiwara3
2
270
より良いプロダクトの開発を目指して - 情報を中心としたプロダクト開発 #phpcon #phpcon2025
bengo4com
1
3.2k
Node-RED × MCP 勉強会 vol.1
1ftseabass
PRO
0
180
自律的なスケーリング手法FASTにおけるVPoEとしてのアカウンタビリティ / dev-productivity-con-2025
yoshikiiida
0
1.9k
Yamla: Rustでつくるリアルタイム性を追求した機械学習基盤 / Yamla: A Rust-Based Machine Learning Platform Pursuing Real-Time Capabilities
lycorptech_jp
PRO
4
180
2025-06-26_Lightning_Talk_for_Lightning_Talks
_hashimo2
2
120
Tech-Verse 2025 Keynote
lycorptech_jp
PRO
0
1.4k
開発生産性を組織全体の「生産性」へ! 部門間連携の壁を越える実践的ステップ
sudo5in5k
0
950
タイミーのデータモデリング事例と今後のチャレンジ
ttccddtoki
6
1.9k
登壇ネタの見つけ方 / How to find talk topics
pinkumohikan
7
600
mrubyと micro-ROSが繋ぐロボットの世界
kishima
3
380
Featured
See All Featured
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Building Applications with DynamoDB
mza
95
6.5k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.7k
A designer walks into a library…
pauljervisheath
207
24k
Code Reviewing Like a Champion
maltzj
524
40k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
17
950
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Imperfection Machines: The Place of Print at Facebook
scottboms
267
13k
How To Stay Up To Date on Web Technology
chriscoyier
790
250k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
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 锁来保证数据同步