数据存储结构
来源:互联网 发布:linux 显卡驱动安装 编辑:程序博客网 时间:2024/05/29 08:33
MongoDB 对国内用户来说比较新, 它就像是一个黑盒子,但是如果对于它内部的数据存储了解多一些的话,那么将会很快的理解和驾驭 MongoDB,让它发挥它更大的作用。
MongoDB的默认数据目录是/data/db,它负责存储所有的MongoDB 的数据文件。在 MongoDB内部,每个数据库都包含一个.ns文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。所以如果系统中有一个叫做foo 的数据库,那么构成 foo 这个数据库的文件就会由 foo.ns, foo.0, foo.1, foo.2 等等组成,具体如下:
-rw------- 1 root root 16777216 04-21 17:30foo.0
-rw------- 1 root root 33554432 04-21 17:30foo.1
-rw------- 1 root root 67108864 04-21 17:30foo.2
-rw------- 1 root root 16777216 04-21 17:30foo.ns
MongoDB内部有预分配空间的机制,每个预分配的文件都用 0 进行填充,由于有了这个机
制, MongoDB始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增而带来
的磁盘压力过大的问题。
由于表中数据量的增加,数据文件每新分配一次,它的大小都会是上一个数据文件大小的 2
倍,每个数据文件最大 2G。这样的机制有利于防止较小的数据库浪费过多的磁盘空间,同
时又能保证较大的数据库有相应的预留空间使用。
数据库的每张表都对应一个命名空间,每个索引也有对应的命名空间。这些命名空间的元数
据都集中在*.ns文件中。
在下图中, foo 这个数据库包含 3 个文件用于存储表和索引数据, foo.2 文件属于预分配的空
文件。 foo.0 和 foo.1 这两个数据文件被分为了相应的盘区对应不同的名字空间。
-rw------- 1 root root 33554432 04-21 17:30foo.1
-rw------- 1 root root 67108864 04-21 17:30foo.2
-rw------- 1 root root 16777216 04-21 17:30foo.ns
MongoDB内部有预分配空间的机制,每个预分配的文件都用 0 进行填充,由于有了这个机
制, MongoDB始终保持额外的空间和空余的数据文件,从而有效避免了由于数据暴增而带来
的磁盘压力过大的问题。
由于表中数据量的增加,数据文件每新分配一次,它的大小都会是上一个数据文件大小的 2
倍,每个数据文件最大 2G。这样的机制有利于防止较小的数据库浪费过多的磁盘空间,同
时又能保证较大的数据库有相应的预留空间使用。
数据库的每张表都对应一个命名空间,每个索引也有对应的命名空间。这些命名空间的元数
据都集中在*.ns文件中。
在下图中, foo 这个数据库包含 3 个文件用于存储表和索引数据, foo.2 文件属于预分配的空
文件。 foo.0 和 foo.1 这两个数据文件被分为了相应的盘区对应不同的名字空间。
0 0
- oracle数据存储结构
- 数据的存储结构
- 数据存储结构 mongoDB
- 数据的存储结构
- Android数据存储结构
- 数据存储结构
- MongoDB数据存储结构
- 数据存储结构
- 数据存储-索引结构
- MySQL数据存储结构
- 通用数据存储结构
- 数据的存储结构
- Hbase数据存储结构
- Hive数据存储结构
- 非结构化数据存储
- HBase (2)---数据存储结构
- Oracle 数据存储结构_1
- 图数据存储结构详解
- 8.String to Integer (atoi)
- JAVA实现的单例模式
- 数字二进制表示中1的个数
- Andorid 如何监听app是否安装或卸载
- 数据测试读取和传输问题
- 数据存储结构
- manacher算法
- Queue (周赛3)
- HDU Train Problem II (卡特兰数+大数)
- 分享一款超好用的windows管理工具
- 同步与异步的区别
- jetty maven工程开启jetty调试
- vi编辑只读文档无法保存解决方法(转载)
- android 体系结构