成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

教你如何利用MySQL學習MongoDB之數(shù)據(jù)存儲結構

數(shù)據(jù)庫 其他數(shù)據(jù)庫 MySQL MongoDB
在上文中,我們了解了教你如何利用MySQL學習MongoDB之安裝篇,本文中我們繼續(xù)我們的學習之旅,學習其數(shù)據(jù)存儲結構。

在上文中,我們了解了教你如何利用MySQL學習MongoDB之安裝篇,本文中我們繼續(xù)我們的學習之旅,學習其數(shù)據(jù)存儲結構。

1、MySQL的數(shù)據(jù)存儲結構

MySQL的每個數(shù)據(jù)庫都對應存放在一個與數(shù)據(jù)庫同名的文件夾中,MySQL數(shù)據(jù)庫文件包括MySQL所建數(shù)據(jù)庫文件和MySQL所用存儲引擎創(chuàng)建的數(shù)據(jù)庫文件。

MySQL如果使用MyISAM存儲引擎,數(shù)據(jù)庫文件類型就包括.frm、.MYD、.MYI

MySQL如果使用InnoDB存儲引擎,數(shù)據(jù)庫文件類型就包括.frm、ibdata1、.ibd

(1)、數(shù)據(jù)庫文件:

.frm文件:存儲數(shù)據(jù)表的框架結構,MySQL數(shù)據(jù)庫文件名與表名相同,每個表對應一個同名frm文件,與操作系統(tǒng)和存儲引擎無關,即不管MySQL運行在何種操作系統(tǒng)上,使用何種存儲引擎,都有這個文件。除了必有的.frm文件,根據(jù)MySQL所使用的存儲引擎的不同(MySQL常用的兩個存儲引擎是MyISAM和InnoDB),存儲引擎會創(chuàng)建各自不同的數(shù)據(jù)庫文件。

(2)、MyISAM數(shù)據(jù)庫表文件:

  1. .MYD文件:即MY Data,表數(shù)據(jù)文件
  2. .MYI文件:即MY Index,索引文件
  3. .log文件:日志文件

(3)、InnoDB采用表空間:

ibdata1、ibdata2:系統(tǒng)表空間MySQL數(shù)據(jù)庫文件,存儲InnoDB系統(tǒng)信息和用戶數(shù)據(jù)庫表數(shù)據(jù)和索引,被所有表共用;

.ibd文件:單表表空間文件,每個表使用一個表空間文件(file per table),用于存放用戶數(shù)據(jù)庫表數(shù)據(jù)和索引;

日志文件:ib_logfile1、ib_logfile2。

2、MongoDB的數(shù)據(jù)存儲結構

MongoDB對國內用戶來說比較新, 它就像是一個黑盒子,但是如果對于它內部的數(shù)據(jù)存儲了解多一些的話,那么將會很快的理解和駕馭MongoDB,讓它發(fā)揮它更大的作用。

MongoDB的默認數(shù)據(jù)目錄是/data/db,它負責存儲所有的MongoDB的數(shù)據(jù)文件。在MongoDB內部,每個數(shù)據(jù)庫都包含一個.ns文件和一些數(shù)據(jù)文件,而且這些數(shù)據(jù)文件會隨著數(shù)據(jù)量的增加而變得越來越多。所以如果系統(tǒng)中有一個叫做foo的數(shù)據(jù)庫,那么構成foo這個數(shù)據(jù)庫的文件就會由foo.ns,foo.0,foo.1,foo.2 等等組成,具體如下:

  1. [root@localhost db]# ll /data/db/  
  2. 總計 196844  
  3. -rw------- 1 root root 16777216 04-15 16:33 admin.0  
  4. -rw------- 1 root root 33554432 04-15 16:33 admin.1  
  5. -rw------- 1 root root 16777216 04-15 16:33 admin.ns  
  6. -rw------- 1 root root 16777216 04-21 17:30 foo.0  
  7. -rw------- 1 root root 33554432 04-21 17:30 foo.1  
  8. -rw------- 1 root root 67108864 04-21 17:30 foo.2  
  9. -rw------- 1 root root 16777216 04-21 17:30 foo.ns  
  10. -rwxr-xr-x 1 root root 6 04-21 17:16 mongod.lock  
  11. -rw------- 1 root root 16777216 04-15 16:30 test.0  
  12. -rw------- 1 root root 33554432 04-15 16:30 test.1  
  13. -rw------- 1 root root 16777216 04-15 16:30 test.ns  
  14. drwxr-xr-x 2 root root 4096 04-21 17:30 _tmp  
  15. [root@localhost db]# 

 

 

