Docs Menu
Docs Home
/
MongoDB ๋งค๋‰ด์–ผ
/

๋ณต์ œ๋ณธ ์„ธํŠธ Oplog

์ด ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ

  • Oplog ํฌ๊ธฐ
  • ๋” ํฐ Oplog ํฌ๊ธฐ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ๋Š” ์›Œํฌ๋กœ๋“œ
  • Oplog Status
  • ์ €์† oplog ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜
  • Oplog ์ปฌ๋ ‰์…˜ ๋™์ž‘

oplog(์ž‘์—… ๋กœ๊ทธ)๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ชจ๋“  ์ž‘์—…์˜ ๋กค๋ง ๊ธฐ๋ก์„ ๋ณด๊ด€ํ•˜๋Š” ํŠน์ˆ˜ํ•œ ๊ณ ์ • ์‚ฌ์ด์ฆˆ ์ปฌ๋ ‰์…˜ ์ž…๋‹ˆ๋‹ค. ์“ฐ๊ธฐ ์ž‘์—…์ด ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜์ง€ ์•Š๊ฑฐ๋‚˜ ์‹คํŒจํ•˜๋ฉด oplog ํ•ญ๋ชฉ์ด ์ƒ์„ฑ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋‹ค๋ฅธ ์ œํ•œ์ด ์žˆ๋Š” ์ปฌ๋ ‰์…˜๊ณผ ๋‹ฌ๋ฆฌ, oplog๋Š” majority commit point์‚ญ์ œ๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ตฌ์„ฑ๋œ ํฌ๊ธฐ ์ œํ•œ์„ ์ดˆ๊ณผํ•˜์—ฌ ์ปค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

MongoDB๋Š” ํ”„๋ผ์ด๋จธ๋ฆฌ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ์‚ฐ์„ ์ ์šฉํ•œ ํ›„ ํ”„๋ผ์ด๋จธ๋ฆฌ์˜ oplog์— ์—ฐ์‚ฐ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋ฉด ์„ธ์ปจ๋”๋ฆฌ ๋…ธ๋“œ๊ฐ€ ๋น„๋™๊ธฐ ํ”„๋กœ์„ธ์Šค๋กœ ์ด๋Ÿฌํ•œ ์—ฐ์‚ฐ์„ ๋ณต์‚ฌํ•˜๊ณ  ์ ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ณต์ œ๋ณธ ์„ธํŠธ ๋…ธ๋“œ๋Š” local.oplog.rs collection์— oplog์˜ ์‚ฌ๋ณธ์„ ํฌํ•จํ•˜๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ˜„์žฌ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์ œ๋ฅผ ์ด‰์ง„ํ•˜๊ธฐ ์œ„ํ•ด ๋ชจ๋“  ๋ณต์ œ๋ณธ ์„ธํŠธ ๊ตฌ์„ฑ์›์€ ๋‹ค๋ฅธ ๋ชจ๋“  ๊ตฌ์„ฑ์›์—๊ฒŒ ํ•˜ํŠธ๋น„ํŠธ(ํ•‘)๋ฅผ ๋ณด๋ƒ…๋‹ˆ๋‹ค. ๋ชจ๋“  ๋ณด์กฐ ๋ฉค๋ฒ„๋Š” ๋‹ค๋ฅธ ๋ฉค๋ฒ„๋กœ๋ถ€ํ„ฐ oplog ํ•ญ๋ชฉ์„ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

oplog์˜ ๊ฐ ์ž‘์—…์€ ๋ฉฑ๋“ฑ์„ ๊ฐ–์Šต๋‹ˆ๋‹ค. ์ฆ‰, oplog ์ž‘์—…์€ ๋Œ€์ƒ ๋ฐ์ดํ„ฐ์„ธํŠธ์— ํ•œ ๋ฒˆ ์ ์šฉํ•˜๋“  ์—ฌ๋Ÿฌ ๋ฒˆ ์ ์šฉํ•˜๋“  ๋™์ผํ•œ ๊ฒฐ๊ณผ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋ณต์ œ๋ณธ ์„ธํŠธ ๋ฉค๋ฒ„๋ฅผ ์ฒ˜์Œ ์‹œ์ž‘ํ•  ๋•Œ oplog ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•˜์ง€ ์•Š์œผ๋ฉด MongoDB๊ฐ€ ๊ธฐ๋ณธ ํฌ๊ธฐ์˜ oplog๋ฅผ ๋งŒ๋“ญ๋‹ˆ๋‹ค.

