全國網(wǎng)站制作公司排名我是seo關(guān)鍵詞
1.Mongodb使用的業(yè)務(wù)場景:
傳統(tǒng)的關(guān)系型數(shù)據(jù)庫/mysql在“三高”需求以及應(yīng)對web2.0的網(wǎng)站需求面前,有點力不從心,什么是“三高”需求:
a. 對數(shù)據(jù)庫高并發(fā)的讀寫需求
b. 對海量數(shù)據(jù)的高效率存儲和訪問需求
c. 對數(shù)據(jù)庫的高可擴展性和高可用性的需求。
在(1)數(shù)據(jù)量大,(2)寫入操作頻繁/讀寫都很頻繁,(3)價值較低的數(shù)據(jù),對事務(wù)性要求不高。對于這三類的數(shù)據(jù),我們很適合用MongoDBl來實現(xiàn)數(shù)據(jù)的存儲。
2.Mongodb簡介:
Mongodb是一個開源的,、高性能、無模式的文檔型數(shù)據(jù)庫,當(dāng)初的設(shè)計就是用于簡化開發(fā)和方便擴展,是NoSQL數(shù)據(jù)庫產(chǎn)品中的一種。是最像關(guān)系型數(shù)據(jù)庫(MySQL)的非關(guān)系型數(shù)據(jù)庫。
它支持的數(shù)據(jù)結(jié)構(gòu)非常松散,是一種類似于JSON的格式,叫BSON,所以它既可以存儲比較復(fù)雜的數(shù)據(jù)類型,又很靈活。
Mongodb中的記錄是一個文檔,它是一個由字段和值對(field:value)組成的數(shù)據(jù)結(jié)構(gòu)。MongoDB文檔類似于JSON對象,即一個文檔認為就是一個對象。字段的數(shù)據(jù)類型是字符型,它的值除了使用基本的一些類型外,還可以包括其他文檔、普通數(shù)組和文檔數(shù)組。
3.MySQL和MongoDB對比圖:
4.MongoDB中幾個特殊作用的數(shù)據(jù)庫:
①:admin:從權(quán)限的角度來看,這是‘root’數(shù)據(jù)庫。要是將一個用戶添加到這個數(shù)據(jù)庫,這個用戶自動繼承所有數(shù)據(jù)庫的權(quán)限。一些特定的服務(wù)器端命令也只能從這個數(shù)據(jù)庫運行,比如列出所有的數(shù)據(jù)庫h或者關(guān)閉服務(wù)器。
②:local:這個數(shù)據(jù)永遠不會被復(fù)制,可以用來存儲僅限于本地單臺服務(wù)器的任意集合
③:config:當(dāng)Mongo用于分片設(shè)置時,config數(shù)據(jù)庫在內(nèi)部使用,用于保存分片的相關(guān)信息。
5.MongoDB中的集合就相當(dāng)于MySQL中的表。
6.MongoDB基本常用命令:
MongoDB常用命令大全_mongodb命令-CSDN博客
7.MongoDB中的索引(底層采用B-Tree數(shù)據(jù)結(jié)構(gòu)):
(1)單字段索引:MongoDB支持在文檔的單個字段上創(chuàng)建用戶定義的升序/降序索引,稱之為單字段索引。對于單字段索引和排序操作,索引鍵的排序順序(升序or降序)并不重要,因為MongoDB可以在任何方向上遍歷索引。
(2)復(fù)合索引:MongoDB也支持復(fù)合索引。復(fù)合索引中列出的字段的順序應(yīng)該具有意義。例如:如果復(fù)合索引由{userid:1, score:-1}組成,則索引首先按照userid正序排序,然后在每個userid的值內(nèi),再按照score倒序排序。
其他索引:地理空間索引、文本索引、哈希索引。