国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

? ??? ??? ??DB MongoDB ??? ??? ?? ? ?? ??? ?? ???? ?????.

MongoDB ??? ??? ?? ? ?? ??? ?? ???? ?????.

Dec 21, 2020 pm 06:01 PM
mongodb

MongoDB Tutorial?? ??? ???? ?? ?? ??

MongoDB ??? ??? ?? ? ?? ??? ?? ???? ?????.

??(??): MongoDB Tutorial

?? ??? ???? ?? ??

1. ?????. data
?? ?? ???? mongo_dump/mongo_restore ???? ??? ??? ? ??? ?? ??? ??? ?? ??? ???? ????? ????. mongo_dump/mongo_restore 工具也可以實現(xiàn)備份,但是畢竟沒有復(fù)制集的自動同步備份方便。

2.故障自動轉(zhuǎn)移
部署了復(fù)制集,當(dāng)主節(jié)點掛了后,集群會自動投票再從節(jié)點中選舉出一個新的主節(jié)點,繼續(xù)提供服務(wù)。而且這一切都是自動完成的,對運維人員和開發(fā)人員是透明的。當(dāng)然,發(fā)生故障了還是得人工及時處理,不要過度依賴復(fù)制集,萬一都掛了,那就連喘息的時間都沒有了。

3.在某些特定的場景下提高讀性能
默認(rèn)情況下,讀和寫都只能在主節(jié)點上進(jìn)行。
下面是MongoDB的客戶端支持5種復(fù)制集讀選項:

  • primary:默認(rèn)模式,所有的讀操作都在復(fù)制集的 主節(jié)點 進(jìn)行的。
  • primaryPreferred:在大多數(shù)情況時,讀操作在 主節(jié)點 上進(jìn)行,但是如果主節(jié)點不可用了,讀操作就會轉(zhuǎn)移到 從節(jié)點 上執(zhí)行。
  • secondary:所有的讀操作都在復(fù)制集的 從節(jié)點 上執(zhí)行。
  • secondaryPreferred:在大多數(shù)情況下,讀操作都是在 從節(jié)點 上進(jìn)行的,但是當(dāng) 從節(jié)點 不可用了,讀操作會轉(zhuǎn)移到 主節(jié)點 上進(jìn)行。
  • nearest:讀操作會在 復(fù)制集 中網(wǎng)絡(luò)延時最小的節(jié)點上進(jìn)行,與節(jié)點類型無關(guān)。

來源:http://docs.mongoing.com/manual-zh/core/re...

不推薦在從節(jié)點上進(jìn)行讀操作,因為從節(jié)點上的數(shù)據(jù)可能不是最新數(shù)據(jù)(主要原因)。
在從節(jié)點上進(jìn)行讀操作的場景很有限,官方手冊中寫明了適用的場景和不推薦從節(jié)點讀操作的多個原因:http://docs.mongoing.com/manual-zh/core/re...

說說我自己的看法:復(fù)制集并不是為了提高讀性能而存在的,除了個別場景,不推薦在從節(jié)點上進(jìn)行讀操作。如果想提升讀性能,那么請使用索引和分片。插一句,如果數(shù)據(jù)規(guī)模不大,就沒必要使用分片了。我們線上數(shù)據(jù)庫中單個集合記錄有將近 2 億條,性能還比較 OK(當(dāng)然,機器配置也不差,而且上面就只跑了一個 Redis 和一個 MongoDB)。

如何部署復(fù)制集

請看手冊:http://docs.mongoing.com/manual-zh/tutoria...

如何在程序中使用 MongoDB 復(fù)制集故障自動轉(zhuǎn)移的特性

以 PHP 的 mongo 驅(qū)動為例。

$client?=?new?MongoClient('mongodb://192.168.1.2:27018,192.168.1.3:27019,192.168.1.4:27020',?array('replicaSet'?=>?'rs0'));

