Docs Menu

๋ณต์ œ ์„ธํŠธ ํŽ˜์ผ์˜ค๋ฒ„ ์ค‘ ๋กค๋ฐฑ

๋กค๋ฐฑ์€ ์žฅ์•  ์กฐ์น˜ ํ›„ ๊ตฌ์„ฑ์›์ด ๋ณต์ œ๋ณธ ์„ธํŠธ์— ๋‹ค์‹œ ์ฐธ์—ฌํ•  ๋•Œ ์ด์ „ ๊ธฐ๋ณธ ๊ตฌ์„ฑ์›์— ๋Œ€ํ•œ ์“ฐ๊ธฐ ์ž‘์—…์„ ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋กค๋ฐฑ์€ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ๋ฌผ๋Ÿฌ๋‚˜๊ธฐ ์ „์— ์„ธ์ปจ๋”๋ฆฌ๊ฐ€ ์„ฑ๊ณต์ ์œผ๋กœ ๋ณต์ œํ•˜์ง€ ๋ชปํ•œ ์“ฐ๊ธฐ ์ž‘์—…์„ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์ˆ˜๋ฝํ•œ ๊ฒฝ์šฐ์—๋งŒ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ด ๋ณด์กฐ๋กœ ์„ธํŠธ์— ๋‹ค์‹œ ํ•ฉ๋ฅ˜ํ•˜๋ฉด ์“ฐ๊ธฐ ์ž‘์—…์„ ๋˜๋Œ๋ฆฌ๊ฑฐ๋‚˜ "๋กค๋ฐฑ"ํ•˜์—ฌ ๋‹ค๋ฅธ ๊ตฌ์„ฑ์›๊ณผ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

MongoDB๋Š” ๋กค๋ฐฑ์„ ํ”ผํ•˜๋ ค๊ณ  ์‹œ๋„ํ•˜๋Š”๋ฐ, ์ด๋Š” ๋“œ๋ฌธ ๊ฒฝ์šฐ์ž…๋‹ˆ๋‹ค. ๋กค๋ฐฑ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ ๋„คํŠธ์›Œํฌ ํŒŒํ‹ฐ์…˜์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด์ „ ๊ธฐ๋ณธ์˜ ์ž‘์—… ์ฒ˜๋ฆฌ๋Ÿ‰์„ ๋”ฐ๋ผ์žก์„ ์ˆ˜ ์—†๋Š” ๋ณด์กฐ๋Š” ๋กค๋ฐฑ์˜ ํฌ๊ธฐ์™€ ์˜ํ–ฅ์„ ์ฆ๊ฐ€์‹œํ‚ต๋‹ˆ๋‹ค.

์“ฐ๊ธฐ ์ž‘์—…์ด ๊ธฐ๋ณธ ๊ตฌ์„ฑ์›์ด ๋‚ด๋ ค๊ฐ€๊ธฐ ์ „์— ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋‹ค๋ฅธ ๊ตฌ์„ฑ์›์œผ๋กœ ๋ณต์ œ๋˜๊ณ  ํ•ด๋‹น ๊ตฌ์„ฑ์›์ด ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋Œ€๋ถ€๋ถ„์—์„œ ๊ณ„์† ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๊ณ  ์•ก์„ธ์Šคํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ ๋กค๋ฐฑ์ด ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

createRollbackDataFiles ๋งค๊ฐœ ๋ณ€์ˆ˜๋Š” ๋กค๋ฐฑ ์ค‘์— ๋กค๋ฐฑ ํŒŒ์ผ์„ ์ƒ์„ฑํ• ์ง€ ์—ฌ๋ถ€๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ๋กค๋ฐฑ์ด ๋ฐœ์ƒํ•˜๋ฉด MongoDB๋Š” ๋กค๋ฐฑ ๋ฐ์ดํ„ฐ๋ฅผ BSON ํŒŒ์ผ์— ์”๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๊ฐ€ ๋กค๋ฐฑ๋˜๋Š” ๊ฐ ์ปฌ๋ ‰์…˜์— ๋Œ€ํ•ด ๋กค๋ฐฑ ํŒŒ์ผ์€ <dbpath>/rollback/<collectionUUID> ๋””๋ ‰ํ† ๋ฆฌ์— ์žˆ์œผ๋ฉฐ ํŒŒ์ผ ์ด๋ฆ„์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

removed.<timestamp>.bson

์˜ˆ๋ฅผ ๋“ค์–ด reporting ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์ปฌ๋ ‰์…˜ comments์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋กค๋ฐฑ๋œ ๊ฒฝ์šฐ:

<dbpath>/rollback/20f74796-d5ea-42f5-8c95-f79b39bad190/removed.2020-02-19T04-57-11.0.bson

์—ฌ๊ธฐ์„œ <dbpath>์€ mongod์˜ dbPath์ž…๋‹ˆ๋‹ค.

