mongo:索引

MongoDB (索引)使用B-樹
1、特點:
    高性能、易部署、易使用,存儲數據非常方便。主要功能特性有:
    面向集合存儲,易存儲對象類型的數據。
    模式自由。
    支持動態查詢。
    支持完全索引,包含內部對象。
    支持查詢。
    支持複製和故障恢復。
    使用高效的二進制數據存儲,包括大型對象(如視頻等)。
    自動處理碎片,以支持雲計算層次的擴展性
    支持Python,PHP,Ruby,Java,C,C#,Javascript,Perl及C++語言的驅動程序,社區中也提供了對Erlang及.NET等平臺的驅動程序。
    文件存儲格式爲BSON(一種JSON的擴展)。
    可通過網絡訪問。

2、功能:
    面向集合的存儲:適合存儲對象及JSON形式的數據。
    動態查詢:Mongo支持豐富的查詢表達式。查詢指令使用JSON形式的標記,可輕易查詢文檔中內嵌的對象及數組。
    完整的索引支持:包括文檔內嵌對象及數組。Mongo的查詢優化器會分析查詢表達式,並生成一個高效的查詢計劃。
    查詢監視:Mongo包含一個監視工具用於分析數據庫操作的性能。
    複製及自動故障轉移:Mongo數據庫支持服務器之間的數據複製,支持主-從模式及服務器之間的相互複製。複製的主要目標是提供冗餘及自動故障轉移。
    高效的傳統存儲方式:支持二進制數據及大型對象(如照片或圖片)
    自動分片以支持雲級別的伸縮性:自動分片功能支持水平的數據庫集羣,可動態添加額外的機器。

3、適用場合:
    網站數據:Mongo非常適合實時的插入,更新與查詢,並具備網站實時數據存儲所需的複製及高度伸縮性。
    緩存:由於性能很高,Mongo也適合作爲信息基礎設施的緩存層。在系統重啓之後,由Mongo搭建的持久化緩存層可以避免下層的數據源 過載。
    大尺寸,低價值的數據:使用傳統的關係型數據庫存儲一些數據時可能會比較昂貴,在此之前,很多時候程序員往往會選擇傳統的文件進行存儲。
    高伸縮性的場景:Mongo非常適合由數十或數百臺服務器組成的數據庫。Mongo的路線圖中已經包含對MapReduce引擎的內置支持。
    用於對象及JSON數據的存儲:Mongo的BSON數據格式非常適合文檔化格式的存儲及查詢。

二、MongoDB要注意的問題
1 因爲MongoDB是全索引的,所以它直接把索引放在內存中,因此最多支持2.5G的數據。如果是64位的會更多。
2 因爲沒有恢復機制,因此要做好數據備份
3 因爲默認監聽地址是127.0.0.1,因此要進行身份驗證,否則不夠安全;如果是自己使用,建議配置成localhost主機名
4 通過GetLastError確保變更。(這個不懂,實際中沒用過)

三、MongoDB結構介紹
MongoDB中存儲的對象是BSON,是一種類似JSON的二進制文件,它是由許多的鍵值對組成。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章