這樣配置后,如果只是其中一臺 MongoDB 服務(wù)掛斷后,剩余的節(jié)點會自動選舉出新的主節(jié)點,程序還是可以繼續(xù)正常運行。在選舉的過程中,程序還是會拋出異常的,盡管選舉過程很快,但是為了程序的健壯性,必須考慮異常的處理。當(dāng)然,如果選舉不出新的主節(jié)點,那么整個 MongoDB 就不可用了。(根據(jù)上面講的,如果復(fù)制集的讀選項是配置的 primaryPreferred。如果沒有了主節(jié)點,但是從節(jié)點還可用的話,那么讀操作將轉(zhuǎn)移到從節(jié)點上去,這樣整個 MongoDB 復(fù)制集還能提供讀操作服務(wù))

其實如果指定了復(fù)制集名 'replicaSet' => 'rs0',那么就算不列出所有節(jié)點地址,僅寫一個有效節(jié)點地址,mongo 驅(qū)動會自動獲取到所有有效節(jié)點,$client->getHosts() 方法可以查看所有有效節(jié)點的地址。

但是如果你只寫了一個節(jié)點地址,剛好是那個節(jié)點掛掉了,那就連不上了。所有我建議配置完整的節(jié)點地址列表。

同步的原理是什么

開啟復(fù)制集后,會在 local 庫下生成一個集合叫 oplog.rs

2. ?? ?? ?????? ??? ?????. ??? ??? ??? ???? ????? ???? ?? ???? ?? ???? ? ??? ??? ????? ???? ?????. ??? ? ?? ??? ?? ? ????? ???? ???? ?????. ??, ??? ?????? ??? ???? ???? ???. ??? ??? ?? ?? ???? ????. ?? ???? ?? ? ???? ????. ????3. ?? ?? ?????? ?? ?? ????????? ?? ? ??? ?? ??? ????? ??? ? ????. ????? MongoDB ??????? ???? 5?? ??? ?? ?? ?????. ??
  • ??: ?? ??, ?? ?? ??? ??? ??? ?? ???? ?????.
  • primaryPreferred: ???? ?? ?? ??? ?? ???? ????? ?? ??? ??? ? ?? ?? ?? ??? ???? ??? ???? ?????.
  • ??: ?? ?? ??? ??? ??? ???? ???? ?????.
  • SecondaryPreferred: ???? ?? ?? ??? ???? ???? ????? ???? ??? ??? ? ?? ?? ?? ??? ?? ??? ?????.
  • nearest: ?? ??? ???? ?? ???? ???? ??? ?? ?? ???? ?? ??? ?????.
