日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 人文社科 > 生活经验 >内容正文

生活经验

mongoDB学习笔记(一)

發(fā)布時(shí)間:2023/11/27 生活经验 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mongoDB学习笔记(一) 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
說(shuō)明:  MongoDB由databases組成,database由collections組成,collection由documents組成,document由fileds組成。MongoDB是異步寫數(shù)據(jù)。

第一章 環(huán)境配置


一、Mongodb簡(jiǎn)介

  • 功能特點(diǎn)
  • 適用范圍

功能特點(diǎn)

官方網(wǎng)址:http://www.mongodb.org/?  
MongoDB是一個(gè)基于分布式文件存儲(chǔ)的數(shù)據(jù)庫(kù)開源項(xiàng)目。由C++語(yǔ)言編寫,旨在為WEB應(yīng)用提供可護(hù)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。  
它的特點(diǎn)是可擴(kuò)展,高性能,易使用,模式自由,存儲(chǔ)數(shù)據(jù)非常方便等,主要功能特性有:  
面向文檔存儲(chǔ):(類JSON數(shù)據(jù)模式簡(jiǎn)單而強(qiáng)大)。?
  1. 高效的傳統(tǒng)存儲(chǔ)方式:支持二進(jìn)制數(shù)據(jù)及大型對(duì)象(如照片和視頻)。
  2. 復(fù)制及自動(dòng)故障轉(zhuǎn)移:Mongo數(shù)據(jù)庫(kù)支持服務(wù)器之間的數(shù)據(jù)復(fù)制,支持主-從模式及服務(wù)器之間的相互復(fù)制。
  3. Auto-Sharding自動(dòng)分片支持云級(jí)擴(kuò)展性(處于早期alpha階段):自動(dòng)分片功能支持水平的數(shù)據(jù)庫(kù)集群,可動(dòng)態(tài)添加額外的機(jī)器。
  4. 動(dòng)態(tài)查詢:它支持豐富的查詢表達(dá)式。查詢指令使用JSON形式的標(biāo)記,可輕易查詢文檔中內(nèi)嵌的對(duì)象及數(shù)組。
  5. 全索引支持:包括文檔內(nèi)嵌對(duì)象及數(shù)組。Mongo的查詢優(yōu)化器會(huì)分析查詢表達(dá)式,并生成一個(gè)高效的查詢計(jì)劃。
  6. 支持RUBY,PYTHON,JAVA,C++,PHP等多種語(yǔ)言。?

優(yōu)缺點(diǎn):

? ? ? ? ? ? mongodb作為一個(gè)很熱門的nosql數(shù)據(jù)庫(kù)有著比較多的優(yōu)點(diǎn),大概歸納為以下五點(diǎn)。

? ? ? ? ? ? (1)、無(wú)模式 ? ? ??

? ? ? ? ? ? ? ?mongodb是一個(gè)文檔型存儲(chǔ)的數(shù)據(jù)庫(kù),每一行數(shù)據(jù)都是一個(gè)文檔,每一個(gè)文檔中的字段可以不一致,個(gè)數(shù)也可以不相同,而且是一個(gè)以bson方式存儲(chǔ)的文檔。bson: short for Bin-ary JSON

? ? ? ? ? ?(2)、高性能 ? ? ?

? ? ? ? ? ? ? mongodb的高性能是怎么實(shí)現(xiàn)的呢?

? ? ? ? ? ? ? 這個(gè)主要依靠2點(diǎn)來(lái)解決(當(dāng)然還有很多其它的)。第一點(diǎn)是mongodb的存儲(chǔ)空間是預(yù)先分配的。以64位機(jī)器為例,首先分配64m,以0填充,然后每次文件空間大小翻倍,直到2G,然后每次分配2G。預(yù)先分配的好處是不需要每次存儲(chǔ)的時(shí)候都分配空間,加快了存儲(chǔ)的效率。第二點(diǎn)是mongodb的內(nèi)存映射機(jī)制。mongodb首先將數(shù)據(jù)寫到內(nèi)存,然后異步寫道硬盤上(如果是非安全模式的話)。mongodb是不管理內(nèi)存的,它將這份工作交給了操作系統(tǒng)。

? ? ? ? ? ?(3)、易擴(kuò)展

? ? ? ? ? ? ? ? mongodb集群是很容易擴(kuò)展的(添加刪除節(jié)點(diǎn)簡(jiǎn)單),而且可以支持?jǐn)?shù)據(jù)的分片。(后面的章節(jié)會(huì)詳細(xì)的介紹怎么分片以及怎么擴(kuò)展)

? ? ? ? ? ?(4)、易管理