Unix ๋ฐ Windows ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ

๊ธฐ๋ณธ oplog ํฌ๊ธฐ๋Š” ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค:

์Šคํ† ๋ฆฌ์ง€ ์—”์ง„
๊ธฐ๋ณธ oplog ํฌ๊ธฐ

๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„์˜ 5%

๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ 5%

๊ธฐ๋ณธ oplog ํฌ๊ธฐ์—๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์ œ์•ฝ ์กฐ๊ฑด์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ตœ์†Œ oplog ํฌ๊ธฐ๋Š” 990MB์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„ ๋˜๋Š” ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ 5%(์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ๊ฐ’)๊ฐ€ 990MB๋ณด๋‹ค ์ž‘์€ ๊ฒฝ์šฐ ๊ธฐ๋ณธ oplog ํฌ๊ธฐ๋Š” 990MB์ž…๋‹ˆ๋‹ค.

  • ์ตœ๋Œ€ ๊ธฐ๋ณธ oplog ํฌ๊ธฐ๋Š” 50GB์ž…๋‹ˆ๋‹ค. ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„ ๋˜๋Š” ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์˜ 5%(์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ๋”ฐ๋ผ ํ•ด๋‹นํ•˜๋Š” ๊ฐ’)๊ฐ€ 50GB๋ณด๋‹ค ํฐ ๊ฒฝ์šฐ ๊ธฐ๋ณธ oplog ํฌ๊ธฐ๋Š” 50GB์ž…๋‹ˆ๋‹ค.

64๋น„ํŠธ macOS ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ

์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์— ๋”ฐ๋ผ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋””์Šคํฌ ๊ณต๊ฐ„ ๋˜๋Š” ์‹ค์ œ ๋ฉ”๋ชจ๋ฆฌ์˜ ๊ธฐ๋ณธ oplog ํฌ๊ธฐ๋Š” 192 MB์ž…๋‹ˆ๋‹ค.

์Šคํ† ๋ฆฌ์ง€ ์—”์ง„
๊ธฐ๋ณธ oplog ํฌ๊ธฐ

192MB์˜ ๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„

192MB์˜ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ

๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ๊ธฐ๋ณธ oplog ํฌ๊ธฐ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, oplog๊ฐ€ ๋””์Šคํฌ ์—ฌ์œ  ๊ณต๊ฐ„์˜ 5%์ด๊ณ  24์‹œ๊ฐ„ ๋™์•ˆ์˜ ์ž‘์—…์œผ๋กœ ๊ฐ€๋“ ์ฐจ๋ฉด ์„ธ์ปจ๋”๋ฆฌ๋Š” ๋ณต์ œ๋ฅผ ๊ณ„์†ํ•  ์ˆ˜ ์—†์„ ์ •๋„๋กœ ์˜ค๋ž˜ ๋˜์ง€ ์•Š๊ณ  ์ตœ๋Œ€ 24์‹œ๊ฐ„ ๋™์•ˆ oplog์˜ ํ•ญ๋ชฉ ๋ณต์‚ฌ๋ฅผ ์ค‘์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋Œ€๋ถ€๋ถ„์˜ ๋ณต์ œ๋ณธ ์„ธํŠธ๋Š” ์ž‘์—… ๋ณผ๋ฅจ์ด ํ›จ์”ฌ ๋‚ฎ์œผ๋ฉฐ ํ•ด๋‹น oplog๋Š” ํ›จ์”ฌ ๋” ๋งŽ์€ ์ˆ˜์˜ ์ž‘์—…์„ ๋ณด์œ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋‹ค์Œ ๊ธฐ์ค€์ด ๋ชจ๋‘ ์ถฉ์กฑ๋˜๋Š” ๊ฒฝ์šฐ์—๋งŒ mongod์—์„œ oplog ํ•ญ๋ชฉ์„ ์ œ๊ฑฐํ•˜๋Š” ์ตœ์†Œ ์‹œ๊ฐ„ ์ˆ˜๋ฅผ ์ง€์ •ํ•˜์—ฌ oplog ํ•ญ๋ชฉ์„ ๋ณด์กดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • oplog๊ฐ€ ๊ตฌ์„ฑ๋œ ์ตœ๋Œ€ ํฌ๊ธฐ์— ๋„๋‹ฌํ–ˆ์Šต๋‹ˆ๋‹ค.

  • oplog ํ•ญ๋ชฉ์ด ํ˜ธ์ŠคํŠธ ์‹œ์Šคํ…œ ์‹œ๊ณ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ตฌ์„ฑ๋œ ์‹œ๊ฐ„๋ณด๋‹ค ์˜ค๋ž˜๋œ ๊ฒฝ์šฐ