????: http://docs.mongoing.com/manual-zh/core/re...?????????? ??????? ?? ??? ???? ?? ?? ????. ???? ?? ???? ?? ?? ????(?? ??). ?????? ???? ?? ??? ?? ????? ?? ??????. ?? ????? ?? ??? ????? ???? ???? ?? ??? ???? ?? ?? ?? ??? ?? ????. http://docs.mongoing.com/manual-zh/core/re ...???? ? ??? ??????, ? ?? ????? ????? ???? ???? ?? ??? ???? ?? ???? ????. ?? ??? ?????? ???? ??? ?????. ??? ??? ??? ?? ??? ??? ??? ??? ????. ?? ??? ???????? ?? 2? ?? ?? ??? ???? ??? ??? ??? ????(?? ??? ??? ??? ?? Redis? MongoDB? ??? ???? ????). ???????? ?? ?? ???????????? ?????: http://docs.mongoing.com/manual-zh/tutoria... ??????MongoDB ??? ??? ?? ?? ?? ??? ???? ?? ???????? ??PHP? mongo ????? ?? ???????. ??
journal?=?false
smallfiles?=?true
noprealloc?=?true
??? ?? ?? MongoDB ??? ? ??? ???? ??? ??? ???? ? ??? ??? ???? ????? ???? ????? ??? ? ????. ?? ???? ?? ????? ??? ????? ??????. ?? ????? ???? ????? ???? ?? ?? ??? ???? ???. ??, ??? ??? ??? ??? ? ??? ?? MongoDB? ??? ? ?? ???. (?? ??? ???, ???? ?? ?? ??? primaryPreferred? ???? ?? ??. ?? ??? ??? ???? ??? ??? ?? ??? ?? ?? ??? ?? ??? ?????. ???? ??? ???? MongoDB ??? ?? ?? ???? ??? ? ??? ???)??????? ??? ?? ?? 'replicaSet' => 'rs0'? ???? ?? ?? ??? ???? ?? ??? ??? ?? ??? ???? mongo ????? ???? ?? ??? ??? ?? $client->getHosts() ???? ?? ??? ??? ??? ? ? ????. ??. ??????? ?? ??? ??? ??? ?? ??? ???? ??? ? ????. ???? ???? ?? ?? ?? ?? ??? ???? ??????. ????????? ??? ?????? ???????? ??? ?? local ????? ??? oplog.rs?? ??? ?????. ?????? ???? ??????. ??????? ?? ?? ?? ??? ? ???? ?????. ?? ??? ??? ?? ??? oplog? ?? ??? ???? ?????. ??

舉個例子:
用客戶端向主節(jié)點添加了 100 條記錄,那么 oplog 中也會有這 100 條的 insert 記錄。從節(jié)點通過獲取主節(jié)點的 oplog,也執(zhí)行這 100 條 oplog 記錄。這樣,從節(jié)點也就復(fù)制了主節(jié)點的數(shù)據(jù),實現(xiàn)了同步。

需要說明的是:并不是從節(jié)點只能獲取主節(jié)點的 oplog。

為了提高復(fù)制的效率,復(fù)制集中所有節(jié)點之間會互相進(jìn)行心跳檢測(通過ping)。每個節(jié)點都可以從任何其他節(jié)點上獲取oplog。

還有,用一條語句批量刪除 50 條記錄,并不是在 oplog 中只記錄一條數(shù)據(jù),而是記錄 50 條單條刪除的記錄。

oplog中的每一條操作,無論是執(zhí)行一次還是多次執(zhí)行,對數(shù)據(jù)集的影響結(jié)果是一樣的,i.e 每條oplog中的操作都是冪等的。

什么情況下需要重新同步

在上一個問題中得知:oplog 大小是固定的,而且 oplog 里面的記錄數(shù)不一定和節(jié)點中的數(shù)據(jù)量成正比。那么,新記錄肯定會將前面的老記錄給覆蓋。

如果,有天一個從節(jié)點掛了,其他節(jié)點還在正常運行,繼續(xù)有寫操作,oplog 繼續(xù)增長。而這個掛掉的節(jié)點一直不能從其他節(jié)點那里同步最新的 oplog 記錄,當(dāng)其他節(jié)點的 oplog 已經(jīng)發(fā)生的覆蓋。即使這個從節(jié)點后來恢復(fù)了正常,也不會和其他節(jié)點保持?jǐn)?shù)據(jù)一致了。因為,覆蓋的就永遠(yuǎn)回不來了。

那么,這個時候就得重新同步了。恩,回不去的就永遠(yuǎn)回不去了,再找個新的重新開始吧。(逃

如何重新同步

參見:復(fù)制集成員的重新同步

什么時候應(yīng)該使用投票節(jié)點

當(dāng)復(fù)制集中有偶數(shù)個節(jié)點時,應(yīng)該再加一個投票節(jié)點,用于打破投票僵局。

比如:我線上共有3臺服務(wù)器,其中1臺是作為 Web 服務(wù)器;其余2臺作為 DB 服務(wù)器,各部署了1個MongoDB節(jié)點,構(gòu)成了2個節(jié)點的復(fù)制集。這個時候,我并沒有多余的機器了。在這個情況下,如果任意一臺 DB 服務(wù)器上的 MongoDB 掛了,那么另外一臺的 MongoDB 必然變?yōu)?SECONDARY 節(jié)點,那么就意味著 MongoDB 是不可用的了。為了避免這種情況,提高服務(wù)的可用性,可以在 Web 服務(wù)器上部署一個投票節(jié)點。投票節(jié)點并不存儲數(shù)據(jù),因此不能升職為 PRIMARY 節(jié)點,它對于硬件資源要求很低,并不會對 Web 服務(wù)器上的其他程序產(chǎn)生太大影響。這種情況下,如果任意一臺 DB 服務(wù)器掛了,另外一臺服務(wù)器上的 MongoDB 將成為 PRIMARY 節(jié)點,此時 MongoDB 還是依舊對外提供服務(wù)的。乘此時機,趕緊排查出故障的那臺服務(wù)器的原因,盡快恢復(fù)服務(wù)。

為了讓投票節(jié)點可以占用更少的資源,可以在配置文件中添加以下幾個配置項:

journal?=?false
smallfiles?=?true
noprealloc?=?true

主從復(fù)制

master-slave 復(fù)制架構(gòu)已經(jīng)不推薦使用了,建議使用 replica sets 復(fù)制集架構(gòu)。
參見:http://docs.mongoing.com/manual-zh/core/ma...

? ??? MongoDB ??? ??? ?? ? ?? ??? ?? ???? ?????.? ?? ?????. ??? ??? PHP ??? ????? ?? ?? ??? ?????!

? ????? ??
? ?? ??? ????? ???? ??? ??????, ???? ?????? ????. ? ???? ?? ???? ?? ??? ?? ????. ???? ??? ???? ???? ??? ?? admin@php.cn?? ?????.

? AI ??

Undresser.AI Undress

Undresser.AI Undress

???? ?? ??? ??? ?? AI ?? ?

AI Clothes Remover

AI Clothes Remover

???? ?? ???? ??? AI ?????.

Video Face Swap

Video Face Swap

??? ??? AI ?? ?? ??? ???? ?? ???? ??? ?? ????!

???

??? ??

???++7.3.1

???++7.3.1

???? ?? ?? ?? ???

SublimeText3 ??? ??

SublimeText3 ??? ??

??? ??, ???? ?? ????.

???? 13.0.1 ???

???? 13.0.1 ???

??? PHP ?? ?? ??

???? CS6

???? CS6

??? ? ?? ??

SublimeText3 Mac ??

SublimeText3 Mac ??

? ??? ?? ?? ?????(SublimeText3)

???

??? ??

?? ????
1742
16
Cakephp ????
1596
56
??? ????
1536
28
PHP ????
1396
31
???
Composer? ???? ?? ???? ???? ?????? : Andres-Montanez/?? ??-?? Composer? ???? ?? ???? ???? ?????? : Andres-Montanez/?? ??-?? Apr 18, 2025 am 11:48 AM

?? ??? ? ???? ??? ? ??? ??? ??????. ????? ??? ? ?? ?? ??? ???? ??. ???? ??? ?? ????? ????? ??? ????? ???? ??? ????? ??? ?????. ?? ???? ???? ???? ????? ???? ???? ???? ????? ??????. ????? Composer? ?? Andres-Montanez/Residations-Bundle? ???? ??? ?????? ??? ?? ???? ??? ?? ?? ?????. ?? ??? ?? ???? ?? ? ????.

Centos?? Gitlab ? ??????? ???? ?? Centos?? Gitlab ? ??????? ???? ?? Apr 14, 2025 pm 04:48 PM

