<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 110, comments - 101, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          MongoDB 深入淺出

    數據邏輯結構

     

    1 mongoDB中的文檔(document) 相當于 關系性數據庫的一條一條的記錄

    2 collection 相當于關系性數據庫中的表,所以一個collection中有多個document

    3 多個集合在邏輯上組成一起 就是database

    4 一個mongoDB 關系性數據庫一樣 可以有多個數據庫(database)

     

    與關系數據結構比較

    MongoDB

    關系性數據庫

    文檔(document)

    (row)

    集合(collection)

    (table)

    Database

    Database

     

     

    數據存儲結構

    MongoDB 默認的數據目錄是data/db,它負責存儲所有mongodb的數據文件,在mongoDB中每個數據庫都包含一個.ns和一些數據文件,而且這些數據文件會隨著數據的增多越來越多,則: 如果系統中有一個叫foo的數據庫,那么構成foo這個數據庫的文件就會有foo.ns ,foo.0,foo1,foo.2等。

     

    Mongodb內部有預分配空間的機制,每個預分配的文件都用0填充,由于有了這個機制,

    mongoDB始終保存額外的空間和空閑的文件,這對系統數據突然暴增時減緩磁盤壓力有很大好處.

     

    由于數據量的不斷增加,mongoDB每新分配一次,大小都會是上一個文件大小的2倍,最大2G.這種機制保證系統數據較小時 不會浪費太多空間,系統數據較多時 也有相應預留空間。

     

    mongoDB命名空間

    每張表都有命名空間,每個索引也有對應的命名空間,這些命令空間的元數據都存在.ns文件中

    在下圖中,foo數據庫包含3個文件存儲數據與索引,foo.2文件屬于預分配文件,foo.0foo.1被分配到了相應的盤區對應不同的名字空間。

     

     

     

     

    從上圖可以看出,每個命名空間可以包含多個不同的盤區,這些盤區并不是連續的,與數據增長一樣,每一個命名空間的盤區大小也隨著分配的次數不斷增長。在上圖有個foo.$freelist命名空間,這個命名空間用于記錄不再使用的盤區(如被刪除的collection或索引),每當命名空間需要分配新的盤區時,就會檢查.$freelist是否有合適大小的空間,這樣就可以回收空閑的磁盤空間了。

     

     

     

     


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲精品国产日韩| 亚洲综合久久久久久中文字幕| 亚洲国产激情在线一区| 91香蕉国产线观看免费全集| 亚洲第一视频网站| 亚欧免费一级毛片| 亚洲成a人片在线观看播放| 亚洲一级毛片免费看| 亚洲国产成人久久99精品| 毛片视频免费观看| 亚洲精品无码mⅴ在线观看| 免费视频淫片aa毛片| 免费无码又爽又黄又刺激网站 | 亚洲香蕉久久一区二区| 国内免费高清在线观看| 亚洲欧美日韩中文字幕在线一区| 在线观看亚洲免费视频| 免费人成网站永久| 国产av无码专区亚洲av桃花庵| 午夜理伦剧场免费| 亚洲av极品无码专区在线观看 | 亚洲国产成人久久精品99 | 亚洲av高清在线观看一区二区| a高清免费毛片久久| 久久久久久亚洲Av无码精品专口| 午夜福利不卡片在线播放免费| 欧洲亚洲综合一区二区三区 | 亚洲高清日韩精品第一区| 免费视频专区一国产盗摄| 国产产在线精品亚洲AAVV| 亚洲精品国产字幕久久不卡| 国产91免费在线观看| 免费看一级一级人妻片| 亚洲永久永久永久永久永久精品| 毛片大全免费观看| 99久久99这里只有免费的精品| 亚洲免费一级视频| 亚洲人成色77777在线观看大| 日本中文字幕免费高清视频| 亚洲精品又粗又大又爽A片| 亚洲啪啪AV无码片|