ํŒ

์ปฌ๋ ‰์…˜ ์ด๋ฆ„

์ปฌ๋ ‰์…˜ ์ด๋ฆ„์„ ์–ป์œผ๋ ค๋ฉด MongoDB ๋กœ๊ทธ์—์„œ rollback file์„ ๊ฒ€์ƒ‰ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋กœ๊ทธ ํŒŒ์ผ์ด /var/log/mongodb/mongod.log์ธ ๊ฒฝ์šฐ grep๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋กœ๊ทธ์—์„œ "rollback file"์˜ ์ธ์Šคํ„ด์Šค๋ฅผ ๊ฒ€์ƒ‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

grep "rollback file" /var/log/mongodb/mongod.log

๋˜๋Š” ๋ชจ๋“  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋ฐ˜๋ณตํ•˜์—ฌ ์ผ์น˜ํ•˜๋Š” ํ•ญ๋ชฉ์ด ๋‚˜์˜ฌ ๋•Œ๊นŒ์ง€ ํŠน์ • UUID์— ๋Œ€ํ•ด db.getCollectionInfos()๋ฅผ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์‹œ:

var mydatabases=db.adminCommand("listDatabases").databases;
var foundcollection=false;
for (var i = 0; i < mydatabases.length; i++) {
let mdb = db.getSiblingDB(mydatabases[i].name);
collections = mdb.getCollectionInfos( { "info.uuid": UUID("20f74796-d5ea-42f5-8c95-f79b39bad190") } );
for (var j = 0; j < collections.length; j++) { // Array of 1 element
foundcollection=true;
print(mydatabases[i].name + '.' + collections[j].name);
break;
}
if (foundcollection) { break; }
}

๋กค๋ฐฑ ์ž‘์—…์ด ์ปฌ๋ ‰์…˜ ์ œ๊ฑฐ ๋˜๋Š” ๋ฌธ์„œ ์‚ญ์ œ์ธ ๊ฒฝ์šฐ ์ปฌ๋ ‰์…˜ ์ œ๊ฑฐ ๋˜๋Š” ๋ฌธ์„œ ์‚ญ์ œ์˜ ๋กค๋ฐฑ์€ ๋กค๋ฐฑ ๋ฐ์ดํ„ฐ ๋””๋ ‰ํ„ฐ๋ฆฌ์— ๊ธฐ๋ก๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ฒฝ๊ณ 

์“ฐ๊ธฐ ์ž‘์—…์ด { w: 1 } ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ์“ฐ๊ธฐ ์ž‘์—…์ด ์™„๋ฃŒ๋˜๊ธฐ ์ „์— ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ๋‹ค์‹œ ์‹œ์ž‘๋˜๋ฉด ๋กค๋ฐฑ ๋””๋ ‰ํ† ๋ฆฌ๋Š” oplog hole ์ดํ›„์— ์ œ์ถœ๋œ ์“ฐ๊ธฐ๋ฅผ ์ œ์™ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋กค๋ฐฑ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ์ฝ์œผ๋ ค๋ฉด bsondump๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ด€๋ฆฌ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋‚ด์šฉ๊ณผ ์ง€์‹์„ ๋ฐ”ํƒ•์œผ๋กœ ์ทจํ•  ๋‹ค์Œ ์กฐ์น˜๋ฅผ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๊ฒฝ์šฐ ์“ฐ๊ธฐ ๊ณ ๋ ค { w: 1 }์€ ํ”„๋ผ์ด๋จธ๋ฆฌ์—์„œ์˜ ์“ฐ๊ธฐ ์ž‘์—… ์Šน์ธ๋งŒ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ์ž‘์—…์ด ์„ธ์ปจ๋”๋ฆฌ์— ๋ณต์ œ๋˜๊ธฐ ์ „์— ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ๊ฐ•๋“ฑ๋˜์—ˆ์„ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ๊ฐ€ ๋กค๋ฐฑ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” { w: 1 } ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ปค๋ฐ‹ํ•˜๋Š” ๋‹ค์ค‘ ๋ฌธ์„œ ํŠธ๋žœ์žญ์…˜์— ์“ฐ์—ฌ์ง„ ๋ฐ์ดํ„ฐ๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

ํด๋ผ์ด์–ธํŠธ์— ์Šน์ธ๋œ ๋ฐ์ดํ„ฐ์˜ ๋กค๋ฐฑ์„ ๋ฐฉ์ง€ํ•˜๋ ค๋ฉด ์ €๋„๋ง์„ ํ™œ์„ฑํ™”ํ•œ ์ƒํƒœ์—์„œ ๋ชจ๋“  ํˆฌํ‘œ ๋…ธ๋“œ๋ฅผ ์‹คํ–‰ํ•˜๊ณ  { w: "majority" } ์“ฐ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์“ฐ๊ธฐ ์ž‘์—…์ด ์‹คํ–‰ํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ์— ์Šน์ธ๊ณผ ํ•จ๊ป˜ ๋ฐ˜ํ™˜๋˜๊ธฐ ์ „์— ๋ณต์ œ๋ณธ ์„ธํŠธ ๋…ธ๋“œ์˜ ๊ณผ๋ฐ˜์ˆ˜๋กœ ์ „ํŒŒ๋˜๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