CentOS ???? GitLab ?????? ?? ??? ??? ??????? ???? ?? GitLab? ????? ???? ? ??? ?????. Gitlab? MySQL, PostgreSQL ? MongoDB? ??? ??? ??????? ?????. ? ??? ??? ??????? ???? ???? ??? ??? ?????. ?????? ?? ?? ?? MySQL : ?? ???? RDBMS (Relational Database Management System). PostgreSQL : ??? ?? ?? RDBM? ??? ?? ? ?? ??? ???? ?? ??? ??? ???? ? ?????. MongoDB : ???? NOSQL ??????, ?? ??? ?????

Mongodb vs. Oracle : ?? ??? ?? Mongodb vs. Oracle : ?? ??? ?? Apr 16, 2025 am 12:01 AM

MongoDB? ??? ??? ???? ???? ? ???? Oracle? ?? ???? ??? ?????? ??? ?? ????? ?????. 1. MongoDB? ??? ?? ??? ??? ??? ???? ???? ?????. 2. Oracle? ???? ??? ???? ???? ?? ???? ?????. 3. MongoDB? ?? ??? ???? Oracle? ??? ??? ?????. 4. MongoDB? ?? ??? ?? ????? ????? Oracle? ?????? ??? ?? ????? ?????.

Mongodb vs. Oracle : ??? ?? ??? ?????? ?? Mongodb vs. Oracle : ??? ?? ??? ?????? ?? Apr 22, 2025 am 12:10 AM

MongoDB? ????? ?? ??? ? ?? ?? ? ?? ??? ??? ?? Oracle? ??? ??? ???? ??? ????? ?????. 1. MongoDB? ?? ??? ? ?? ???? ??? ??? ???? ???? ???? ?????. 2. Oracle ??? ? ??? ??? ??? ???? ???? ?? ??? ?????. 3. MongoDB? ??? ?? ???? ???, RAC? ?? ???? ??? ???????. 4. MongoDB? ?? ?? ??? ?? ? Oracle? ?? ?? ??? ??? ??? ?????.

Centos Mongodb ?? ??? ?????? Centos Mongodb ?? ??? ?????? Apr 14, 2025 pm 04:51 PM

CentOS ??? ??? MongoDB ???? ?? ??? ?? ??? ??? ??? CentOS ????? MongoDB ??? ?????? ??? ??? ??? ???? ??? ?? ? ???? ???? ?? ? ????. Docker ???? ???? ?? ??, ??? ??? ??, ?? ???? ?? ? ?? ???? ??? ?? ?? ????? ?? ??? ?????. ?? ?? : MongoDump ??? ???? Manual ?? ??? ?????? (? : Mongodump-HlocalHost : 27017-U username-P password-d ?????? ?? -o/?? ????? ??? ??? ??????? ??? ? ?? ???? ??? ?? ????? ???????.

MongoDB?? ???? ???? ?? MongoDB?? ???? ???? ?? Apr 12, 2025 am 08:51 AM

MongoDB ???? ????? ?? ??? ?????. 1. ??? ???? ??? ???? ????. 2. ????? ??? ??? ?? ? ??????? ??????. 3. CreateUser ??? ???? ???? ???? ??? ?? ? ?????? ??? ??? ??????. 4. GetUsers ??? ???? ?? ? ???? ??????. 5. ????? ?? ???? ?? ?? ??? ????? ??? ??? ?????.

MongoDB? ???? ?? MongoDB? ???? ?? Apr 12, 2025 am 08:39 AM

Debian MongoDB?? ???? ????? ?? Debian MongoDB?? ???? ????? ?? Apr 12, 2025 pm 08:03 PM

??? ????? MongoDB ??????? ?????? ?? ??? ?? ?????. 1 ?? : ?? MongoDB ?? ?? Debian ???? MongoDB? ???? ??? ??????. ??? ?? ?? ????? ?? MongoDB ??? ?????? : https://docs.mongodb.com/manual/tutorial/install-mongodb-ondodb-on-debian/step 2 : ??? ? ?? ?? ??? ?? ???? ??? ????.

See all articles