250_Mongodb概述_文檔類型
1 Nosql vs RDBMS
功能/特點
Nosql
關系型數(shù)據(jù)庫
強一致性和弱一致性
CAP定理 最終一致性, 非ACID
嚴格一致性 ACID
二位/多維表
鍵-值對存儲, 列存儲,文檔存儲,圖形數(shù)據(jù)庫
二維表, 數(shù)據(jù)和關系都存儲在單獨表中
結構化和非結構化
非結構化,半結構化,沒有聲明性查詢語言
結構化查詢語言
強一致性和弱一致性
弱事物
強事物
Join強/弱
弱 沒有預定義模式
強,數(shù)據(jù)操作語言, 數(shù)據(jù)定義語言
成本代價
低
高
擴展性
強,高性能,高可用性和可伸縮性
弱
2 Mongo 應用場景
MongoDB 的應用已經(jīng)滲透到各個領域,比如游戲、物流、電商、內(nèi)容管理、社交、物聯(lián)網(wǎng)、視頻直播等, 以下是幾個實際的應用案例:
游戲場景,使用 MongoDB 存儲游戲用戶信息,用戶的裝備、積分等直接以內(nèi)嵌文檔的形式存儲, 方便查詢、更新 物流場景,使用 MongoDB 存儲訂單信息,訂單狀態(tài)在運送過程中會不斷更新,以MongoDB 內(nèi)嵌 數(shù)組的形式來存儲,一次查詢就能將訂單所有的變更讀取出來。 社交場景,使用 MongoDB 存儲存儲用戶信息,以及用戶發(fā)表的朋友圈信息,通過地理位置索引 實現(xiàn)附近的人、地點等功能 物聯(lián)網(wǎng)場景,使用 MongoDB 存儲所有接入的智能設備信息,以及設備匯報的日志信息,并對這 些信息進行多維度的分析 視頻直播,使用 MongoDB 存儲用戶信息、禮物信息等
不適合使用MongoDB
1. 高度事務性系統(tǒng):例如銀行、財務等系統(tǒng)。MongoDB對事物的支持較弱; 2. 傳統(tǒng)的商業(yè)智能應用:特定問題的數(shù)據(jù)分析,多數(shù)據(jù)實體關聯(lián),涉及到復雜的、 高度優(yōu)化的查詢方式; 3. 使用sql方便的時候;數(shù)據(jù)結構相對固定,使用sql進行查詢統(tǒng)計更加便利的時候;
3 MongoDB概念
概念
MySQL
MongoDB
數(shù)據(jù)庫
database
database
表
table
Collection
數(shù)據(jù)行
row
document
字段
Column
Field
索引
Index
Index
表關聯(lián)
Join
Embedding & linkeding
分片/分區(qū)
Partition
Shard
分區(qū)鍵
partition key
sharding Key
4 MongoDB文檔
MongoDB文檔類似于JSON對象,稱為BSON。字段的值可以包括其他文檔,數(shù)組和文檔數(shù)組
5 MongoDB中的Bson數(shù)據(jù)類型
Bson是JSON文檔的二進制表示形式,它包含比JSON更多的數(shù)據(jù)類型
Type
Number
Alias
Notes
Double
1
雙精度浮點值。用于存儲浮點值
String
2
字符串。存儲數(shù)據(jù)常用的數(shù)據(jù)類型。在 MongoDB 中,UTF-8 編碼的字符串才是合 法的
Object
3
用于內(nèi)嵌文檔
Array
4
用于將數(shù)組或列表或多個值存儲為一個鍵
Binary data
5
二進制數(shù)據(jù)。用于存儲二進制數(shù)據(jù)
Undefined
6
“undefined”
Deprecated
ObjectId
7
ObjectId
Boolean
8
“bool”
Date
9
日期時間。用 UNIX 時間格式來存儲當前日期或時間。可以指定自己的日期時間: 創(chuàng)建 Date 對象,傳入年月日信息
Null
10
用于創(chuàng)建空值
Regular Expression
11
正則表達式類型。用于存儲正則表達式
DBPointer
12
“dbPointer”
Deprecated
JavaScript
13
“javascript”
Symbol
14
“symbol”
Deprecated
JavaScript (with scope)
15
JavaScript (with scope)
32-bit integer
16
“int”
Timestamp
17
MongoDB復制和Sharing使用的特殊內(nèi)部類型。前4個字節(jié)是增量,第二4字節(jié)是時 間戳。
64-bit integer
18
64-bit integer
Decimal128
19
“decimal”
Min key
-1
比所有其他可能的BSON元素值都低的特殊類型
Max key
127
比所有其他可能的BSON元件值更高的特殊類型
MongoDB 數(shù)據(jù)結構
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。
版權聲明:本文內(nèi)容由網(wǎng)絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實的內(nèi)容,請聯(lián)系我們jiasou666@gmail.com 處理,核實后本網(wǎng)站將在24小時內(nèi)刪除侵權內(nèi)容。