MongoDB数据存储结构
来源:互联网 发布:淘宝女装,连衣裙 编辑:程序博客网 时间:2024/04/30 20:52
MongoDB 的默认数据目录是/data/db,它负责存储所有的 MongoDB 的数据文件。在 MongoDB内部,每个数据库都包含一个.ns 文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。所以如果系统中有一个叫做 foo 的数据库,那么构成 foo 这个数据库的文件就会由 foo.ns, foo.0, foo.1, foo.2 等等组成,具体如下:
MongoDB 内部有预分配空间的机制,每个预分配的文件都用 0 进行填充,由于有了这个机制, MongoDB 始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增而带来的磁盘压力过大的问题。
由于表中数据量的增加,数据文件每新分配一次,它的大小都会是上一个数据文件大小的 2倍,每个数据文件最大 2G。这样的机制有利于防止较小的数据库浪费过多的磁盘空间,同时又能保证较大的数据库有相应的预留空间使用。
数据库的每张表都对应一个命名空间,每个索引也有对应的命名空间。这些命名空间的元数据都集中在*.ns 文件中。
在下图中, foo 这个数据库包含 3 个文件用于存储表和索引数据, foo.2 文件属于预分配的空文件。 foo.0 和 foo.1 这两个数据文件被分为了相应的盘区对应不同的名字空间。
上图显示了命名空间和盘区的关系。每个命名空间可以包含多个不同的盘区,这些盘区并不是连续的。与数据文件的增长相同,每一个命名空间对应的盘区大小的也是随着分配的次数不断增长的。这样做的目的是为了平衡命名空间浪费的空间与保持某一个命名空间中数据的连续性。上图中还有一个需要注意的命名空间: $freelist,这个命名空间用于记录不再使用的盘区(被删除的 Collection 或索引)。每当命名空间需要分配新的盘区的时候,都会先查看$freelist 是否有大小合适的盘区可以使用,这样就回收空闲的磁盘空间。
1 0
- 数据存储结构 mongoDB
- MongoDB数据存储结构
- MongoDB之数据存储结构
- mongodb 存储结构
- MongoDB存储结构
- MongoDB存储结构
- MongoDB数据逻辑结构
- MongoDB如何存储数据
- mongodb数据存储大小
- MongoDB如何存储数据
- Python + Mongodb数据存储
- MongoDB 数据存储引擎
- MongoDB管理与开发精要《红丸出品》3.2 数据存储结构
- mongoDB的数据逻辑结构
- oracle数据存储结构
- 数据的存储结构
- 数据的存储结构
- Android数据存储结构
- 【Linux】和【Mac】下修改终端提示文字和主机名的方法
- MyBatis (一)configuration.xml的配置/mapper持久类的映射/sqlSession的获取/基础的select,insert,delete,update
- typescript[4] - function
- 154Find Minimum in Rotated Sorted Array II
- db_oracle_account_01
- MongoDB数据存储结构
- MATLAB向txt连续写入数据
- 使用服务开启关闭暂停音乐
- Python一周学习的小结
- 犀牛书随手记-05
- 第2章第3节练习题1 串的模式匹配(Naive)
- FZUOJ 2150 Problem 2150 Fire Game (双起点BFS)
- Android-Uiautomator:[6]运行中传入参数
- Scala-01:函数定义、流程控制、异常处理