MongoDB 5.0๋ถ€ํ„ฐ { w: "majority" } ๋Š” ๋Œ€๋ถ€๋ถ„์˜ MongoDB ๋ฐฐํฌ์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ์“ฐ๊ธฐ ๋ฌธ์ œ์ž…๋‹ˆ๋‹ค. Implicit Default Write Concern์„ ์ฐธ์กฐํ•˜์‹ญ์‹œ์˜ค.

writeConcernMajorityJournalDefault๋ฅผ false๋กœ ์„ค์ •ํ•˜๋ฉด MongoDB๋Š” w: "majority" ์“ฐ๊ธฐ๊ฐ€ ๋””์Šคํฌ ์ €๋„์— ์ž‘์„ฑ๋˜๋Š” ๊ฒƒ์„ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์“ฐ๊ธฐ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์ฃผ์–ด์ง„ ๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ๋…ธ๋“œ ๊ณผ๋ฐ˜์ˆ˜ ์ด์ƒ์ด ์ผ์‹œ์ ์œผ๋กœ ์†์‹ค๋œ ๊ฒฝ์šฐ(์ถฉ๋Œ, ์žฌ์‹œ์ž‘ ๋“ฑ), "majority" ์“ฐ๊ธฐ ์ž‘์—…์ด ๋กค๋ฐฑ๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์“ฐ๊ธฐ์˜ ์“ฐ๊ธฐ ๊ณ ๋ ค์™€ ๊ด€๊ณ„์—†์ด "local" ๋˜๋Š” "available" ์ฝ๊ธฐ ๊ณ ๋ ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋‹ค๋ฅธ ํด๋ผ์ด์–ธํŠธ๋Š” ์“ฐ๊ธฐ ์ž‘์—…์ด ์‹คํ–‰ ํด๋ผ์ด์–ธํŠธ์— ์Šน์ธ๋˜๊ธฐ ์ „์— ์“ฐ๊ธฐ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • "local" "available" 2} ๋˜๋Š” ์ฝ๊ธฐ ์šฐ๋ ค๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํด๋ผ์ด์–ธํŠธ๋Š” ๋ณต์ œ๋ณธ ์„ธํŠธ ์žฅ์•  ์กฐ์น˜ ์ค‘์— ๋‚˜์ค‘์— ๋กค๋ฐฑ๋  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์ค‘ ๋ฌธ์„œ ํŠธ๋žœ์žญ์…˜ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜๋ฉด ํŠธ๋žœ์žญ์…˜์—์„œ ์ด๋ฃจ์–ด์ง„ ๋ชจ๋“  ๋ฐ์ดํ„ฐ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ €์žฅ๋˜๊ณ  ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์—์„œ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํŠธ๋žœ์žญ์…˜์€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์„ ๋กค๋ฐฑํ•˜๋Š” ๋™์•ˆ ์ผ๋ถ€ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋  ๋•Œ๊นŒ์ง€ ํŠธ๋žœ์žญ์…˜์—์„œ ๋ณ€๊ฒฝ๋œ ๋ฐ์ดํ„ฐ๋Š” ํŠธ๋žœ์žญ์…˜ ์™ธ๋ถ€์— ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ํŠธ๋žœ์žญ์…˜์ด ์—ฌ๋Ÿฌ ์ƒค๋“œ์— ์“ฐ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ, ๋ชจ๋“  ์™ธ๋ถ€ ์ฝ๊ธฐ ์ž‘์—…์ด ์ปค๋ฐ‹๋œ ํŠธ๋žœ์žญ์…˜์˜ ๊ฒฐ๊ณผ๊ฐ€ ์ƒค๋“œ ์ „์ฒด์— ํ‘œ์‹œ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆด ํ•„์š”๋Š” ์—†์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜๊ณ  ์“ฐ๊ธฐ 1์ด ์ƒค๋“œ A์— ํ‘œ์‹œ๋˜์ง€๋งŒ ์“ฐ๊ธฐ 2๊ฐ€ ์ƒค๋“œ B์— ์•„์ง ํ‘œ์‹œ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ, ์ฝ๊ธฐ ๊ณ ๋ ค "local"์˜ ์™ธ๋ถ€ ์ฝ๊ธฐ๋Š” ์“ฐ๊ธฐ 2๋ฅผ ๋ณด์ง€ ์•Š๊ณ  ์“ฐ๊ธฐ 1์˜ ๊ฒฐ๊ณผ๋ฅผ ์ฝ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฒ„์ „ 4.2๋ถ€ํ„ฐ MongoDB๋Š” ๋ฉค๋ฒ„๊ฐ€ ROLLBACK ์ƒํƒœ์— ๋“ค์–ด๊ฐ€๋ฉด ์ง„ํ–‰ ์ค‘์ธ ๋ชจ๋“  ์‚ฌ์šฉ์ž ์ž‘์—…์„ ์ข…๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์ธ๋ฑ์Šค ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์ฑ„์›Œ์ง„ ์ปฌ๋ ‰์…˜์˜ ์ธ๋ฑ์Šค ๋นŒ๋“œ๋ฅผ์ฐธ์กฐํ•˜์„ธ์š”.

