MongoDB特性及使用場景


概述

MongoDB(Humongous Database),中文意思就是巨大無比的數據庫,顧名思義,MongoDB就是為處理大數據而生,以解決海量數據的存儲和高效查詢使用為使命。MongoDB是一款強大、靈活、易於擴展的通用型數據庫它,能擴展出非常多的功能,如排序、范圍查找、聚合、地理空間索引等,同時具有方便的集群管理模式及完善的運維輔助工具。

 

功能特性

  • 靈活的文檔模型,加字段自由,同時不受數據類型限制;
  • 基於文檔的數據庫系統,格式以BSON(JSON,半結構化數據)存儲;
  • 高可用復制集,自動故障轉移;
  • 強大索引功能支持,允許多種快速查詢,且提供唯一索引、復合索引、地理空間索引以及全文索引;
  • 高性能,mmapv1、wiredtiger、in-memory 等多引擎支持滿足各種場景需求; (后續自研版本會支持rocksdb提升寫入性能)
  • 高壓縮比,占用磁盤空間小;
  • 地理空間支持,支持多點、線段、面、多邊形、單點、多線段、multipolygon、幾何體集合GeoJSON格式,支持符合空間索引、2D索引, 2dsphere 索引;
  • 完善的分布式擴縮容、數據遷移功能,擴縮容、數據遷移完美支持;
  • 主從復制支持異步復制和Raft復制,其中異步復制有可靠的rollback機制保證不丟數據,raft復制數據可靠性更高
  • 4.X版本已經支持事務功能,其中4.2版本開始支持分布式事務
  • 自研版本數據熱備支持,實時數據備份、恢復

適用場景

  • 高並發讀寫;
  • 模式自由,隨意字段添加,對於那種隨時需要更改數據結構;
  • 數據量大,需要隨時擴容的場景;
  • 磁盤空間小,最大化利用磁盤空間
  • 高可擴展性的應用場景;
  • 數據可靠性要求高的場景

不適用場景

  • 在多個不用維度對不用類型的數據進行關聯(join),MongoDB不支持,建議使用mysql

MongoDB、ElasticSearch、Redis、HBase、Mysql選型比較

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM