日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

部署MongoDB集群

發(fā)布時間:2024/9/16 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 部署MongoDB集群 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

處理多種常見的故障

單節(jié)點失效,如何恢復(fù)工作

數(shù)據(jù)庫意外被殺死如何進行數(shù)據(jù)恢復(fù)

數(shù)據(jù)庫發(fā)生拒絕服務(wù)如何排查原因

數(shù)據(jù)庫磁盤快滿時如何處理

MongoDB

無數(shù)據(jù)結(jié)構(gòu)限制:

1. 沒有表結(jié)構(gòu)的概念,每條記錄可以有完全不同的結(jié)構(gòu)

2. 業(yè)務(wù)開發(fā)方便快捷

3. Sql數(shù)據(jù)庫需要事先定義表結(jié)構(gòu)在使用

{name:”小明”,sex:”man”}

{name:”小紅”,address:”shanghai”}

{name:”小蘭”,home:[{“山東”},{“江西”}]}

完全的索引支持

1. redis的key-value

2. hbase的單索引,二級索引需要自己實現(xiàn),寫入速度快,但是查詢速度慢

3. 方便的冗余與擴展

a) 復(fù)制集保證數(shù)據(jù)安全

b) 分片擴展數(shù)據(jù)規(guī)模

基本操作

連接:mongo 127.0.0.1:27017

查看有多少數(shù)據(jù)庫:show dbs

使用use切換數(shù)據(jù)庫:use Vincent

刪除數(shù)據(jù)庫:db.dropDatabase()

在次使用命令:use imooc,

在使用use之前我們不需要對數(shù)據(jù)庫進行額外的創(chuàng)建,mongod會在需要的時候自己創(chuàng)建。在Mongo中我們將一張表稱作一個集合。

在mongodb中如何進行寫入:db.imooc_collection.insert({x:1}),這個insert中接入?yún)?shù),格式為json(json是一種很流行的數(shù)據(jù)結(jié)構(gòu),是用可嵌套的鍵值對存儲數(shù)據(jù))

使用show collections 可以查看我們之前創(chuàng)建的表

查詢語句:db.imooc_collection.find(),查詢條件可以為空

‘_id’字段是mongodb自己生成的字段,在全局范圍內(nèi)不會重復(fù),在分布式數(shù)據(jù)庫中一定要有一個全局唯一的字段來進行數(shù)據(jù)處理,我們也可以自己制定_id字段,但是不能重復(fù)

使用js語句進行插入數(shù)據(jù),

條件查詢:查詢3以后的2條數(shù)據(jù),并按x排序

數(shù)據(jù)的更新:db.imooc_collection.update({x:1},{x:999})

查詢,發(fā)現(xiàn)更新成功

插入語句,然后更新z為100的那條數(shù)據(jù)中的y為99,而x不變

當我們更新不存在的數(shù)據(jù)時,如果要插入這條數(shù)據(jù),設(shè)置參數(shù)為true,就會插入

更新多條數(shù)據(jù)時,mongodb只會更新第一條數(shù)據(jù),首先插入3條相同的數(shù)據(jù)

然后執(zhí)行命令db.imooc_collection.update({c:1},{c:2})

Mongodb這樣設(shè)計是為了防止不小心的誤操作。

如果想更新多條數(shù)據(jù),

db.collection.update( criteria, objNew, upsert, multi )

criteria : update的查詢條件,類似sql update查詢內(nèi)where后面的

objNew : update的對象和一些更新的操作符(如$,$inc...)等,也可以理解為sql update查詢內(nèi)set后面的

upsert : 這個參數(shù)的意思是,如果不存在update的記錄,是否插入objNew,true為插入,默認是false,不插入。

multi : mongodb默認是false,只更新找到的第一條記錄,如果這個參數(shù)為true,就把按條件查出來多條記錄全部更新。

這樣就實現(xiàn)了更新多條數(shù)據(jù)

刪除操作:db.imooc_collection.find({c:2})

show tables /show collections 當前數(shù)據(jù)庫的集合

創(chuàng)建索引:在數(shù)據(jù)量較大時不使用索引,查詢較慢

使用命令:db.imooc_collection.getIndexes()查看索引使用情況

創(chuàng)建索引

創(chuàng)建x:1的索引。查詢高效

索引的種類與使用

l _id索引是絕大多數(shù)集合默認建立的索引

對于每個插入的數(shù)據(jù),MongoDB都會自動生成一條唯一的_id字段

l 單鍵索引

單鍵索引是最普通的索引,與_id索引不同,單鍵索引不會自動創(chuàng)建

l 多鍵索引與單鍵索引創(chuàng)建形式相同,區(qū)別在于字段的值

單鍵索引:值為一個單一的值,例如字符串,數(shù)字或者日期

多鍵索引:值具有多個記錄,例如數(shù)組。

l 復(fù)合索引

當我們的查詢條件不只有一個時,就需要建立復(fù)合索引

l 過期索引:是在一段時間后會過期的索引

在索引過期后,相應(yīng)的數(shù)據(jù)會被刪除

這適合存儲一些在一段時間之后會失效的數(shù)據(jù),比如用戶的東路信息,存儲的日志

建立方法:db.collection.ensureIndex({time:1},{expireAfterSeconds:10})

注意:存儲在過期索引字段的值必須是指定的時間類型

必須是ISODate或者ISODate數(shù)組,不能使用時間戳,否則不能被自動刪除

如果指定了ISODate數(shù)組,則按照最小的時間進行刪除

過期索引不能是復(fù)合索引。

刪除時間不是精確的。刪除過程是由后臺程序每60s跑一次,而且刪除也需要一些時間,所以存在誤差

索引的匹配規(guī)則

如何建立合適的索引

總結(jié)

以上是生活随笔為你收集整理的部署MongoDB集群的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。