MongoDB開發(fā)架構(gòu)實踐_第1頁
MongoDB開發(fā)架構(gòu)實踐_第2頁
MongoDB開發(fā)架構(gòu)實踐_第3頁
MongoDB開發(fā)架構(gòu)實踐_第4頁
MongoDB開發(fā)架構(gòu)實踐_第5頁
已閱讀5頁,還剩20頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領

文檔簡介

1、MongoDB 開發(fā)架構(gòu)實踐議程1.連接設置性能相關模型設計架構(gòu)相關連接設置問題: 1個mongos 不可用,應用整體延遲增高,性能明顯下降配置: connection string: mongodb:/mongos1:port,mongos2:port,mongos3:portmongodb version:3.4.13 driver :C 1.5.0連接設置原理:serverSelectionTimeoutMS 30slocalThresholdMS 15ms單線程模式C Drivers連接池模式議程1.連接設置性能相關模型設計架構(gòu)相關索引索引的選擇性索引索引的選擇性索引前綴 a: 1,

2、b: 1, c: 1 a: 1 a: 1, b: 1 a: 1, b: 1, c: 1 filtersort. a: 1sort. a: 1, b: 1sort. a: 1, b: 1, c: 1 sort( a: 5 ).sort( b: 1, c: 1 )( a: $gt: 2 ).sort( c: 1 )索引索引的選擇性索引前綴復合索引:等值 排序 范圍db.restaurants.find( “,avgcost”: $lte: 300cuisine: Sushi).sort(stars: 1)db.restaurants.createIndex( “cuisine”: 1,“stars

3、”: 1,“)avgcost”: 1 等值排序范圍索引索引的選擇性索引前綴復合索引:等值 排序 范圍索引創(chuàng)建foreground:快 鎖庫Background: 慢 mongoshell不會退出從節(jié)點啟動到standalone模式,手工創(chuàng)建索引,再加入復制集索引索引的選擇性索引前綴復合索引:等值 排序 范圍 索引創(chuàng)建$indexStatsdb.collection.aggregate( $indexStats : , $project : key: 1, accesses.ops: 1 ).prettyCRUDupdatedb.foo.find()db.foo.update(a : 5, b

4、: 5, $set : c : 10, upsert : true) db.foo.find() _id : ObjectId(5a014bab2e7289371f61d474), a : 5, b : 5, c : 10 db.collection.update(, , )multi : 犬人falseCRUDupdate Bulk Writedb.collection.bulkWrite( , , . ,writeConcern : ,ordered : )order順序插入數(shù)據(jù),中間出現(xiàn)錯誤則退出Unorder并行插入,遇到錯誤不會退出CRUDupdate Bulk Write 寫關注

5、w: , j: , wtimeout: w : 數(shù)據(jù)寫入節(jié)點后向客戶端確人w: 1 犬人w: 0majority”J : 確人寫操作寫入journalwtimeout: 寫入超時時間,僅w大千1時有效CRUDupdate Bulk Write 寫關注countdb.collection.count()db.collection.find( a: 5, b: 5 ).count()db.collection.aggregate( $match: , $count: myCount )CRUDupdate Bulk Write 寫關注count$inc/post/171353301/using-m

6、ongodb-for-real-time-analytics議程1.連接設置性能相關模型設計架構(gòu)相關模型設計內(nèi)嵌引用富JSON、包含關系、對多更快的查詢性能關聯(lián)數(shù)據(jù)原子更新內(nèi)嵌大星數(shù)據(jù)重復且查詢無法受益多對多大的層級結(jié)構(gòu)模型設計關注、粉絲信息內(nèi)嵌在用戶集合#users_id : Messi, fullname : LeoMessi, country : Argentina,followers : Neymar, C Ronaldo,following : Neymar, C Ronaldo結(jié)構(gòu)清晰查詢快速但是用戶集合增長粉絲數(shù)星劇增(16M)數(shù)組操作代價高模型設計#followers“_id”

7、 : ”O(jiān)bjectId(),”from : Neymar,”to : Messi“_id” : ”O(jiān)bjectId(),”from : C Ronaldo,”to : Messi “_id” : ”O(jiān)bjectId(),”from : Messi,”to : C Ronaldo“_id” : ”O(jiān)bjectId(),”from : Messi,”to : Neymardb.followers.find( from : “Messi”,_id:0, to:1)挴西關注了誰:db.followers.find( to :“Messi”).count()#索引“v” : 1,“key : “fro

8、m” : 1, “to” : 1 , ”name : ”from_1_to_1 挴西有多少粉絲:#索引“v” : 1,“key : “to” : 1, “from” : 1 , ”name : ”to_1_from_1 模型設計分片#索引“v” : 1,“key : “from” : 1, “to” : 1 , ”name : ”from_1_to_1 “v” : 1,“key : “to” : 1, “from” : 1 , ”name : ”to_1_from_1 targeted to shard使用from分片某人關注了誰#followers“_id” : ”O(jiān)bjectId(),”f

9、rom : Neymar,”to : Messi#following“_id” : ”O(jiān)bjectId(),”from : Neymar,”to : Messi原則:平衡應用MongoDB機制 數(shù)據(jù)讀取場景某人被誰關注了scatter-gather to all shards議程1.連接設置性能相關模型設計架構(gòu)相關系統(tǒng)配置版本數(shù)據(jù)一致性網(wǎng)絡安全硬件配置系統(tǒng)配置架構(gòu)OSJournal配置認證與權(quán)限控制內(nèi)存大小和WT Cache內(nèi)核和文件系統(tǒng)選擇復制集壓縮和加密對硬件的要MongoDB臟讀配置通訊加密求啟用NTP分片集Driver寫關注存儲加密SSD和readahead禁用atime壓縮算法選擇網(wǎng)絡監(jiān)聽禁用NUMAulimit配置防火墻SWAP空間禁用Huge Page審計RAID配置禁用SELinuxMongoDB獨立賬戶遠程文件系統(tǒng)TLS/SSL庫https:/do/禁用服務器端腳本manual/administration/pro分散存儲 otesduction-n內(nèi)存過量(VMWare)https:/do/ma連nu接al池/tu大to小rial/TCP KeepAlive

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論