๊ธฐ๋ณธ์ ์œผ๋กœ MongoDB๋Š” ์ตœ์†Œ oplog ๋ณด์กด ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉฐ, ์„ค์ •๋œ ์ตœ๋Œ€ oplog ํฌ๊ธฐ๋ฅผ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํ•ญ๋ชฉ๋ถ€ํ„ฐ ์ž๋™์œผ๋กœ oplog๋ฅผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค.

mongod ์‹œ์ž‘ ์‹œ ์ตœ์†Œ oplog ๋ณด์กด ๊ธฐ๊ฐ„์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜๋ฅผ ์ˆ˜ํ–‰ํ•˜์‹ญ์‹œ์˜ค.

์‹คํ–‰ ์ค‘์ธ mongod ์˜ ์ตœ์†Œ oplog ๋ณด์กด ๊ธฐ๊ฐ„์„ ๊ตฌ์„ฑํ•˜๋ ค๋ฉด replSetResizeOplog ๋ฅผ ์‚ฌ์šฉํ•˜์‹ญ์‹œ์˜ค. mongod ์‹คํ–‰ ์‹œ ์ตœ์†Œ oplog ๋ณด์กด ๊ธฐ๊ฐ„์„ ์„ค์ •ํ•˜๋ฉด ์‹œ์ž‘ ์‹œ ์„ค์ •๋œ ๋ชจ๋“  ๊ฐ’์ด ์žฌ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„๋ฅผ ๋‹ค์‹œ ์‹œ์ž‘ํ•ด๋„ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์œ ์ง€ํ•˜๋ ค๋ฉด ํ•ด๋‹น ๊ตฌ์„ฑ ํŒŒ์ผ ์„ค์ • ๋˜๋Š” ๋ช…๋ น์ค„ ์˜ต์…˜์˜ ๊ฐ’์„ ์—…๋ฐ์ดํŠธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

oplog ํ•ญ๋ชฉ์—๋Š” ํƒ€์ž„์Šคํƒฌํ”„๊ฐ€ ๊ธฐ๋ก๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. oplog window๋Š” oplog์—์„œ ๊ฐ€์žฅ ์ตœ๊ทผ์˜ ํƒ€์ž„์Šคํƒฌํ”„์™€ ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํƒ€์ž„์Šคํƒฌํ”„ ์‚ฌ์ด์˜ ์‹œ๊ฐ„ ์ฐจ์ด์ž…๋‹ˆ๋‹ค. ์„ธ์ปจ๋”๋ฆฌ ๋…ธ๋“œ๊ฐ€ ํ”„๋ผ์ด๋จธ๋ฆฌ ๋…ธ๋“œ์™€์˜ ์—ฐ๊ฒฐ์ด ๋Š์–ด์ง€๋Š” ๊ฒฝ์šฐ, oplog ์œˆ๋„์šฐ(oplog window) ๋‚ด์—์„œ ์—ฐ๊ฒฐ์ด ๋ณต์›๋œ ๊ฒฝ์šฐ์—๋งŒ ๋ณต์ œ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋‹ค์‹œ ๋™๊ธฐํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ์›Œํฌ๋กœ๋“œ๊ฐ€ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํŒจํ„ด ์ค‘ ํ•˜๋‚˜์™€ ์œ ์‚ฌํ•  ๊ฒƒ์œผ๋กœ ์˜ˆ์ƒ๋˜๋ฉด, ๊ธฐ๋ณธ๊ฐ’๋ณด๋‹ค ํฐ oplog๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ฒƒ์ด ์ข‹์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์“ฐ๊ธฐ ์ž‘์—…์„ ์ตœ์†Œํ™”ํ•˜๋ฉด์„œ ์ฃผ๋กœ ์ฝ๊ธฐ๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” oplog๊ฐ€ ์ž‘์•„๋„ ์ถฉ๋ถ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ์›Œํฌ๋กœ๋“œ์—๋Š” ๋” ํฐ oplog ํฌ๊ธฐ๊ฐ€ ํ•„์š”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์‚ฝ์ž…ํ•œ ๊ฒƒ๊ณผ ๊ฑฐ์˜ ๊ฐ™์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋””์Šคํฌ ์‚ฌ์šฉ๋Ÿ‰์ด ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•˜์ง€๋Š” ์•Š์ง€๋งŒ ์ž‘์—… ๋กœ๊ทธ์˜ ํฌ๊ธฐ๋Š” ์ƒ๋‹นํžˆ ์ปค์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌธ์„œ ํฌ๊ธฐ๋ฅผ ๋Š˜๋ฆฌ์ง€ ์•Š๋Š” ์—…๋ฐ์ดํŠธ๊ฐ€ ์›Œํฌ๋กœ๋“œ์˜ ์ƒ๋‹น ๋ถ€๋ถ„์„ ์ฐจ์ง€ํ•œ๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋งŽ์€ ์ˆ˜์˜ ์ž‘์—…์„ ๊ธฐ๋กํ•˜์ง€๋งŒ ๋””์Šคํฌ์˜ ๋ฐ์ดํ„ฐ ์–‘์€ ๋ณ€๊ฒฝํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

