Mongo入門-1-原理&轉(zhuǎn)載自【螞蟻號(hào)】

數(shù)據(jù)庫(kù)的分類

在這里插入圖片描述

關(guān)系型數(shù)據(jù)庫(kù)遵循的ACID

  • A (Atomicity)原子性

  • C (Consisitency)一致性

  • I (Isolation)獨(dú)立性

  • D (Durability)持久性

為什么使用NoSql

not?only?sql1

現(xiàn)在個(gè)人信息爆炸
對(duì)爆炸的數(shù)據(jù)挖掘 傳統(tǒng)的SQL數(shù)據(jù)庫(kù)已經(jīng)不在適合
NoSql解決了大數(shù)據(jù)的處理和存儲(chǔ)問(wèn)題

RDBMS NoSQL

RDBMS

  • 高度組織化結(jié)構(gòu)化數(shù)據(jù)

  • 結(jié)構(gòu)化查詢語(yǔ)言SQL

  • 數(shù)據(jù)和關(guān)系都存儲(chǔ)在單獨(dú)的表中

  • 數(shù)據(jù)操縱語(yǔ)言,數(shù)據(jù)定義語(yǔ)言

  • 嚴(yán)格的一致性

  • 基礎(chǔ)事務(wù)

NoSQl

  • not only sql

  • 沒(méi)有聲名性查詢語(yǔ)句

  • 沒(méi)有預(yù)定義的模型

鍵值對(duì)存儲(chǔ),列存儲(chǔ),文檔存儲(chǔ),圖形數(shù)據(jù)庫(kù)1
  • 最終一致性,而非ACID屬性

  • 非結(jié)構(gòu)化和不可預(yù)支的數(shù)據(jù)

  • CAP定理

  • 高性能,高可用性和可伸縮性

CAP定理

對(duì)于一個(gè)分布式計(jì)算系統(tǒng)來(lái)說(shuō),不可能同時(shí)滿足一下三點(diǎn) 最多滿足兩個(gè)

  • 一致性(所有節(jié)點(diǎn)在同一時(shí)間具有相同的數(shù)據(jù))

  • 可用性(保證每個(gè)請(qǐng)求成功與否都有相應(yīng))

  • 分隔容忍(系統(tǒng)中任意信息的丟失或者失敗不會(huì)影響系統(tǒng)的繼續(xù)運(yùn)作)

因此根據(jù)CAP原理將NoSQL數(shù)據(jù)庫(kù)分成了滿足CA原則,滿足CP原則和滿足AP原則

  • CA-單點(diǎn)集群,滿足一致性,滿足性的系統(tǒng),通常在可擴(kuò)展性上不太強(qiáng)大

  • CP-滿足一致性,分區(qū)容忍性的系統(tǒng),通常性能不是特別高

  • AP-滿足可用性,分區(qū)容忍性的系統(tǒng),通??梢詫?duì)一致性要求低一些

在這里插入圖片描述

NoSQL的優(yōu)缺點(diǎn)

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

  • 高拓展性

  • 分布式計(jì)算

  • 低成本

  • 架構(gòu)的靈活

  • 半結(jié)構(gòu)化數(shù)據(jù)

  • 沒(méi)有復(fù)雜的關(guān)系

缺點(diǎn)

  • 沒(méi)有標(biāo)準(zhǔn)化

  • 有限的查詢功能(目前為止)

  • 最終一致是不直觀的程序

NoSQl分類

在這里插入圖片描述
# MongoDB簡(jiǎn)介
C++編寫
分布式文件存儲(chǔ)的開(kāi)源數(shù)據(jù)庫(kù)系統(tǒng)
可以橫向擴(kuò)展
將數(shù)據(jù)存儲(chǔ)為一個(gè)文檔,數(shù)據(jù)結(jié)構(gòu)為(KV)
文檔類似于JSON對(duì)象,字段值可以包含其他文檔
在這里插入圖片描述

主要特點(diǎn)

  • 面向文檔存儲(chǔ)的數(shù)據(jù)庫(kù),操作起來(lái)比較簡(jiǎn)單

  • 可以設(shè)置任何屬性的索引(FirstName = “Sameer”,Address=“8”)實(shí)現(xiàn)更快的排序

  • 通過(guò)本地或者網(wǎng)絡(luò)床架數(shù)據(jù)鏡像,使Mongo有更強(qiáng)的擴(kuò)展性

  • 分片:分布在計(jì)算機(jī)網(wǎng)絡(luò)的其他節(jié)點(diǎn)

  • Mongo支持豐富的查詢表達(dá)式.查詢指令JSON形式

  • update實(shí)現(xiàn)替換完成的文檔

  • MR對(duì)數(shù)據(jù)進(jìn)行批量處理和聚合操作

  • Map函數(shù)調(diào)用emit(key,value)遍歷集合中所有的記錄,kv傳給Reduce函數(shù)

  • Reduce函數(shù)是JavaScript編的,通過(guò)db.runCommand或mapreduce命令來(lái)執(zhí)行

  • GridFS是MongoDB中的一個(gè)內(nèi)置功能,可以用來(lái)存放大量小文件

  • 允許在服務(wù)端執(zhí)行腳本,可用javaScript編寫某個(gè)函數(shù),直接在服務(wù)端執(zhí)行,函數(shù)定義也可以存儲(chǔ)在服務(wù)端,下次直接調(diào)用即可

  • 支持各種編程語(yǔ)言:ruby Python java C php等