MongoDB內部有預分配表空間的機制,每個預分配的文件都用0進行填充,由于有了這個機制, MongoDB始終保持額外的空間和空余的數(shù)據(jù)文件,從而有效避免了由于數(shù)據(jù)暴增而帶來的磁盤壓力過大的問題。

由于表中數(shù)據(jù)量的增加,數(shù)據(jù)文件每新分配一次,它的大小都會是上一個數(shù)據(jù)文件大小的2倍,每個數(shù)據(jù)文件***2G。這樣的機制有利于防止較小的數(shù)據(jù)庫浪費過多的磁盤空間,同時又能保證較大的數(shù)據(jù)庫有相應的預留空間使用。

數(shù)據(jù)庫的每張表都對應一個命名空間,每個索引也有對應的命名空間。這些命名空間的元數(shù)據(jù)都集中在*.ns文件中。

在下圖中,foo這個數(shù)據(jù)庫包含3個文件用于存儲表和索引數(shù)據(jù),foo.2文件屬于預分配的空文件。foo.0和foo.1這兩個數(shù)據(jù)文件被分為了相應的盤區(qū)對應不同的名字空間。

 

上圖顯示了命名空間和盤區(qū)的關系。每個命名空間可以包含多個不同的盤區(qū),這些盤區(qū)并不是連續(xù)的。與數(shù)據(jù)文件的增長相同,每一個命名空間對應的盤區(qū)大小的也是隨著分配的次數(shù)不斷增長的。這樣做的目的是為了平衡命名空間浪費的空間與保持某一個命名空間中數(shù)據(jù)的連續(xù)性。上圖中還有一個需要注意的命名空間:$freelist,這個命名空間用于記錄不再使用的盤區(qū)(被刪除的Collection或索引)。每當命名空間需要分配新的盤區(qū)的時候,都會先查看$freelist是否有大小合適的盤區(qū)可以使用。

【編輯推薦】

  1. Craigslist采用MongoDB替代MySQL
  2. MongoDB源碼分析--Command體系架構
  3. Mongodb源碼分析--內存文件映射(MMAP)
  4. 淺析Mongodb源碼之游標Cursor
  5. 如何解決PHP+MySQL出現(xiàn)亂碼的現(xiàn)象
責任編輯:艾婧 來源: it168
相關推薦

2011-05-23 09:23:19

MySQLMongoDB

2011-05-24 09:10:24

MySQLMongoDB

2011-05-24 10:11:30

MySQLMongoDB

2011-05-24 09:23:16

MySQLMongoDB

2011-05-24 09:51:07

MySQLMongoDB

2011-03-31 10:52:13

2010-04-21 16:07:04

Oracle邏輯存儲結

2020-11-27 07:38:43

MongoDB

2010-04-21 16:55:06

Oracle物理存儲結

2023-05-09 07:53:18

2011-09-14 15:30:00

MongoDB

2018-06-06 08:54:23

數(shù)據(jù)結構存儲

2011-03-17 09:06:34

MongoDB文檔結構

2018-02-10 10:22:08

2017-10-17 10:34:16

數(shù)據(jù)中心混合存儲

2021-04-12 15:47:00

數(shù)據(jù)結構算法鏈表

2012-07-26 08:32:38

MongoDB

2016-04-11 14:35:59

機器學習數(shù)據(jù)挖掘數(shù)據(jù)模型

2011-03-24 14:59:42

2019-06-20 15:25:14

MySQLL數(shù)據(jù)庫存儲
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久草视频 | 久久99精品久久久久婷婷 | 91精品国产色综合久久不卡98口 | 亚洲成av人片在线观看 | av在线免费网站 | 国产极品粉嫩美女呻吟在线看人 | 免费电影av | 日韩中文在线 | www.夜夜草| 日韩一区中文字幕 | 日韩av在线一区二区 | 狠狠干美女| 欧美涩涩网| 久久噜噜噜精品国产亚洲综合 | 成人国产精品久久久 | 一级全黄视频 | 国产婷婷综合 | 97久久久 | 91精品国产综合久久久亚洲 | 午夜在线视频 | 亚洲日本欧美 | 国产一区二区三区久久久久久久久 | 91黄色免费看| 日韩久久久久久 | 国产精品揄拍一区二区 | 国产精品久久久久999 | 国产精品一区免费 | 无码日韩精品一区二区免费 | 中文字幕在线一区 | 99精品视频免费观看 | 日本一区二区不卡 | 91在线视频国产 | 精品一区二区三区免费毛片 | 欧美日韩综合精品 | 免费一区二区三区 | 亚洲久久| 精品在线观看入口 | 精品在线一区 | 中国大陆高清aⅴ毛片 | 国产aa | 91精产国品一二三区 |