和我一起學(xué)MongoDB(一)MongoDB簡介

NoSQL數(shù)據(jù)庫有哪些種類

  • 文檔型數(shù)據(jù)庫
    文檔型數(shù)據(jù)庫采用文檔的方式來存儲(chǔ)數(shù)據(jù),即將單個(gè)實(shí)體的所有數(shù)據(jù)都存在一個(gè)文檔中步咪,而文檔存在于集合中。
    MongoDB
  • “鍵值對(duì)”(Key-Value)數(shù)據(jù)庫
    “鍵值對(duì)”數(shù)據(jù)庫主要是使用數(shù)據(jù)結(jié)構(gòu)中的鍵來查找特定的值
    優(yōu)點(diǎn):這類數(shù)據(jù)庫在存儲(chǔ)時(shí)不采用任何模式,因此極易添加數(shù)據(jù)
    缺點(diǎn):通過“鍵”和“值”一對(duì)一查找時(shí)性能較高,但只針對(duì)“值”來查找時(shí)性能會(huì)比較差
    Redis爽冕、Voldemort、Scalaris披蕉、Oracle Berkeley DB
  • 列存儲(chǔ)數(shù)據(jù)庫
    列存儲(chǔ)數(shù)據(jù)庫是以“列”為單位來存儲(chǔ)數(shù)據(jù)的颈畸。相對(duì)與行存儲(chǔ)的數(shù)據(jù)庫,它更適合用于批量數(shù)據(jù)處理與實(shí)時(shí)數(shù)據(jù)查詢
    優(yōu)點(diǎn):同一列數(shù)據(jù)的格式相同没讲,所以適合數(shù)據(jù)壓縮眯娱,也更善于處理大量數(shù)據(jù)的查詢與計(jì)算,切有利于分布式擴(kuò)展
    缺點(diǎn):不適合做實(shí)時(shí)的刪除或更新操作
    Sybase IQ食零、Vertica
  • 圖存儲(chǔ)數(shù)據(jù)庫
    圖存儲(chǔ)數(shù)據(jù)庫,采用圖形理論來存儲(chǔ)尸體之間的關(guān)系信息寂屏,如社交關(guān)系網(wǎng)絡(luò)贰谣、族譜
    Neo4j娜搂、FlockDB、GraphDB

MongoDB簡介

MongoDB有哪些特性

存儲(chǔ)結(jié)構(gòu)

  • MongoDB采用“集合”來存儲(chǔ)文檔數(shù)據(jù)
  • 文檔的存儲(chǔ)架構(gòu)是基于JSON改良的BSON
  • MongoDB可以存儲(chǔ)無模式的文檔吱抚,不需要事先定義數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型百宇。
  • MongoDB能讓使用者根據(jù)應(yīng)用程序的存取需求來設(shè)置反正規(guī)化的數(shù)據(jù)結(jié)構(gòu),以加快查詢速度

數(shù)據(jù)查詢

  • 除了單表查詢功能秘豹,還支持強(qiáng)大的聚合計(jì)算(sum/avg/count/group等)携御,以及大數(shù)據(jù)引擎中常見的映射和歸納(MapReduce)
  • MongoDB可以在特定的集合字段上添加索引,以提升查詢的性能
  • 支持多種程序語言操作

數(shù)據(jù)庫架構(gòu)

  • MongoDB集群具有副本集的架構(gòu)既绕,可以實(shí)現(xiàn)數(shù)據(jù)實(shí)時(shí)備援啄刹、故障轉(zhuǎn)移等,能確保服務(wù)不會(huì)長時(shí)間中斷或發(fā)生數(shù)據(jù)丟失的情況
  • MongoDB支持?jǐn)?shù)據(jù)塊自動(dòng)切分凄贩,可以實(shí)現(xiàn)橫向擴(kuò)容誓军、能保證數(shù)據(jù)存儲(chǔ)于王文的負(fù)載均衡。雖然數(shù)據(jù)是分布式存儲(chǔ)的疲扎,但對(duì)應(yīng)用程序來說昵时,仍可以通過統(tǒng)一的路由來訪問數(shù)據(jù)

MongoDB的使用場景

  • 需要處理大量的低價(jià)值數(shù)據(jù),且對(duì)數(shù)據(jù)處理性能有較高要求
  • 需要借助緩存層來處理數(shù)據(jù)
  • 需要高度的伸縮性

MongoDB中的對(duì)象

數(shù)據(jù)庫 Database

默認(rèn)數(shù)據(jù)庫test椒丧,在使用use <databasename>時(shí)壹甥,會(huì)切換到某個(gè)數(shù)據(jù)庫,如果數(shù)據(jù)庫不存在壶熏,會(huì)自動(dòng)創(chuàng)建

集合 Collenction

MongoDB是面向集合的存儲(chǔ)句柠。在儲(chǔ)存數(shù)據(jù)時(shí),MongoDB會(huì)使用集合在做分類久橙,在集合中可以儲(chǔ)存許多文檔
集合對(duì)應(yīng)表(Table)俄占,不過集合不需要事先定義模式(Schema)

文檔 Document