MongoDB解析

在這里插入圖片描述
在這里插入圖片描述

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

一個(gè)MongoDB可以創(chuàng)建多個(gè)數(shù)據(jù)庫(kù)

默認(rèn)數(shù)據(jù)庫(kù)為db 該數(shù)據(jù)庫(kù)存儲(chǔ)在data目錄

單個(gè)實(shí)例可以容納多個(gè)獨(dú)立的數(shù)據(jù)庫(kù),每一個(gè)都有自己的集合和權(quán)限,不同的數(shù)據(jù)庫(kù)放置在不同文件中

數(shù)據(jù)庫(kù)通過(guò)名字來(lái)標(biāo)識(shí).數(shù)據(jù)庫(kù)名字可以是滿足以下任意utf-8字符串

不不能是空字符串串("")。
不不得含有'?'(空格)、.、$、/、\和\0?(空字符)。
應(yīng)全部小小寫。
最多64字節(jié)。1234

有一些數(shù)據(jù)庫(kù)名是保留的,可以直接訪問(wèn)這些有特殊作用的數(shù)據(jù)庫(kù)

  • admin root數(shù)據(jù)庫(kù),將一個(gè)用戶添加到這個(gè)數(shù)據(jù)庫(kù),這個(gè)用戶自動(dòng)繼承所有數(shù)據(jù)庫(kù)的權(quán)限.特定的命令只能夠這個(gè)數(shù)據(jù)庫(kù)運(yùn)行(列出所有的數(shù)據(jù)庫(kù)或關(guān)閉服務(wù)器)

  • local 這個(gè)數(shù)據(jù)永遠(yuǎn)不會(huì)被復(fù)制,可以用來(lái)存儲(chǔ)限于本地單臺(tái)服務(wù)器的任意集合

  • config:當(dāng)Mongo用于分片設(shè)置時(shí),config在內(nèi)部使用,用于保存分片的相關(guān)信息

文檔

文檔是一組kv(BSON).Mongo的文檔不需要設(shè)置相同的字段,并且相同的字段不需要相同的數(shù)據(jù)類型,與關(guān)系型數(shù)據(jù)庫(kù)有很大差別,也是MongoDB的特點(diǎn)

{"site":"www.skedu.com",?"name":"山山科大大mongodb"}1

RDBMS與MongoDB對(duì)應(yīng)的術(shù)語(yǔ):
在這里插入圖片描述
注意

  • kv是有順序的

  • 文檔中的值不僅可以是在雙引號(hào)里的字符串,還可以是其他幾種數(shù)據(jù)類型(甚至是整個(gè)嵌入式文檔)

  • 區(qū)分類型和大小寫

  • 文檔不能有重復(fù)的鍵

  • 鍵是字符串.除了少數(shù)例外,可以使用UTF-8
    文檔命名規(guī)范

  • 鍵不能含有\(zhòng)0(空字符).這個(gè)字符用來(lái)表示鍵的結(jié)尾

  • .和$有特殊意義

  • _開(kāi)頭是有保留的(不是嚴(yán)格要求)

集合

集合就是 MongoDB 文文檔組,類似于 RDBMS (關(guān)系數(shù)據(jù)庫(kù)管理理系統(tǒng):Relational Database
Management System)中的表格
沒(méi)有固定的結(jié)構(gòu),意味著在對(duì)集合可以插入不同格式和類型的數(shù)據(jù)
但通常情況下插入集合的數(shù)據(jù)有一定的關(guān)聯(lián)性

{"site":"www.baidu.com"}
{"site":"www.google.com","name":"Google"}
{"site":"www.runoob.com","name":"菜?鳥(niǎo)教程","num":5}123

MongoDB數(shù)據(jù)類型

在這里插入圖片描述
轉(zhuǎn)載:https://blog.csdn.net/weixin_39381833/article/details/89191494

原文地址:https://www.v5ant.com/details/g8uoQFpiq.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,818評(píng)論 6 531
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,185評(píng)論 3 414
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 175,656評(píng)論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 62,647評(píng)論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 71,446評(píng)論 6 405
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 54,951評(píng)論 1 321
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,041評(píng)論 3 440
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 42,189評(píng)論 0 287
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,718評(píng)論 1 333
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 40,602評(píng)論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 42,800評(píng)論 1 369
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,316評(píng)論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 44,045評(píng)論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 34,419評(píng)論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 35,671評(píng)論 1 281
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 51,420評(píng)論 3 390
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 47,755評(píng)論 2 371

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