? ? ? ? ? ? ? ? mongodb的管理幾乎都是自動(dòng)的。自動(dòng)故障轉(zhuǎn)移:當(dāng)一個(gè)分片中的primary機(jī)器down后,其它機(jī)器會(huì)自動(dòng)選舉,選出一臺(tái)機(jī)器當(dāng)primary。自動(dòng)負(fù)載均衡:當(dāng)兩個(gè)分片的數(shù)據(jù)相差很大時(shí),集群會(huì)自動(dòng)將一部分?jǐn)?shù)據(jù)轉(zhuǎn)移到數(shù)據(jù)少的分片上。

? ? ? ? ? ?(5)、多功能

? ? ? ? ? ? ? ? mongodb的功能很多,例如:索引,聚合,分布式的文件存儲(chǔ),js存儲(chǔ)過(guò)程,GridFS文件存儲(chǔ),定容集合等。

?

優(yōu)點(diǎn)說(shuō)到這,mongodb同樣也有著它的限制或缺點(diǎn),主要是下面兩點(diǎn)。

? ? ? ? ? (1)、mongodb占用存儲(chǔ)空間大。

? ? ? ? ? ? ? ? 這主要是由三個(gè)因素決定的。第一,mongodb的空間預(yù)分配方式,這樣會(huì)讓mongodb最多浪費(fèi)不超過(guò)2G+2G文件大小的空間。第二,mongodb的字段名占用,即使是相同的字段,mongodb也會(huì)在每一個(gè)文檔中都存儲(chǔ),這里會(huì)浪費(fèi)極大的空間。第三,mongodb刪除數(shù)據(jù)并不會(huì)釋放空間,而只是將空間記錄為刪除狀態(tài)以便重用。

? ? ? ? ? (2)、mongodb沒(méi)有事務(wù)模式,所以事務(wù)要求嚴(yán)格的系統(tǒng)慎用。

適用范圍

適用場(chǎng)景:

  1. 適合實(shí)時(shí)的插入,更新與查詢,并具備應(yīng)用程序?qū)崟r(shí)數(shù)據(jù)存儲(chǔ)所需的復(fù)制及高度伸縮性。
  2. 適合作為信息基礎(chǔ)設(shè)施的持久化緩存層。
  3. 適合由數(shù)十或數(shù)百臺(tái)服務(wù)器組成的數(shù)據(jù)庫(kù)。因?yàn)镸ongo已經(jīng)包含對(duì)MapReduce引擎的內(nèi)置支持。
  4. Mongo的BSON數(shù)據(jù)格式非常適合文檔化格式的存儲(chǔ)及查詢。??

不適用場(chǎng)景:

  1. ?高度事務(wù)性的系統(tǒng)。
  2. ?傳統(tǒng)的商業(yè)智能應(yīng)用。
  3. ?復(fù)雜的SQL查詢。

?

二、Mongodb下載與安裝

  • 下載地址
  • 安裝步驟

下載地址

http://www.mongodb.org/downloads,選擇相應(yīng)的版本下載

?

安裝步驟

  1. 在(C/D/E/F)盤新建文件夾MongoDB。
  2. 解壓下載的文件,將bin目錄拷貝到文件夾MongoDB。
  3. 在文件夾MongoDB下新建文件夾data,在文件夾data下新建文件夾db和log(db下放的是數(shù)據(jù)庫(kù)文件,log下方的是windows日志,后面將講解)。
  4. 執(zhí)行命令:【mongod -auth?--dbpath "E:\mongodb\data\db"】將mongodb的數(shù)據(jù)庫(kù)文件創(chuàng)建到E:\mongodb\data\db 目錄下,此時(shí)數(shù)據(jù)庫(kù)就已啟動(dòng)。如圖:

三、Mongodb服務(wù)管理

  • window服務(wù)注冊(cè)
  • 服務(wù)開閉

window服務(wù)注冊(cè)

注意:一定要以管理員的身份打開cmd。具體請(qǐng)參考官網(wǎng)說(shuō)明http://docs.mongodb.org/manual/tutorial/install-mongodb-on-windows/

使用命令【mongod --install --serviceName MongoDB --serviceDisplayName MongoDB --logpath E:\mongodb\data\log\mongodb.log --dbpath E:\MongoDB --directoryperdb】注冊(cè)window服務(wù)。

服務(wù)開閉

使用命令【net stop mongodb】關(guān)閉mongodb服務(wù)。
使用命令【net start mongodb】啟動(dòng)mongodb服務(wù)。

轉(zhuǎn)載于:https://www.cnblogs.com/eer123/p/7076422.html

總結(jié)

以上是生活随笔為你收集整理的mongoDB学习笔记(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。