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
93
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
73
Other Decks in Technology
See All in Technology
SREじゃなかった僕らがenablingを通じて「SRE実践者」になるまでのリアル / SRE Kaigi 2026
aeonpeople
6
2.2k
ClickHouseはどのように大規模データを活用したAIエージェントを全社展開しているのか
mikimatsumoto
0
210
セキュリティについて学ぶ会 / 2026 01 25 Takamatsu WordPress Meetup
rocketmartue
1
290
Greatest Disaster Hits in Web Performance
guaca
0
120
20260204_Midosuji_Tech
takuyay0ne
1
140
配列に見る bash と zsh の違い
kazzpapa3
1
120
AIと新時代を切り拓く。これからのSREとメルカリIBISの挑戦
0gm
0
850
顧客との商談議事録をみんなで読んで顧客解像度を上げよう
shibayu36
0
200
We Built for Predictability; The Workloads Didn’t Care
stahnma
0
140
AWS Network Firewall Proxyを触ってみた
nagisa53
0
200
ファインディの横断SREがTakumi byGMOと取り組む、セキュリティと開発スピードの両立
rvirus0817
1
1.2k
Context Engineeringが企業で不可欠になる理由
hirosatogamo
PRO
3
520
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
170
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.8k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
38
2.7k
The Curse of the Amulet
leimatthew05
1
8.4k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
55
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
35
2.4k
Side Projects
sachag
455
43k
Accessibility Awareness
sabderemane
0
51
AI Search: Where Are We & What Can We Do About It?
aleyda
0
6.9k
[SF Ruby Conf 2025] Rails X
palkan
1
740
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
140
Ruling the World: When Life Gets Gamed
codingconduct
0
140
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 锁来保证数据同步