MongoDB 介紹

國內官網網站: http://www.mongoing.com/
官網中文翻譯: http://docs.mongoing.com/manual-zh/
 
  MongoDB是一個可擴展、開源、表結構自由、用C++語言編寫且面向文檔的數據庫,在Web應用程序提供高效性能、高可用性且易擴展的數據存儲解決方案。
  MongoDB 是一個介於關係數據庫和非關係數據庫直接的產品,是非關係數據庫中功能最豐富、最像關係數據庫的NoSQL數據庫;它支持的查詢語言很是強大,其語法有點相似於面向對象的查詢語言,能夠實現相似關係數據裏單表查詢的絕大部分功能,切還支持對數據創建索引。
  
  索引類型:
    單鍵索引,多建索引 {x:1,y:1}
    數組索引:["apple","lemon"]
    全文索引: "i am a little bird."(中文)
    地理位置索引: 2D
 
  MongoDB還支持Google提供的MapReduce並行編程模式,爲大數據分析提供了強有力的保障。
  MongoDB同時提供了與Hadoop的接口,與其它第三方數據分析工具完美結合。
 
 
關係型數據庫(MySQL) MongoDB
database database
table collection
row document/object
 
 
 
 
 
SQL數據庫 NoSQL數據庫
實時一致性 簡單便捷
事務 方便擴展
多表聯合查詢 更好的性能
 
 
 
 
 
 

基本單元:

     關係數據庫---行
     
     MongoDB --document(用於JSON格式相似的鍵值對來存儲,MongoDB叫BSON對象)
 
     

MongoDB 日誌功能 Journaling

     對數據庫的增、刪、改 操做會記錄在日誌文件中。每100ms將內存中的數據刷到磁盤上,若是意外停機,在數據庫從新啓動時,MongoDB 經過Journaling日誌功能恢復。
 
     

MongoDB 複製集 Replset  (冗餘)

     一個複製集在生產環境中最少須要3臺獨立機器,主節點(primary),次節點(secondary),仲裁節點(只負責選出主節點)
     支持 備份、自動故障轉移,
     
 
 

MongoDB 支持自動分片 Sharding(擴展)

     分片功能:實現海量數據的分佈式存儲
     分片一般與複製集配合起來使用,實現讀寫分離、負載均衡,
 

經常使用命令:

      mongod 啓動數據庫實例,負責數據庫建立、刪除等各項管理工做,運行在服務器端爲客戶端提供監聽。
     
      mongo  進入交互模式對數據庫系統進行管理。
     
      mongodump  建立BSON dump 文件的方法 例如:mongodump --port 27017 --db db1 --out /tmp/db1
 
      mongoexport 將MongoDB數據實例中的數據 導出來生成JSON 或CSV文件的工具 ; 例如 mongoexport --port 27017 --db db1 --collection  t1 --out  /tmp/t1.json
 
      mongoimport 將JSON或CSV文件內容 導入到MongoDB實例中的工具; 例如 mongoimport --port 27017 --db db1 --collection t1 --file /tmp/t1.json
 
     mongos 是分片中用到的進程,全部應用程序端的查詢操做都會先由它分析,而後將查詢定位到具體某一個分片上,做用與mongod 相似,客戶端的mongo與它鏈接。
 
     mongofiles 提供了操做MongoDB分佈式文件存儲系統的命令行接口; 例如mongofiles --port 21707 --db mydb1 --local  /tmp/123.txt put 123.txt  (將/tmp/123.txt 上傳到數據mydb1 中保存)
 
      mongostat 提供了一個展現當前正在運行的mongod實例狀態工具,提供的數據只與運行的mongod或mongos 的實例相關。
     
     mongotop 提供一個分析MongoDB實例  在讀寫數據張的時間的跟蹤方法。它提供的統計數據在美國collection 級別上。
     
     mongorestore
     mongooplog
 

MongoDB 適合的業務

     Web應用程序
     緩存系統
     日誌分析系統
相關文章
相關標籤/搜索