oplog์˜ ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๊ณ , ์ž‘์—…์˜ ํฌ๊ธฐ์™€ ์‹œ๊ฐ„ ๋ฒ”์œ„๋ฅผ ํฌํ•จํ•œ ์ •๋ณด๋ฅผ ๋ณด๋ ค๋ฉด rs.printReplicationInfo() ๋ฉ”์„œ๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. oplog ์ƒํƒœ์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ Oplog์˜ ํฌ๊ธฐ ํ™•์ธ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์˜ˆ์™ธ์ ์ธ ์ƒํ™ฉ์—์„œ๋Š” ์„ธ์ปจ๋”๋ฆฌ oplog ์—…๋ฐ์ดํŠธ๊ฐ€ ์›ํ•˜๋Š” ์„ฑ๋Šฅ ์‹œ๊ฐ„๋ณด๋‹ค ๋Š๋ฆด ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„์—์„œ db.getReplicationInfo() ์™€ ๋ณต์ œ ์ƒํƒœ ์ถœ๋ ฅ์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜„์žฌ ๋ณต์ œ ์ƒํƒœ๋ฅผ ํ‰๊ฐ€ํ•˜๊ณ  ์˜๋„ํ•˜์ง€ ์•Š์€ ๋ณต์ œ ์ง€์—ฐ์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•˜์‹ญ์‹œ์˜ค.

๊ด€๋ฆฌ์ž๋Š” majority committed ์ง€์—ฐ์„ ๊ตฌ์„ฑ ๊ฐ€๋Šฅํ•œ ์ตœ๋Œ“๊ฐ’ flowControlTargetLagSeconds ์ดํ•˜๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ”„๋ผ์ด๋จธ๋ฆฌ๊ฐ€ ์“ฐ๊ธฐ๋ฅผ ์ ์šฉํ•˜๋Š” ์†๋„๋ฅผ ์ œํ•œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ํ๋ฆ„ ์ œ์–ด๋Š” enabled ์ž…๋‹ˆ๋‹ค.

์ฐธ๊ณ 

ํ๋ฆ„ ์ œ์–ด๊ฐ€ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋ณต์ œ๋ณธ ์„ธํŠธ/ ์ƒค๋”ฉ๋œ ํด๋Ÿฌ์Šคํ„ฐ ์— ์˜featureCompatibilityVersion (FCV) ๋ฐ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) 4.2 majority enabled๊ณ ๋ ค ๊ฐ€ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, FCV ๊ฐ€ ์ด 4.2 ์•„๋‹ˆ๊ฑฐ๋‚˜ ์ฝ๊ธฐ ๊ณ ๋ ค (read concern) ๋Œ€๋‹ค์ˆ˜๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ํ™œ์„ฑํ™”๋œ ํ๋ฆ„ ์ œ์–ด๋Š” ํšจ๊ณผ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋ณต์ œ ์ง€์—ฐ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

