MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)知識(shí)整理
一、NoSQL
了解Mongodb之前先了解一下NoSQL,NoSQL是Not Only SQL的縮寫。由提供缺乏SQL關(guān)系數(shù)據(jù)庫(kù)的嚴(yán)格限制模型的存儲(chǔ)和檢索技術(shù)組成。主要是簡(jiǎn)化設(shè)計(jì)、水平擴(kuò)展以及對(duì)數(shù)據(jù)的可用性進(jìn)行更精細(xì)的控制。NoSQL有多種技術(shù)例如:Redis的鍵值結(jié)構(gòu)、HBase的列結(jié)構(gòu)等。
二、Mongodb
Mongodb也是NoSQL的一種。它基于的文檔模型把數(shù)據(jù)對(duì)象作為一個(gè)集合中單獨(dú)的文檔來(lái)存儲(chǔ)。用它來(lái)提供高性能、高可用性和自動(dòng)擴(kuò)展的數(shù)據(jù)存儲(chǔ)。
三、集合
Mongodb通過(guò)使用集合將數(shù)據(jù)分組在一起。集合僅僅是一組具有相同或類似用途的文檔。集合類似于傳統(tǒng)SQL數(shù)據(jù)庫(kù)的表。只是集合不執(zhí)行嚴(yán)格的模式,同一集合中的文檔可以具有彼此略微不同的結(jié)構(gòu)。
四、文檔
文檔是Mongodb數(shù)據(jù)庫(kù)中單個(gè)數(shù)據(jù)實(shí)體的表示。SQL的行數(shù)據(jù)是平坦的,行中的每個(gè)值都有一個(gè)列。在Mongodb中文檔可以包含嵌入子文檔,從而為應(yīng)用程序提供更密切的內(nèi)在數(shù)據(jù)模型。在Mongodb中代表文檔的記錄被存儲(chǔ)為BSON,這是JSON的一個(gè)輕量級(jí)的二進(jìn)制形式。它的字段/值對(duì)應(yīng)于Javascript的屬性和值。同時(shí)在MongoDB中文檔的最大大小是16MB。這可以防止RAM使用過(guò)量或?qū)ξ募到y(tǒng)產(chǎn)生劇烈沖擊。
此外,文檔的字段名不能包含(null)字符、句點(diǎn)(.)或美元符號(hào)($)._id字段名是為對(duì)象的ID保留的。該_id字段是系統(tǒng)中的一個(gè)唯一的ID,它由以下幾個(gè)部分組成:
- 1.一個(gè)4字節(jié)的值,代表從紀(jì)元以來(lái)過(guò)去的秒數(shù)。
- 2.一個(gè)3字節(jié)的機(jī)器標(biāo)識(shí)符
- 3.一個(gè)2字節(jié)的進(jìn)程ID
- 4.一個(gè)3字節(jié)的計(jì)數(shù)器,從一個(gè)隨機(jī)值開始
五、Mongodb數(shù)據(jù)類型
Mongodb為每一種數(shù)據(jù)類型分配了從1到255的整數(shù)ID號(hào),可使用它來(lái)按類型查詢。
類型 | 說(shuō)明 | 編號(hào) |
---|---|---|
Double | 雙精度數(shù)值 | 1 |
String | 字符串 | 2 |
Object | 對(duì)象 | 3 |
Array | 數(shù)組 | 4 |
Binary data | 二進(jìn)制數(shù)據(jù) | 5 |
Object id | 對(duì)象ID | 7 |
Boolean | 布爾值 | 8 |
Date | 日期 | 9 |
Null | 空值 | 10 |
Regular Expression | 正則表達(dá)式 | 11 |
JavaScript | Javascript | 13 |
Symbol | 符號(hào) | 14 |
JavaScript(with scope) | Javascript(帶作用域) | 15 |
32-bit intger | 32位整數(shù) | 16 |
Timestamp | 時(shí)間戳 | 17 |
64-bit integer | 64位整數(shù) | 18 |
Min Key | 最小值 | 255 |
Max Key | 最大值 | 127 |
當(dāng)比較不同的BSON類型的值時(shí),Nongodb使用下面的比較順序從最低到最高:
- 1.最小鍵(內(nèi)部類型)
- 2.空值
- 3.數(shù)值
- 4.符號(hào)、字符串
- 5.對(duì)象
- 6.數(shù)組
- 7.二進(jìn)制數(shù)據(jù)
- 8.對(duì)象ID
- 9.布爾值
- 10.日期,時(shí)間戳
- 11.正則表達(dá)式
- 12.最大鍵(內(nèi)部類型)
到此這篇關(guān)于MongoDB數(shù)據(jù)庫(kù)基礎(chǔ)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持本站。
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。