mongodb 介紹 安裝

本文涉及以下內(nèi)容

mongodb簡(jiǎn)介
MongoDB特點(diǎn)
NoSQL簡(jiǎn)介
CAP 原則
與BASE的關(guān)系
MongoDB安裝

mongodb簡(jiǎn)介

MongoDB 是一個(gè)使用C++編寫的,開(kāi)源的,面向文檔的NoSQL(Not Only SQL)數(shù)據(jù)庫(kù)。
NoSQL的意思是“不僅僅是SQL”,是目前流行的“非關(guān)系型數(shù)據(jù)庫(kù)”的統(tǒng)稱。
常見(jiàn)的NoSQL數(shù)據(jù)庫(kù)如:Redis、CouchDB、MongoDB、HBase、Cassandra等。

MongoDB特點(diǎn)

  • 高性能、易于使用、易于擴(kuò)展、功能豐富
  • 面向集合存儲(chǔ),模式自由
  • 支持動(dòng)態(tài)查詢,支持javascript表達(dá)式查詢
  • 支持索引
  • 支持副本集復(fù)制和自動(dòng)故障恢復(fù)
  • 自動(dòng)處理分片
  • 支持二進(jìn)制和大型對(duì)象數(shù)據(jù)
  • 文件存儲(chǔ)格式為BSON(JSON的一種擴(kuò)展)

NoSQL

NoSQL解決了哪些問(wèn)題
  • 1,對(duì)數(shù)據(jù)庫(kù)高并發(fā)讀寫的需求。
  • 2,對(duì)海亮數(shù)據(jù)的高效率和訪問(wèn)的需求。
  • 3,對(duì)數(shù)據(jù)庫(kù)的高可擴(kuò)展性和高可用性的需求。
NoSQL的優(yōu)點(diǎn)
  • 擴(kuò)展簡(jiǎn)單方便,尤其是水平橫向擴(kuò)展(縱向擴(kuò)展是指用更強(qiáng)的機(jī)器;橫向擴(kuò)展是指把數(shù)據(jù)分散到多個(gè)機(jī)器)。

  • 讀寫快速高效,多數(shù)都會(huì)映射到內(nèi)存操作 。

  • 成本低廉,用普通機(jī)器,分布式集群即可 。

  • 數(shù)據(jù)模型靈活,沒(méi)有固定的數(shù)據(jù)模型。

CAP 原則

CAP原則又稱CAP定理,指的是在一個(gè)分布式系統(tǒng)中, 
Consistency(一致性)、 Availability(可用性)、Partition tolerance(分區(qū)容錯(cuò)性),三者不可得兼
  • 1: 強(qiáng)一致性(Consistency):系統(tǒng)在執(zhí)行過(guò)某項(xiàng)操作后仍然處于一致的,在分布式系統(tǒng)中,更 新操作執(zhí)行成功后所有的用戶都應(yīng)該讀取到最新的值,這樣的系統(tǒng)被認(rèn)為具有強(qiáng)一致性。

  • 2: 可用性(Availability): 每一個(gè)操作總是能夠在一定的時(shí)間內(nèi)返回結(jié)果。

  • 3: 分區(qū)容錯(cuò)性(Partition tolerance): 系統(tǒng)在存在網(wǎng)絡(luò)分區(qū)的情況下仍然可以接受
    請(qǐng)求并處理,這里網(wǎng)絡(luò)分區(qū)是指由于某種原因網(wǎng)絡(luò)被分成若干個(gè)孤立區(qū)域,而區(qū)域之間互不相通

根據(jù)CAP 原理將數(shù)據(jù)庫(kù)分成了滿足CA原則,滿足CP原則和滿足AP原則三大類
  • CA: 單點(diǎn)集群,滿足一致性,可用性,通常在可擴(kuò)展上不太強(qiáng)大,比如關(guān)系型數(shù)據(jù)庫(kù)。

  • CP: 滿足一致性和分區(qū)容錯(cuò)性,通常性能不是特別高,如分布式數(shù)據(jù)庫(kù)。

  • AP: 滿足可用性和分區(qū)容錯(cuò)性,通常可能對(duì)一致性要求低一些,如大多數(shù)的NoSQL。

