mongoDB存储引擎
说到mongoDB的metadata信息,先介绍一下mongoDB的存储类别。mongoDB3.2.4支持一下5种:
- WiredTiger(默认)
- MMAPv1
- InMomery
- Encrypted
- 3rd Party Engine
metadata信息
从文件构造上来说,mongoDB的元数据包括:
- Collection namespace
- Index namespace
- $freelist
1和2见名知意,重点说一下$freelist,里面存储的是被删除的collection和index的信息。
从功能来说,mongoDB的元数据包括:
1. shard key跟chunk range key的映射关系
2. chunk跟数据key的映射关系。
这些信息存储在config server中。一般用户的请求过来后,router server(mongos)拿到metadata后,进行解析,开始寻址,闹到目标数据的映射地址,最终就可以对数据进行增删改查了。
ps:本来画好了图,公司没法上传图片,以后来补充了。