๋ณต์ œ๋ณธ ์„ธํŠธ์˜ ์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„๋Š” ์ ์šฉํ•˜๋Š” ๋ฐ ๋Š๋ฆฐ ์ž‘์—… ์ž„๊ณ„๊ฐ’๋ณด๋‹ค ์˜ค๋ž˜ ๊ฑธ๋ฆฌ๋Š” oplog ํ•ญ๋ชฉ์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฉ”์‹œ์ง€๋Š” REPL๊ตฌ์„ฑ ์š”์†Œ ์•„๋ž˜์— ์„ธ์ปจ๋”๋ฆฌ์— ๋Œ€ํ•ด logged๋˜๋ฉฐ, applied op: <oplog entry> took <num>ms๋ผ๋Š” ํ…์ŠคํŠธ๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค

2018-11-16T12:31:35.886-05:00 I REPL [repl writer worker 13] applied op: command { ... }, took 112ms

์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„์— ๋Œ€ํ•œ ๋Š๋ฆฐ oplog ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • logLevel/systemLog.verbosity ์ˆ˜์ค€ (๋˜๋Š” systemLog.component.replication.verbosity ์ˆ˜์ค€)์— ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Œ. ์ฆ‰, oplog ํ•ญ๋ชฉ์— ๋Œ€ํ•ด ์„ธ์ปจ๋”๋ฆฌ ๋ฉค๋ฒ„๋Š” ๋Š๋ฆฐ oplog ํ•ญ๋ชฉ๋งŒ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค. ๋กœ๊ทธ์˜ ์„ธ๋ถ€ ์ •๋ณด ํ‘œ์‹œ ์ˆ˜์ค€์„ ๋Š˜๋ ค๋„ ๋ชจ๋“  oplog ํ•ญ๋ชฉ์ด ๊ธฐ๋ก๋˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

  • ํ”„๋กœํŒŒ์ผ๋Ÿฌ์— ์บก์ฒ˜๋˜์ง€ ์•Š์œผ๋ฉฐ ํ”„๋กœํŒŒ์ผ๋ง ์ˆ˜์ค€์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

๋Š๋ฆฐ ์ž‘์—… ์ž„๊ณ„๊ฐ’ ์„ค์ •์— ๋Œ€ํ•œ ์ž์„ธํ•œ ๋‚ด์šฉ์€ ๋‹ค์Œ์„ ์ฐธ์กฐํ•˜์„ธ์š”.

drop MongoDB ๋ฐฐํฌ์—์„œ WiredTiger ์Šคํ† ๋ฆฌ์ง€ ์—”์ง„์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ๋ณต์ œ ์„ธํŠธ ๊ตฌ์„ฑ์›์—์„œ local.oplog.rs์ปฌ๋ ‰์…˜์„ ์‚ญ์ œํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ๋…๋ฆฝํ˜• MongoDB ์ธ์Šคํ„ด์Šค์—์„œ๋„local.oplog.rs์ปฌ๋ ‰์…˜์„ ์ œ๊ฑฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. mongod { ๋Š” ๋…ธ๋“œ๊ฐ€ ๋‹ค์šด๋œ ๊ฒฝ์šฐ ๋…ธ๋“œ์˜ ๋ณต์ œ ๋ฐ ๋ณต๊ตฌ์— oplog๊ฐ€ ํ•„์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

MongoDB ๋ถ€ํ„ฐ๋Š” ๋” ์ด์ƒ ๋ณต์ œ๋ณธ 5.0 ์„ธํŠธ ๋กœ ์‹คํ–‰ ๋˜๋Š” ํด๋Ÿฌ์Šคํ„ฐ ์—์„œ oplog ์— ์ˆ˜๋™์œผ๋กœ ์“ฐ๊ธฐ(write) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ๋…๋ฆฝํ˜• ์ธ์Šคํ„ด์Šค ๋กœ ์‹คํ–‰ ๋•Œ oplog ์— ์“ฐ๊ธฐ (write) ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์€ MongoDB ์ง€์›ํŒ€์˜ ์ง€์นจ ์„ ํ†ตํ•ด์„œ๋งŒ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๋Œ์•„๊ฐ€๊ธฐ

๋ณต์ œ