CAP

與BASE的關(guān)系

BASE就是為了解決關(guān)系數(shù)據(jù)庫(kù)強(qiáng)一致性引起的問(wèn)題而引起的可用性降低而提出的解決方案。
BASE(Basically Available,Soft-state,Eventual consistency )
  • 1: 基本可用(Basically Available): 系統(tǒng)能夠基本運(yùn)行,一直提供服務(wù)。

  • 2: 軟狀態(tài)(Soft-state): 系統(tǒng)不要求一直保持強(qiáng)一致?tīng)顟B(tài)。

  • 3: 最終一致性(Eventual consistency):系統(tǒng)需要在某一時(shí)刻后達(dá)到一致性要求。

MongoDB安裝

1,下載https://www.mongodb.com/download-center#community。
2,然后tar zvxf 解壓。
3,拷貝到相應(yīng)的文件夾即可。

啟動(dòng)

1,新建一個(gè)文件 指定數(shù)據(jù)庫(kù) 日志 存儲(chǔ)位置
mdb.conf

dbpath=../dbs
logpath=../logs/log
fork=true
nojournal = true
./mongod -f mdb.conf

可選參數(shù):

  • port 指定服務(wù)端口號(hào),默認(rèn)端口27017。

  • bind_ip 綁定服務(wù)IP,若綁定127.0.0.1,則只能本機(jī)訪問(wèn),不指定默認(rèn)本地所有IP。

  • logpath 指定MongoDB日志文件,注意是指定文件不是目錄。

  • fork 以守護(hù)進(jìn)程的方式運(yùn)行MongoDB,創(chuàng)建服務(wù)器進(jìn)程。

  • auth 啟用驗(yàn)證。

  • dbpath 指定數(shù)據(jù)庫(kù)路徑。

  • journal 啟用日志選項(xiàng),MongoDB的數(shù)據(jù)操作將會(huì)寫入到j(luò)ournal文件夾的文件里。

  • maxConns 最大同時(shí)連接數(shù) 默認(rèn)2000 。

./mongod -help 查看更多配置。

關(guān)閉

1:如果是在Shell里面啟動(dòng)的,ctrl+c退出shell就關(guān)閉了。
2:如果是在后臺(tái)啟動(dòng)的,運(yùn)行 pkill mongod。
3:也可以進(jìn)入javascript shell,切換到admin數(shù)據(jù)庫(kù),運(yùn)行db.shutdownServer()。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • //我所經(jīng)歷的大數(shù)據(jù)平臺(tái)發(fā)展史(三):互聯(lián)網(wǎng)時(shí)代 ? 上篇http://www.infoq.com/cn/arti...
    葡萄喃喃囈語(yǔ)閱讀 51,715評(píng)論 10 199
  • mogon簡(jiǎn)介 MongoDB 是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)。由 C++ 語(yǔ)言編寫。旨在為 WEB 應(yīng)用提供可...
    豬哥亮閱讀 2,071評(píng)論 0 10
  • NoSql數(shù)據(jù)庫(kù)優(yōu)缺點(diǎn) 在優(yōu)勢(shì)方面主要體現(xiàn)在下面幾點(diǎn): 簡(jiǎn)單的擴(kuò)展 快速的讀寫 低廉的成本 靈活的數(shù)據(jù)模型 在不足...
    dreamer_lk閱讀 2,879評(píng)論 0 6
  • 我是個(gè)鄉(xiāng)下人,所以,理所當(dāng)然的是在鄉(xiāng)下長(zhǎng)大的,哎!這不是說(shuō)的廢話嗎! 小時(shí)候農(nóng)村里的土狗挺多的,印象中家里第一次養(yǎng)...
    沐子2閱讀 269評(píng)論 1 0
  • 當(dāng)你得到一些東西的時(shí)候 就必須得學(xué)會(huì)舍棄一些
    Wtrun閱讀 198評(píng)論 0 0

友情鏈接更多精彩內(nèi)容