【MongoDB】Mongodb資料庫之Capped Collection集合,mongodbcapped

來源:互聯網
上載者:User

【MongoDB】Mongodb資料庫之Capped Collection集合,mongodbcapped

Capped Collection是效能出色的有著固定大小的集合,以LRU(least Recently Used,最近最少使用)規則和插入順序執行age-out(老化移出)處理,自動維護集合中對象的插入順序。

一、建立Capped Collection 

建立時候要預先指定大小,如果空間用完,新添加的對象將會取代集合中最近的對象。更新如果超出了collectiond 大小,則會更新失敗。雖然不允許刪除,但是可以調用drop方法刪除集合中所有的文檔。 刪除後要顯示重建集合。在32機器上,一個capped collection的最大值約是482.5M,64位只受系統檔案大小的限制。


一個普通的collection轉換為Capped Collection,只要調用convertToCapped()命令即可;


二、Capped Collection的用途

Capped Collection是mongodb中日誌機制的首選,mongodb沒有使用記錄檔,而是吧記錄檔儲存在資料庫中。在一個沒有索引的capped collection中插入對象的速度與在檔案系統中記錄的日誌速度相當。

在記憶體中緩衝一些對象,比如,計算出來的統計資訊一般需要在collection上建立一個索引,因為使用緩衝往往是讀比寫多。 

可以利用capped collection的age-out特性,省去寫crontab指令碼執行人工歸檔的工作。

三、注意事項

1.如果寫比讀多,最好不要在上面建立索引;

2,使用natual ordering可以有效地檢索最近插入的元素,因為capped collection能夠保證自然排序就是插入的順序。

3. capped collection不能被shard.

4. 可以在建立capped collection時指定collection中能夠存放的最大文檔數。 





相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.