文檔是MongoDB存儲(chǔ)數(shù)據(jù)的最基本單元,相當(dāng)于行(Row)淆衷。文檔內(nèi)包括一至多個(gè)“鍵值對(duì)”缸榄。每個(gè)“鍵”為一個(gè)字段(Field)。字段的值可以是數(shù)值祝拯,字符串甚带,數(shù)組或者子文檔等

視圖 (View)

視圖與查詢集合的結(jié)果相同,但視圖并非實(shí)際存在的集合佳头,而是通過指令來構(gòu)建數(shù)據(jù)查詢得出的結(jié)果鹰贵。

索引(Index)

MongoDB索引的使用方法和原理都于傳統(tǒng)關(guān)系型數(shù)據(jù)庫的索引相同。MongoDB還支持地理空間索引康嘉,以提升查詢平面或球面坐標(biāo)的速度碉输。

用戶(User)

如果MongoDB開啟了安全認(rèn)證,在會(huì)在數(shù)據(jù)庫中產(chǎn)生用戶表亭珍。在MongoDB中敷钾,每個(gè)數(shù)據(jù)庫都有獨(dú)立的用戶表

存儲(chǔ)過程(Stored Procedure)

MongoDB的存儲(chǔ)過程是用JavaScript撰寫的枝哄,存儲(chǔ)在system.js集合中,具有輸入/輸出參數(shù)阻荒、嵌套調(diào)用等特性挠锥,可提供應(yīng)用程序調(diào)用

字段(Field)

字段是MongoDB文檔中的元素,相當(dāng)于關(guān)系型數(shù)據(jù)庫中的“列”(Column)侨赡。在MongoDB中蓖租,字段可以添加的增加或減少,不需要事先定義

MongoDB與關(guān)系型數(shù)據(jù)庫的術(shù)語對(duì)應(yīng)關(guān)系

MongoDB 關(guān)系型數(shù)據(jù)庫
database(數(shù)據(jù)庫) database(數(shù)據(jù)庫)
collection(集合) table(表)
document(文檔) row(行)
field(字段) column(列)
View(視圖) View(視圖)
User(用戶) User(用戶)
Stored Procedure(預(yù)存程序) Stored Procedure(預(yù)存程序)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羊壹,一起剝皮案震驚了整個(gè)濱河市蓖宦,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌舶掖,老刑警劉巖球昨,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異眨攘,居然都是意外死亡主慰,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門鲫售,熙熙樓的掌柜王于貴愁眉苦臉地迎上來共螺,“玉大人,你說我怎么就攤上這事情竹∶瓴唬” “怎么了?”我有些...
    開封第一講書人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵秦效,是天一觀的道長雏蛮。 經(jīng)常有香客問我,道長阱州,這世上最難降的妖魔是什么挑秉? 我笑而不...
    開封第一講書人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮苔货,結(jié)果婚禮上犀概,老公的妹妹穿的比我還像新娘。我一直安慰自己夜惭,他們只是感情好姻灶,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著诈茧,像睡著了一般产喉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,754評(píng)論 1 307
  • 那天曾沈,我揣著相機(jī)與錄音尘颓,去河邊找鬼。 笑死晦譬,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的互广。 我是一名探鬼主播敛腌,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼惫皱!你這毒婦竟也來了像樊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤旅敷,失蹤者是張志新(化名)和其女友劉穎生棍,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體媳谁,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡涂滴,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晴音。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片柔纵。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖锤躁,靈堂內(nèi)的尸體忽然破棺而出搁料,到底是詐尸還是另有隱情,我是刑警寧澤系羞,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布郭计,位于F島的核電站,受9級(jí)特大地震影響椒振,放射性物質(zhì)發(fā)生泄漏昭伸。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一杠人、第九天 我趴在偏房一處隱蔽的房頂上張望勋乾。 院中可真熱鬧,春花似錦嗡善、人聲如沸辑莫。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽各吨。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間揭蜒,已是汗流浹背横浑。 一陣腳步聲響...
    開封第一講書人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留屉更,地道東北人徙融。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像瑰谜,于是被迫代替她去往敵國和親欺冀。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 知識(shí)擴(kuò)充:關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫的區(qū)別萨脑,優(yōu)勢比較隐轩?官網(wǎng)鏈接:https://www.mongodb.com/...
    whenitsallover閱讀 182評(píng)論 0 1
  • 1、MongoDB特點(diǎn) 面向集合存儲(chǔ):MongoDB 是面向集合的渤早,數(shù)據(jù)以 collection 分組存儲(chǔ)职车。每個(gè) ...
    彳亍口巴閱讀 406評(píng)論 0 1
  • 0.1. 基礎(chǔ)概念 0.1. 基礎(chǔ)概念0.1.1. 數(shù)據(jù)庫0.1.2. 集合0.1.3. 視圖 0.2. Shel...
    wlszouc閱讀 637評(píng)論 0 1
  • 1 MongoDB 特點(diǎn) 面向集合存儲(chǔ):MongoDB 是面向集合的,數(shù)據(jù)以 collection 分組存儲(chǔ)鹊杖。每個(gè)...
    羽墨_99e8閱讀 612評(píng)論 0 0
  • 1悴灵、mongodb簡介 MongoDB 是一個(gè)介于關(guān)系數(shù)據(jù)庫和非關(guān)系數(shù)據(jù)庫之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫當(dāng)中功能最豐富...
    橋頭放牛娃閱讀 1,206評(píng)論 1 14