"majority" ์ฝ๊ธฐ ๋ฌธ์ œ๋ฅผ ๋น„ํ™œ์„ฑํ™”ํ•˜๋ฉด ์ธ๋ฑ์Šค๋ฅผ ์ˆ˜์ •ํ•˜๋Š” collMod ๋ช…๋ น์ด ๋กค๋ฐฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์„ ๋กค๋ฐฑํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ ์˜ํ–ฅ์„ ๋ฐ›๋Š” ๋…ธ๋“œ๋ฅผ ํ”„๋ผ์ด๋จธ๋ฆฌ ๋…ธ๋“œ์™€ ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

MongoDB๋Š” ํฌ๊ธฐ ์ œํ•œ์ด ๋‹ค๋ฅธ ๋‹ค์Œ ๋กค๋ฐฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • ํƒ€์ž„์Šคํƒฌํ”„๋กœ ๋ณต๊ตฌํ•˜๋ฉด ์ด์ „ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์ผ๊ด€๋œ ์‹œ์ ์œผ๋กœ ๋˜๋Œ์•„๊ฐ€ ๋™๊ธฐํ™” ์†Œ์Šค์˜ ๊ธฐ๋ก๋œ ๋ถ„๊ธฐ๋ฅผ ๋”ฐ๋ผ์žก์„ ๋•Œ๊นŒ์ง€ ์ž‘์—…์„ ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๊ธฐ๋ณธ ๋กค๋ฐฑ ์•Œ๊ณ ๋ฆฌ์ฆ˜์ž…๋‹ˆ๋‹ค.

    ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๋•Œ MongoDB๋Š” ๋กค๋ฐฑํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐ์ดํ„ฐ์˜ ์–‘์„ ์ œํ•œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

  • ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํ†ตํ•œ ๋กค๋ฐฑ์€ ์ด์ „ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์ž์‹ ์˜ oplog์™€ ๋™๊ธฐํ™” ์†Œ์Šค์˜ oplog ์‚ฌ์ด์˜ ๊ณตํ†ต์ ์„ ์ฐพ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๋…ธ๋“œ๋Š” ์ด ๊ณตํ†ต์ ์— ๋„๋‹ฌํ•  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น oplog์˜ ๋ชจ๋“  ์ž‘์—…์„ ๊ฒ€์‚ฌํ•˜๊ณ  ๋˜๋Œ๋ฆฝ๋‹ˆ๋‹ค. ๋‹ค์‹œ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ํ†ตํ•œ ๋กค๋ฐฑ์€ ๊ตฌ์„ฑ ํŒŒ์ผ์˜ enableMajorityReadConcern ์„ค์ •์ด false๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

    ์ด ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์‚ฌ์šฉํ•  ๋•Œ MongoDB๋Š” ์ตœ๋Œ€ 300MB์˜ ๋ฐ์ดํ„ฐ๋งŒ ๋กค๋ฐฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

    ์ฐธ๊ณ 

    MongoDB 5.0๋ถ€ํ„ฐ enableMajorityReadConcern์€ true๋กœ ์„ค์ •๋˜๋ฉฐ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋กค๋ฐฑ ์‹œ๊ฐ„ ์ œํ•œ์€ ๊ธฐ๋ณธ๊ฐ’์ด 24์‹œ๊ฐ„์ด๋ฉฐ rollbackTimeLimitSecs ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB๋Š” ๊ฒฝ๊ณผ ์‹œ๊ฐ„์„ oplogs์˜ ์ฒซ ๋ฒˆ์งธ ๊ณตํ†ต ์กฐ์ž‘๊ณผ ๋กค๋ฐฑ ์ค‘์ธ ๋ฉค๋ฒ„์˜ oplog์˜ ๋งˆ์ง€๋ง‰ ํ•ญ๋ชฉ ์‚ฌ์ด์˜ ์‹œ๊ฐ„์œผ๋กœ ์ธก์ •ํ•ฉ๋‹ˆ๋‹ค.