NoSQL—mongodb常見使用和入門

NoSQL介紹:

NoSQL數據管理系統是目前非常流行的一種非關系性、分布式、不支持ACID設計規范式的數據庫;NoSQL簡單的數據模型、元數據和數據分離、弱一致性、高吞吐量、高水平擴展能力和低端硬件集群使其流行的主要原因,而mongodb就是NoSQL數據庫一種非常流行的實現方式。

 

常見的NoSQL數據存儲模型
列式模型 文檔類型

應用場景:在分布式文件系統之上提供支持隨機讀寫分離的分布式數據庫

典型產品:HBase、Hypertable、Cassandra
數據模型:以“列”為中心進行存儲,將相同的列存儲在一起
優點:快速查詢、高可擴展性、易于實現分布式擴展

應用場景:非強事務的web應用
典型產品:MongoDB、Elasticsearch、CouchDB
數據模型:鍵值模型,以文檔存儲
優點:數據模型無須事先定義
鍵值模型 圖式模型
應用場景:
內容緩存,用于大量并發數據訪問的高負載場景
典型產品:DynamoDB、Redis、Riak
數據模型:基于hash表實現的key-value
優點:查詢速度快
應用場景:社交網絡、推薦系統、關系圖譜
典型產品:Neo4j、Infinite Graph、TITAN
數據模型:圖式結構
優點:適用于圖式場景計算

 

MongoDB的復制功能有兩種類型:

第一種類型:master/slave模型,這類模型與MySQL模型基本相同

第二種模型:replica set復制集、副本集;服務于同一數據集的多個mongodb實例;與mysql的主從類似,但是要比mysql主從工作效率要高

特性:(1)至少三個節點,至少為奇數個節點

(2)當節點數不足時,使用arbiter(仲裁者)來參與

(3)heartbeat每2s中的信息監測以及自動失效轉移

MongoDB復制集中特殊節點的類型:

(1)0優先級的節點:冷備節點,不會被選舉成為主節點,但可以參與選舉

(2)被隱藏的節點:首先是一個0優先級的從節點,且對客戶端不可見

(3)延遲復制的節點:首先是一個0優先級的從節點,且復制時間落后于主節點一個固定時長

(4)arbiter:仲裁者,沒有數據,只負責仲裁

MongoDB的復制架構:
(1)oplog:
是存儲在local數據庫中,最小為1G,大小為固定的文件;同時又只有主節點才可以有寫入操作,而從節點不會有寫入操作;而local數據存放了數據集的所有元數據和oplog,用于存儲oplog的是一個名為oplog.rs的collection,oplog.rs的大小依賴于OS和文件系統;但其大小可以自定義(oplogSize)

(2)heartbeat: 用于監測各個節點復制時的信息

 

MongoDB復制過程:

(1)初時同步:initial sync

首先克隆所有數據庫

其次應用數據集的所有改變;復制oplog并應用于本地

最后為所有collection構建索引

(2)回滾后追趕:post-rollback catch-up

(3)切分塊遷移: sharding chunk mingratings

 

MongoDB的索引類型:

單字段索引、組合索引(多字段索引)、多鍵索引、空間索引、文本索引、hash索引

 

以上是本人對學習mongodb的一些總結,只總結了一些基礎知識,常用命令沒有總結。大家有什么好的建議多給提一下。O(∩_∩)O

原創文章,作者:馬行空,如若轉載,請注明出處:http://www.www58058.com/7727

(1)
馬行空馬行空
上一篇 2015-08-31 10:43
下一篇 2015-09-01 23:12

相關推薦

  • 中文man安裝手冊

      首先需要確認的是有沒有安裝中文支持,如果沒有請安裝:#yum groupinstall -y "Chinese Support" 現在下載安裝包: wget http://manpages-zh.googlecode.com/files/manpages-zh-1.5.1.tar.gz  (這個wget是直接網頁下…

    系統運維 2016-01-13
  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可。     who | cut -d ' ' -f 1 | uniq 2、取出最后登錄到當前系統的用戶的相關信息。    egrep "^$(who | tail -1 | cut -d ' …

    Linux干貨 2016-12-19
  • GNU awk工具的使用解析

    GNU awk: 簡介:awk是一個數據處理工具。它比較傾向于將一行分成多個“字段”來處理。所以,awk比較適合處理小型數據。 gawk – pattern scanning and processing language 實現原理: 基本用法:gawk [options] 'program' FILE program:PAT…

    Linux干貨 2016-09-21
  • 冒泡算法,源碼安裝http,yum淺談

    生成10個隨機數,采用冒泡算法進行升序或降序排序 #!/bin/bash #author:maoxiong QQ:111111111 #verson:1.0  date:2016-08  #illustrate: declare -a array #create 10 randomnum for num in {0..9} do &nbs…

    Linux干貨 2016-08-26
  • 第一周作業

    一:計算機的組成和功能 主要分為五個部分:控制器、運算器、存儲器、輸入、輸出 CPU :包含控制器和運算器、寄存器、緩存 存儲器:內存,RAM(Random Access Memory) 輸入:下指令,提供數據等 輸出:輸出數據加工的結果     微型計算機系統組成:      …

    Linux干貨 2016-12-06
  • ◆戰前宣言

    從 今 天 開 始, 到 以 后 的 很 久,我 要 努 力,努 力,努 力 的 用 盡 全 力 地 學 好 Linux。 我 知 道,這 起 碼 需 要 很 長 時 間 和 汗 水,但 我 堅 信,付 出 總 是 會 有 回 報 的~ 要記?。罕饶銉炐愕娜硕荚谂Γ氵€在彷徨什么? 最后借用一下火影忍者中李…

    Linux干貨 2016-10-24
欧美性久久久久