PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

Andrey Salnikov๊ฐ€ ์“ด 2016๋…„ ์ดˆ ๋ณด๊ณ ์„œ์˜ ๊ธฐ๋ก์ธ "PostgreSQL์—์„œ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜"๋ฅผ ์ฝ์–ด ๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์‹ค์ˆ˜๋Š” ์™œ ์ผ์–ด๋‚˜๋Š”๊ฐ€? ์ด๋Š” ๋‘ ๊ฐ€์ง€ ์ด์œ  ๋•Œ๋ฌธ์— ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ๋ฌด์ž‘์œ„๋กœ ์ž‘๋™ํ•  ์ˆ˜๋„ ์žˆ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์‚ฌ์ด๋Š” ๋ฌผ๋ก  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ๋ถ€ ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋ฌด์‹œํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

ํ”Œ๋ ˆ์ดํŠธ์˜ ์ดˆ๊ธฐ ๋ฐ์ดํ„ฐ: 2MB๋กœ ๋งค์šฐ ์ž‘์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, ํŠนํžˆ ํ‘œ์ง€ํŒ์˜ ์‘๋‹ต ์‹œ๊ฐ„๋„ ๋งค์šฐ ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒ๋‹นํžˆ ์ข‹์€ ๋ถ€ํ•˜ - ํ”Œ๋ ˆ์ดํŠธ์— ๋”ฐ๋ฅด๋ฉด ์ดˆ๋‹น 2๊ฐœ์˜ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๊ทธ๋ฆฌ๊ณ  ์ด ๋ณด๊ณ ์„œ๋ฅผ ํ†ตํ•ด ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ๋ช…ํ™•ํ•˜๊ฒŒ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด์—ฌ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ž˜ํ”„๊ฐ€ ํฌํ•จ๋œ ์Šฌ๋ผ์ด๋“œ๋Š” ํ•ญ์ƒ 2๊ฐœ์ž…๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ์Šฌ๋ผ์ด๋“œ๋Š” ์„œ๋ฒ„์—์„œ ์ผ๋ฐ˜์ ์œผ๋กœ ์ผ์–ด๋‚˜๋Š” ์ผ์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด ์ƒํ™ฉ์—์„œ ์šฐ๋ฆฌ๋Š” ์‹ค์ œ๋กœ ์ž‘์€ ํ‘œ์‹œ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค๋Š” 2MB๋กœ ์ž‘์Šต๋‹ˆ๋‹ค. ์™ผ์ชฝ์˜ ์ฒซ ๋ฒˆ์งธ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค.

์„œ๋ฒ„์˜ ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„๋„ ์•ˆ์ •์ ์ด๊ณ  ์งง์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋‘ ๋ฒˆ์งธ ์Šฌ๋ผ์ด๋“œ๋Š” ํ•ญ์ƒ ํ…Œ์ŠคํŠธ ์ค‘์ธ ํ”Œ๋ ˆ์ดํŠธ ์ „์šฉ์ž…๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์—์„œ ์šฐ๋ฆฌ๋Š” ๊ณ ๊ฐ์˜ ๊ณ„์ขŒ ์ž”์•ก์„ ์ง€์†์ ์œผ๋กœ ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—…๋ฐ์ดํŠธ ์ž‘์—…์˜ ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์ด XNUMX๋ฐ€๋ฆฌ์ดˆ ๋ฏธ๋งŒ์œผ๋กœ ์ƒ๋‹นํžˆ ์ข‹์€ ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์„œ ๋ฆฌ์†Œ์Šค(์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๊ทธ๋ž˜ํ”„)๋„ ๊ณ ๋ฅด๊ฒŒ ์†Œ๋ชจ๋˜๊ณ  ๋งค์šฐ ์ ์€ ์–‘์œผ๋กœ ์†Œ๋น„๋˜๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

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

๊ทธ๋Ÿฐ ์ผ์ด ์–ด๋””๋กœ ์ด์–ด์ง€๋‚˜์š”?

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

๊ทธ๋ฆฌ๊ณ  ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ๋ด…์‹œ๋‹ค. ์™ผ์ชฝ ํ•˜๋‹จ ๊ทธ๋ž˜ํ”„๋Š” ๊ธธ๊ณ  ๊ธด ๊ฑฐ๋ž˜๋ฅผ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์™ผ์ชฝ ์œ„ ๊ทธ๋ž˜ํ”„๋ฅผ ๋ณด๋ฉด ํ…Œ์ด๋ธ” ํฌ๊ธฐ๊ฐ€ ๊ฐ‘์ž๊ธฐ 300MB์—์„œ XNUMXMB๋กœ ๊ธ‰์ฆํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์–‘์€ ๋ณ€๊ฒฝ๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๊ฑฐ๊ธฐ์— ์ƒ๋‹นํžˆ ๋งŽ์€ ์–‘์˜ ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

ํ‰๊ท  ์„œ๋ฒ„ ์‘๋‹ต ์‹œ๊ฐ„์— ๊ด€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ƒํ™ฉ๋„ ๋ช‡ ๋ฐฐ๋‚˜ ๋‹ฌ๋ผ์กŒ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ์„œ๋ฒ„์˜ ๋ชจ๋“  ์š”์ฒญ์ด ์™„์ „ํžˆ ์ค‘๋‹จ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ๋‚ด๋ถ€ Postgres ํ”„๋กœ์„ธ์Šค๊ฐ€ autovacuum ํ˜•ํƒœ๋กœ ์‹œ์ž‘๋˜์–ด ๋ฌด์–ธ๊ฐ€๋ฅผ ์‹œ๋„ํ•˜๊ณ  ๋ฆฌ์†Œ์Šค๋ฅผ ์†Œ๋น„ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์šฐ๋ฆฌ ๊ฐ„ํŒ์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š” ๊ฑธ๊นŒ์š”? ๋˜‘๊ฐ™๋‹ค. ํ‘œ์ง€ํŒ์— ๋”ฐ๋ฅธ ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์ด ๋ช‡ ๋ฐฐ๋‚˜ ๋Š˜์–ด๋‚ฌ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์†Œ๋น„๋˜๋Š” ๋ฆฌ์†Œ์Šค ์ธก๋ฉด์—์„œ ๋ณด๋ฉด ํ”„๋กœ์„ธ์„œ์˜ ๋ถ€ํ•˜๊ฐ€ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ•œ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ์ƒ๋‹จ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์„œ๊ฐ€ ํ•„์š”ํ•œ ๋ผ์ธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ์ˆ˜๋งŽ์€ ์“ธ๋ชจ์—†๋Š” ๋ผ์ธ์„ ๋ถ„๋ฅ˜ํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๊ทธ ์ˆ˜๊ฐ€ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ๊ทธ๋ž˜ํ”„์ž…๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋™์ผํ•œ ์ˆ˜์˜ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ์‹œ๊ฐ„์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ดˆ๋‹น ํ˜ธ์ถœ ์ˆ˜๊ฐ€ ํฌ๊ฒŒ ์ค„์–ด๋“ค๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

์šฐ๋ฆฌ๋Š” ์ง„์ •ํ–ˆ์ง€๋งŒ ์ž ์‹œ ํ›„ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ๊ธด๊ธ‰ ์ƒํ™ฉ ์ด์ „๊ณผ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์š”์ฒญ์€ ์—ฌ์ „ํžˆ โ€‹โ€‹๋” ๋Š๋ฆฌ๊ฒŒ ์ฒ˜๋ฆฌ๋˜๋ฉฐ ์ƒ๋‹นํžˆ ๋Š๋ฆฝ๋‹ˆ๋‹ค. ๋‚ด ์˜ˆ์—์„œ๋Š” ํŠนํžˆ XNUMX๋ฐฐ์—์„œ XNUMX๋ฐฐ ๋” ๋Š๋ฆฝ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ๋ถ€ํ•˜๋„ ์‚ฌ๊ณ  ์ „๋ณด๋‹ค ๋†’์•„์กŒ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

ํŠนํžˆ ์ž”์•ก์„ ๋ณ€๊ฒฝํ•˜๋Š” ๊ณ„์ • ํ…Œ์ŠคํŠธ ํ”Œ๋ ˆ์ดํŠธ์— ๋”ฐ๋ฅด๋ฉด ์š”์ฒญ์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์ด ์ •์ƒ์œผ๋กœ ๋Œ์•„์˜จ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์‹ค์ œ๋กœ๋Š” XNUMX๋ฐฐ ๋” ๋†’์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ํ”„๋กœ์„ธ์„œ์˜ ๋กœ๋“œ๋ฅผ ๋ณด๋ฉด ํ”„๋กœ์„ธ์„œ์˜ ๋กœ๋“œ๊ฐ€ ์ถฉ๋Œ ์ด์ „์— ํ•„์š”ํ•œ ๊ฐ’์œผ๋กœ ๋ฐ˜ํ™˜๋˜์ง€ ์•Š์•˜์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ์ด์œ ๋Š” ์˜ค๋ฅธ์ชฝ ํ•˜๋‹จ ๊ทธ๋ž˜ํ”„์— ์ •ํ™•ํ•˜๊ฒŒ ๋‚˜์™€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—์„œ ์ผ์ •๋Ÿ‰์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฒ€์ƒ‰๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํ•„์š”ํ•œ ๋ผ์ธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ •๋ฆฌํ•˜๋ฉด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ์ž์›์„ ๋‚ญ๋น„ํ•˜๊ฒŒ ๋œ๋‹ค. ์ดˆ๋‹น ๊ฑฐ๋ž˜ ์ˆ˜๊ฐ€ ์•ˆ์ •ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

์ „๋ฐ˜์ ์œผ๋กœ ์ข‹์€๋ฐ, ์ƒํ™ฉ์€ ์˜ˆ์ „๋ณด๋‹ค ๋” ๋‚˜์ฉ๋‹ˆ๋‹ค. ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ ์ž‘๋™ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ฒฐ๊ณผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๊ทธ๋ฆฌ๊ณ  ๊ฑฐ๊ธฐ์—์„œ ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚˜๊ณ  ์žˆ๋Š”์ง€ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์ด์ „ ๋ณด๊ณ ์„œ์— ์ฐธ์„ํ•˜์ง€ ์•Š์•˜๋‹ค๋ฉด ์ด์ œ ์•ฝ๊ฐ„์˜ ์ด๋ก ์„ ์‚ดํŽด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๋‚ด๋ถ€ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ด๋ก . ์ž๋™์ฐจ ์ง„๊ณต์ฒญ์†Œ๊ธฐ๋Š” ์™œ, ๊ทธ๋ฆฌ๊ณ  ์–ด๋–ค ์—ญํ• ์„ ํ•ฉ๋‹ˆ๊นŒ?

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

์™œ ์ž๋™์ฐจ ์ง„๊ณต ์ฒญ์†Œ๊ธฐ๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๊นŒ? ์–ด๋Š ์‹œ์ ์—์„œ autovacuum์ด ์™€์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์•ก์„ธ์Šคํ•˜๊ณ  "ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ด๋ ค ์žˆ๋Š” ๊ฐ€์žฅ ์˜ค๋ž˜๋œ ํŠธ๋žœ์žญ์…˜์˜ ID๋ฅผ ์•Œ๋ ค์ฃผ์„ธ์š”."๋ผ๊ณ  ๋ฌป์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ด ID๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ autovacuum์ด ํ…Œ์ด๋ธ”์˜ ํ–‰์„ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ›จ์”ฌ ์˜ค๋ž˜๋œ ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ธํ•ด ์ผ๋ถ€ ๋ผ์ธ์ด ๋ณ€๊ฒฝ๋œ ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๋ฉด ๊ฑฐ๊ธฐ์— ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ž‘์„ฑํ•˜์—ฌ ๋‚˜์ค‘์— ์žฌ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ผ์ธ์œผ๋กœ ํ‘œ์‹œํ•  ๊ถŒ๋ฆฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฐฑ๊ทธ๋ผ์šด๋“œ ํ”„๋กœ์„ธ์Šค์ž…๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์‚ฌ๊ณ  ์ค‘์— ๋ฌด์Šจ ์ผ์ด ์ผ์–ด๋‚ฌ๋‚˜์š”? ๊ทธ๊ณณ์—์„œ๋Š” ์ด ๊ณผ์ •์ด ์–ด๋–ป๊ฒŒ ์ง„ํ–‰๋๋‚˜์š”?

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

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

์‹ค์ œ๋กœ ์ž‘๋™ํ•˜๋ ค๋ฉด ๋…น์ƒ‰ ์„ ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ๋™์•ˆ ์ „์ฒด ํ…Œ์ด๋ธ”์—์„œ ๋…น์ƒ‰ ์„ ์˜ ๋น„์œจ์ด ๋งค์šฐ ๋‚ฎ์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ฟผ๋ฆฌ๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์›ํ•˜๋Š” ๋ผ์ธ์„ ์ฐพ๊ธฐ ์œ„ํ•ด ๋นจ๊ฐ„์ƒ‰๊ณผ ๋…น์ƒ‰์˜ ๋ชจ๋“  ๋ผ์ธ์„ ํ†ต๊ณผํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์“ธ๋ชจ์—†๋Š” ๋ฐ์ดํ„ฐ๋กœ ํ…Œ์ด๋ธ”์„ ๋ถ€ํ’€๋ฆฌ๋Š” ํšจ๊ณผ๋ฅผ "๋ถ€ํ’€๋ฆผ"์ด๋ผ๊ณ  ํ•˜๋ฉฐ, ์ด๋Š” ๋””์Šคํฌ ๊ณต๊ฐ„๋„ ์†Œ๋ชจํ•ฉ๋‹ˆ๋‹ค. 2MB์˜€๋Š”๋ฐ 300MB๊ฐ€ ๋˜์—ˆ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๊ธฐ์–ตํ•˜์‹œ๋‚˜์š”? ์ด์ œ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ๋ฅผ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ๋กœ ๋ณ€๊ฒฝํ•˜๋ฉด ๋ชจ๋“  ๋””์Šคํฌ ๋ฆฌ์†Œ์Šค๊ฐ€ ๋น ๋ฅด๊ฒŒ ์†์‹ค๋ฉ๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์šฐ๋ฆฌ์—๊ฒŒ๋Š” ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

  • ๋‚ด ์˜ˆ์—์„œ๋Š” ํ…Œ์ด๋ธ”๊ณผ ์ธ๋ฑ์Šค๊ฐ€ 150๋ฐฐ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ๊ณ ๊ฐ ์ค‘ ์ผ๋ถ€๋Š” ๋‹จ์ˆœํžˆ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด์ง€๊ธฐ ์‹œ์ž‘ํ–ˆ์„ ๋•Œ ๋” ์น˜๋ช…์ ์ธ ์‚ฌ๋ก€๋ฅผ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค.
  • ํ…Œ์ด๋ธ” ์ž์ฒด์˜ ํฌ๊ธฐ๋Š” ๊ฒฐ์ฝ” ์ค„์–ด๋“ค์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฒฝ์šฐ์— ๋”ฐ๋ผ Autovacuum์€ ๋ฐ๋“œ๋ผ์ธ๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ ํ…Œ์ด๋ธ”์˜ ๊ผฌ๋ฆฌ๋ฅผ ์ž˜๋ผ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€์†์ ์ธ ํšŒ์ „์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋…น์ƒ‰ ์„  ํ•˜๋‚˜๊ฐ€ ๋ ๋ถ€๋ถ„์—์„œ ๋ฉˆ์ถฐ ์—…๋ฐ์ดํŠธ๋˜์ง€ ์•Š์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋‹ค๋ฅธ ๋ชจ๋“  ์„ ์€ ํ”Œ๋ ˆ์ดํŠธ ์‹œ์ž‘ ๋ถ€๋ถ„ ์–ด๋”˜๊ฐ€์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ํ…Œ์ด๋ธ” ์ž์ฒด์˜ ํฌ๊ธฐ๊ฐ€ ์ค„์–ด๋“ค ๊ฐ€๋Šฅ์„ฑ์ด ๋งค์šฐ ๋‚ฎ์€ ์ด๋ฒคํŠธ์ด๋ฏ€๋กœ ๊ธฐ๋Œ€ํ•ด์„œ๋Š” ์•ˆ ๋ฉ๋‹ˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์“ธ๋ชจ์—†๋Š” ์ค„ ์ „์ฒด๋ฅผ ์ •๋ ฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋””์Šคํฌ ์ž์›๊ณผ ํ”„๋กœ์„ธ์„œ ์ž์›, ์ „๋ ฅ์„ ๋‚ญ๋น„ํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์ฒ˜์Œ์— ์š”์ฒญ์— 10๋ฐ€๋ฆฌ์ดˆ, ์ฝ”๋“œ์— 10๋ฐ€๋ฆฌ์ดˆ๋ฅผ ์†Œ๋น„ํ–ˆ๋‹ค๋ฉด ์ถฉ๋Œ ์ค‘์— ์š”์ฒญ์— 10์ดˆ, ์ฝ”๋“œ์— 20๋ฐ€๋ฆฌ์ดˆ๋ฅผ ์†Œ๋น„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ์˜ ๊ทœ๋ชจ๊ฐ€ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์‚ฌ๊ณ ๊ฐ€ ํ•ด๊ฒฐ๋˜์ž ์šฐ๋ฆฌ๋Š” ์š”์ฒญ์— 10๋ฐ€๋ฆฌ์ดˆ, ์ฝ”๋“œ์— XNUMX๋ฐ€๋ฆฌ์ดˆ๋ฅผ ์†Œ๋น„ํ•˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ƒ์‚ฐ์„ฑ์ด ์—ฌ์ „ํžˆ XNUMX๋ฐฐ๋‚˜ ๋–จ์–ด์กŒ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๋ชจ๋‘ ์šฐ๋ฆฌ์˜ ์ž˜๋ชป์œผ๋กœ ์ธํ•ด ์–ผ์–ด๋ถ™์€ ๊ฑฐ๋ž˜ ํ•˜๋‚˜ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์งˆ๋ฌธ: "์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ๋˜๋Œ๋ฆด ์ˆ˜ ์žˆ๋‚˜์š”?" ๋ชจ๋“  ๊ฒƒ์ด ์ž˜๋˜๊ณ  ์‚ฌ๊ณ  ์ „์ฒ˜๋Ÿผ ์š”์ฒญ์ด ๋นจ๋ฆฌ ๋“ค์–ด์˜ฌ ์ˆ˜ ์žˆ๋„๋ก ๋ง์ด์ฃ .

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์ด๋ฅผ ์œ„ํ•ด ํŠน์ • ์ž‘์—… ์ฃผ๊ธฐ๊ฐ€ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค.

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

์ด๋Ÿฌํ•œ ํ…Œ์ด๋ธ”์„ ์ฐพ์•˜์œผ๋ฉด ์••์ถ•ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ์œ„ํ•œ ๋„๊ตฌ๊ฐ€ ์ด๋ฏธ ์žˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํšŒ์‚ฌ์—์„œ๋Š” ์„ธ ๊ฐ€์ง€ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ๋Š” ๋‚ด์žฅ๋œ VACUUM FULL์ž…๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ž”์ธํ•˜๊ณ  ๊ฐ€ํ˜นํ•˜๋ฉฐ ๋ฌด์ž๋น„ํ•˜์ง€๋งŒ ๋•Œ๋กœ๋Š” ๋งค์šฐ ์œ ์šฉํ•ฉ๋‹ˆ๋‹ค. Pg_repack ะธ pgcompactable - ํ…Œ์ด๋ธ” ์••์ถ•์„ ์œ„ํ•œ ํƒ€์‚ฌ ์œ ํ‹ธ๋ฆฌํ‹ฐ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋” ์กฐ์‹ฌ์Šค๋Ÿฝ๊ฒŒ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๊ท€ํ•˜์—๊ฒŒ ๋” ํŽธ๋ฆฌํ•œ ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€์— ๋”ฐ๋ผ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์ด์— ๋Œ€ํ•ด์„œ๋Š” ๋งจ ๋งˆ์ง€๋ง‰์— ๋ง์”€ ๋“œ๋ฆฌ๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์„ธ ๊ฐ€์ง€ ๋„๊ตฌ๊ฐ€ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์„ ํƒํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์ด ๋งŽ์Šต๋‹ˆ๋‹ค.

๋ชจ๋“  ๊ฒƒ์„ ์ˆ˜์ •ํ•˜๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ธ์ง€ ํ™•์ธํ•œ ํ›„์—๋Š” ์•ž์œผ๋กœ ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ๋ฐฉ์ง€ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์ด ๊ทธ๋ž˜ํ”„์—์„œ๋Š” ์ด ๊ฒฝ์šฐ VACUUM FULL๋กœ ๊ธฐํ˜ธ๋ฅผ ์ฒ˜๋ฆฌํ•œ ํ›„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐํ˜ธ์™€ ๋™์ž‘์ด ์–ด๋–ป๊ฒŒ ๋ณ€๊ฒฝ๋˜๋Š”์ง€ ๋ณด์—ฌ์ฃผ๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚˜์—๊ฒŒ ์ƒ์‚ฐ์ด ์•„๋‹™๋‹ˆ๋‹ค.

ํ…Œ์ด๋ธ” ํฌ๊ธฐ๋Š” ์ฆ‰์‹œ ๋ช‡ ๋ฉ”๊ฐ€๋ฐ”์ดํŠธ์˜ ์ •์ƒ ์ž‘๋™ ์ƒํƒœ๋กœ ๋Œ์•„์™”์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์„œ๋ฒ„์˜ ํ‰๊ท  ์‘๋‹ต ์‹œ๊ฐ„์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์น˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์—ฌ๊ธฐ์„œ ์ฒซ ๋ฒˆ์งธ ์ด์•ผ๊ธฐ๊ฐ€ ๋๋‚ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ์ผ์€ ๊ณ ๊ฐ์˜ ๊ฒฝํ—˜์ด๋‚˜ ํ”„๋กœ๊ทธ๋ž˜๋จธ์˜ ์ž๊ฒฉ์— ๊ด€๊ณ„์—†์ด ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์กฐ๋งŒ๊ฐ„ ์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

์ด๋•Œ์ฏค์—๋Š” ๋ณด๊ณ ์„œ ๊ฒŒ์‹œํŒ์ด ์ปค์กŒ์Šต๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ๊ฒƒ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํ‰๊ท  ์„œ๋ฒ„ ์‘๋‹ต ์‹œ๊ฐ„์ด ์•ˆ์ •์ ์ธ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์—๋Š” 2์‹œ๊ฐ„ ๋™์•ˆ ์‹คํ–‰๋˜๋Š” ์žฅ๊ธฐ ์‹คํ–‰ ํŠธ๋žœ์žญ์…˜์ด ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ๋“œ๋ผ์ธ์„ ์ฒ˜๋ฆฌํ•˜๋Š” Autovacuum์˜ ์กฐ์šฉํ•œ ์ž‘๋™์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

ํŠนํžˆ, ํ…Œ์ŠคํŠธ๋œ ํ”Œ๋ ˆ์ดํŠธ์— ๋”ฐ๋ผ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ณณ์˜ ๊ณ„์ • ์ž”์•ก์„ ๊ณ„์† ์—…๋ฐ์ดํŠธํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์š”์ฒญ์— ๋Œ€ํ•œ ์•ˆ์ •์ ์ธ ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ์•ˆ์ •์ ์ธ ๋ฆฌ์†Œ์Šค ์†Œ๋น„๋„ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ๊ดœ์ฐฎ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋ณต์ œ ์ถฉ๋Œ๋กœ ์ธํ•ด ์ด๋Ÿฌํ•œ ๋ณด๊ณ ์„œ๊ฐ€ ๋‹ค์‹œ ์‹คํ–‰๋˜๊ธฐ ์ „๊นŒ์ง€๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๋“ค์€ ์ผ์ •ํ•œ ๊ฐ„๊ฒฉ์œผ๋กœ ๋ฐ˜๊ฒฉํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ์˜จ๋ผ์ธ์— ์ ‘์†ํ•˜์—ฌ ์™œ ์ด๋Ÿฐ ์ผ์ด ์ผ์–ด๋‚˜๋Š”์ง€ ์ฝ๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ํ•ด๊ฒฐ ๋ฐฉ๋ฒ•์€ ๋ณต์ œ ๋Œ€๊ธฐ ์‹œ๊ฐ„์„ ๋Š˜๋ฆฌ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋ณด๊ณ ์„œ๊ฐ€ 3์‹œ๊ฐ„ ๋™์•ˆ ์‹คํ–‰๋œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ ์ง€์—ฐ์„ 3์‹œ๊ฐ„์œผ๋กœ ์„ค์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์„ ์ถœ์‹œํ•˜๊ณ  ์žˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ณด๊ณ ์„œ๊ฐ€ ์ทจ์†Œ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๊ณ„์† ๋ฐœ์ƒํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ๊ฒƒ์ด ์™„๋ฒฝํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋” ์˜ฌ๋ผ๊ฐ‘๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ธํ„ฐ๋„ท์—์„œ hot_standby_feedback์ด๋ผ๋Š” ๋ฉ‹์ง„ ์„ค์ •์„ ์ฐพ์•˜์Šต๋‹ˆ๋‹ค. ์ผœ๋ด…์‹œ๋‹ค. Hot_standby_feedback์„ ์‚ฌ์šฉํ•˜๋ฉด ๋งˆ์Šคํ„ฐ์—์„œ autovacuum์„ ์–ต์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๋ณต์ œ ์ถฉ๋Œ์„ ์™„์ „ํžˆ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณด๊ณ ์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๊ทธ๋ฆฌ๊ณ  ์ง€๊ธˆ ๋งˆ์Šคํ„ฐ ์„œ๋ฒ„์—์„œ๋Š” ๋ฌด์Šจ ์ผ์ด ๋ฒŒ์–ด์ง€๊ณ  ์žˆ๋Š” ๊ฑธ๊นŒ์š”? ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋งˆ์Šคํ„ฐ ์„œ๋ฒ„์— ์™„์ „ํžˆ ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์ œ ์ด ๋‘ ์„ค์ •์„ ๋ชจ๋‘ ํ™œ์„ฑํ™”ํ•˜๋ฉด ๊ทธ๋ž˜ํ”„๊ฐ€ ํ‘œ์‹œ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ ๋ณต์ œ๋ณธ์˜ ์„ธ์…˜์ด ์–ด๋–ป๊ฒŒ๋“  ๋งˆ์Šคํ„ฐ ์„œ๋ฒ„์˜ ์ƒํ™ฉ์— ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ธฐ ์‹œ์ž‘ํ–ˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋…€๋Š” ๋ฐ๋“œ๋ผ์ธ์„ ์—†์• ๋Š” ์ž๋™ ์ง„๊ณต ์ž‘์—…์„ ์ผ์‹œ ์ค‘์ง€ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ํšจ๊ณผ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ ํ…Œ์ด๋ธ” ํฌ๊ธฐ๊ฐ€ ๋‹ค์‹œ ๊ธ‰์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „์ฒด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ‰๊ท  ์ฟผ๋ฆฌ ์‹คํ–‰ ์‹œ๊ฐ„๋„ ๊ธ‰์ฆํ–ˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ ์ง„๊ณต์ด ์•ฝ๊ฐ„ ๊ฐ•ํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

ํŠนํžˆ, ์šฐ๋ฆฌ ํ”Œ๋ ˆ์ดํŠธ์—์„œ ๋ฐ์ดํ„ฐ ์—…๋ฐ์ดํŠธ๋„ ํ•˜๋Š˜๋กœ ๋›ฐ์–ด์˜ค๋ฅด๋Š” ๊ฒƒ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CPU ์†Œ๋น„๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํฌ๊ฒŒ ์ฆ๊ฐ€ํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋‹ค์‹œ ์ˆ˜๋งŽ์€ ์“ธ๋ชจ์—†๊ณ  ์“ธ๋ชจ์—†๋Š” ๋ผ์ธ์„ ๊ฒช๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ํ‘œ์‹œ์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„๊ณผ ๊ฑฐ๋ž˜ ์ˆ˜๊ฐ€ ๊ฐ์†Œํ–ˆ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋‚ด๊ฐ€ ์ „์— ๋ฌด์Šจ ๋ง์„ ํ–ˆ๋Š”์ง€ ๋ชจ๋ฅธ๋‹ค๋ฉด ์–ด๋–ค ๋ชจ์Šต์ผ๊นŒ์š”?

  • ์šฐ๋ฆฌ๋Š” ๋ฌธ์ œ๋ฅผ ์ฐพ๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ด๊ฒƒ์ด ๊ธด ํŠธ๋žœ์žญ์…˜์œผ๋กœ ์ธํ•œ ๊ฒƒ์ผ ์ˆ˜ ์žˆ์Œ์„ ์•Œ๊ณ  ๋งˆ์Šคํ„ฐ๋กœ ์ด๋™ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์Šคํ„ฐ์— ๋ฌธ์ œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฅผ ์†Œ์‹œ์ง€๋กœ ๋งŒ๋“ ๋‹ค. ๋œจ๊ฑฐ์›Œ์ง€๊ณ  ๋ถ€ํ•˜ ํ‰๊ท ์€ ์•ฝ XNUMX์ž…๋‹ˆ๋‹ค.
  • ์š”์ฒญ์€ ๋Š๋ฆฌ์ง€๋งŒ ์žฅ๊ธฐ ์‹คํ–‰ ํŠธ๋žœ์žญ์…˜์€ ํ‘œ์‹œ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฌด์—‡์ธ์ง€ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์–ด๋””๋ฅผ ๋ด์•ผํ• ์ง€ ๋ชจ๋ฅด๊ฒ ์Šต๋‹ˆ๋‹ค.
  • ์„œ๋ฒ„ ์žฅ๋น„๋ฅผ ์ ๊ฒ€ํ•ฉ๋‹ˆ๋‹ค. ์–ด์ฉŒ๋ฉด ์šฐ๋ฆฌ ์Šต๊ฒฉ์ด ๋ฌด๋„ˆ์กŒ์„ ์ˆ˜๋„ ์žˆ์–ด์š”. ์–ด์ฉŒ๋ฉด ๋ฉ”๋ชจ๋ฆฌ ์Šคํ‹ฑ์ด ๋‹ค ํƒ€๋ฒ„๋ฆด ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ, ์–ด๋–ค ์ผ์ด๋“  ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์•„๋‹ˆ์š”, ์„œ๋ฒ„๋Š” ์ƒˆ ์„œ๋ฒ„์ด๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ด€๋ฆฌ์ž, ๊ฐœ๋ฐœ์ž, ์ด์‚ฌ ๋“ฑ ๋ชจ๋‘๊ฐ€ ๋‹ฌ๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ฌด๊ฒƒ๋„ ๋„์›€์ด ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์–ด๋Š ์‹œ์ ์—์„œ ๊ฐ‘์ž๊ธฐ ๋ชจ๋“  ๊ฒƒ์ด ์Šค์Šค๋กœ ๊ต์ •๋˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์–ด์จŒ๋“  ์ฒซ ๋ฒˆ์งธ ๊ฒฝ์šฐ์ฒ˜๋Ÿผ ์„ฑ๋Šฅ์ด XNUMX๋ฐฐ์—์„œ XNUMX๋ฐฐ, ๋•Œ๋กœ๋Š” ๊ทธ ์ด์ƒ ์ €ํ•˜๋ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๋Š” ๋ชจ๋“  ์ผ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค์‹ญ์‹œ์˜ค. ์žฅ๋น„๊ฐ€ ์œ ํœด ์ƒํƒœ๊ฐ€ ์•„๋‹™๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋งˆ์Œ๋Œ€๋กœ ์š”์ฒญ์„ ๋‚˜๋ˆ„์—ˆ์ง€๋งŒ ์—ฌ์ „ํžˆ ๋ชจ๋“  ๊ฒƒ์ด ์ข‹์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

  • hot_standby_feedback์„ ํ™œ์„ฑํ™”ํ•˜์ง€ ์•Š์œผ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ˆ, ํŠน๋ณ„ํžˆ ๊ฐ•๋ ฅํ•œ ์ด์œ  ์—†์ด๋Š” ์ „์›์„ ์ผœ์ง€ ์•Š๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ด ํŠธ์œ„์ŠคํŠธ๋Š” ๋งˆ์Šคํ„ฐ ์„œ๋ฒ„์— ์ง์ ‘์ ์ธ ์˜ํ–ฅ์„ ๋ฏธ์น˜๊ณ  ๊ทธ๊ณณ์—์„œ autovacuum ์ž‘์—…์„ ์ผ์‹œ ์ค‘์ง€ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ผ๋ถ€ ๋ณต์ œ๋ณธ์—์„œ ์ด๋ฅผ ํ™œ์„ฑํ™”ํ•˜๊ณ  ์žŠ์–ด๋ฒ„๋ฆฌ๋ฉด ๋งˆ์Šคํ„ฐ๋ฅผ ์ข…๋ฃŒํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ํฐ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • max_standby_streaming_delay๋ฅผ ๋Š˜๋ฆฌ์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ? ์˜ˆ, ๋ณด๊ณ ์„œ์˜ ๊ฒฝ์šฐ ์ด๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. XNUMX์‹œ๊ฐ„์งœ๋ฆฌ ๋ณด๊ณ ์„œ๊ฐ€ ์žˆ๊ณ  ๋ณต์ œ ์ถฉ๋Œ๋กœ ์ธํ•ด ๋ณด๊ณ ์„œ๊ฐ€ ์ถฉ๋Œํ•˜๋Š” ๊ฒƒ์„ ์›ํ•˜์ง€ ์•Š์œผ๋ฉด ์ง€์—ฐ ์‹œ๊ฐ„์„ ๋Š˜๋ฆฌ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์žฅ๊ธฐ ๋ณด๊ณ ์„œ์—๋Š” ํ˜„์žฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋„์ฐฉํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. XNUMX์‹œ๊ฐ„ ๋™์•ˆ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด ์ด์ „ ๋ฐ์ดํ„ฐ ๊ธฐ๊ฐ„ ๋™์•ˆ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ท€ํ•˜์—๊ฒŒ๋Š” XNUMX์‹œ๊ฐ„ ์ง€์—ฐ์ด ์žˆ๋“  XNUMX์‹œ๊ฐ„ ์ง€์—ฐ์ด ์žˆ๋“  ๋ณ„ ์ฐจ์ด๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ท€ํ•˜๋Š” ์ง€์†์ ์œผ๋กœ ๋ณด๊ณ ์„œ๋ฅผ ๋ฐ›๊ฒŒ ๋˜๋ฉฐ ๋ณด๊ณ ์„œ๊ฐ€ ๋–จ์–ด์ง€๋Š” ๋ฐ ์•„๋ฌด๋Ÿฐ ๋ฌธ์ œ๊ฐ€ ์—†์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ๋‹น์—ฐํžˆ ๋ณต์ œ๋ณธ์˜ ๊ธด ์„ธ์…˜์„ ์ œ์–ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํŠนํžˆ ๋ณต์ œ๋ณธ์—์„œ hot_standby_feedback์„ ํ™œ์„ฑํ™”ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•œ ๊ฒฝ์šฐ ๋”์šฑ ๊ทธ๋ ‡์Šต๋‹ˆ๋‹ค. ๋ฌด์Šจ ์ผ์ด๋“  ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์œผ๋‹ˆ๊นŒ์š”. ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์š”์ฒญ์„ ํ…Œ์ŠคํŠธํ•  ์ˆ˜ ์žˆ๋„๋ก ์ด ๋ณต์ œ๋ณธ์„ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋ฏธ์นœ ์š”์ฒญ์„ ์ผ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ๊ทธ๊ฒƒ์„ ๋ฐœ์‚ฌํ•˜๊ณ  ์ฐจ๋ฅผ ๋งˆ์‹œ๋Ÿฌ ๋‚˜๊ฐ”๊ณ  ์šฐ๋ฆฌ๋Š” ํ™•๊ณ ํ•œ ์Šค์Šน์„ ์–ป์—ˆ์Šต๋‹ˆ๋‹ค. ์•„๋‹ˆ๋ฉด ๊ฑฐ๊ธฐ์— ์ž˜๋ชป๋œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋„ฃ์—ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒํ™ฉ์€ ๋‹ค์–‘ํ•ฉ๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์˜ ์„ธ์…˜์€ ๋งˆ์Šคํ„ฐ์—์„œ์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ฃผ์˜ ๊นŠ๊ฒŒ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋ณต์ œ๋ณธ์— ๋Œ€ํ•ด ๋น ๋ฅด๊ณ  ๊ธด ์ฟผ๋ฆฌ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์ด ๊ฒฝ์šฐ์—๋Š” ์ฟผ๋ฆฌ๋ฅผ ๋ถ„ํ• ํ•˜์—ฌ ๋กœ๋“œ๋ฅผ ๋ถ„์‚ฐํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. Streaming_delay์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค. ๋น ๋ฅธ ๊ฒฝ์šฐ์—๋Š” ๋ณต์ œ ์ง€์—ฐ์ด ์ž‘์€ ๋ณต์ œ๋ณธ ํ•˜๋‚˜๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์žฅ๊ธฐ ์‹คํ–‰ ๋ณด๊ณ  ์š”์ฒญ์˜ ๊ฒฝ์šฐ 6์‹œ๊ฐ„ ๋˜๋Š” ํ•˜๋ฃจ ์ง€์—ฐ๋  ์ˆ˜ ์žˆ๋Š” ๋ณต์ œ๋ณธ์„ ๋ณด์œ ํ•˜์„ธ์š”. ์ด๊ฒƒ์€ ์™„์ „ํžˆ ์ •์ƒ์ ์ธ ์ƒํ™ฉ์ž…๋‹ˆ๋‹ค.

๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค.

  • ๋ถ€ํ’€์–ด ์˜ค๋ฅธ ํ…Œ์ด๋ธ”์„ ์ฐพ์Šต๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ์—๊ฒŒ ๊ฐ€์žฅ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์••์ถ•ํ•ฉ๋‹ˆ๋‹ค.

๋‘ ๋ฒˆ์งธ ์ด์•ผ๊ธฐ๋Š” ์—ฌ๊ธฐ์„œ ๋๋‚ฉ๋‹ˆ๋‹ค. ์„ธ ๋ฒˆ์งธ ์ด์•ผ๊ธฐ๋กœ ๋„˜์–ด๊ฐ€๊ฒ ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ๋งค์šฐ ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋‹ค์Œ์€ ์—…๋ฐ์ดํŠธ๊ฐ€ ์ œ์‹œ๋œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋‚ด ๊ณ„์ • ๊ฑฐ๋ž˜์ด๋ฏ€๋กœ ํ”Œ๋ ˆ์ดํŠธ๋Š” 15GB์˜€์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์ค„์„ ์—…๋ฐ์ดํŠธํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ชจ๋“  ์ค„์„ ๋‹ค์‹œ ์ž‘์„ฑํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ์—…๋ฐ์ดํŠธ๋กœ ํ…Œ์ด๋ธ” ํฌ๊ธฐ๋ฅผ ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ ธ์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ค‘์—๋Š” ์ด ํ”Œ๋ ˆ์ดํŠธ์— ๋Œ€ํ•œ ๋ชจ๋“  ์š”์ฒญ์ด ๋Œ€๊ธฐ์—ด์— ์ถ”๊ฐ€๋˜์–ด ์ด ์—…๋ฐ์ดํŠธ๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ์ด ํ”Œ๋ ˆ์ดํŠธ์— ๋Œ€ํ•ด ์•„๋ฌด ๊ฒƒ๋„ ํ•  ์ˆ˜ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ์—ฌ๊ธฐ์„œ๋Š” ์„ธ๋กœ์ถ•์— ์žˆ๋Š” ์ˆซ์ž์— ์ฃผ๋ชฉํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ „ ํ‰๊ท  ์š”์ฒญ ์‹œ๊ฐ„์€ ์•ฝ 5๋ฐ€๋ฆฌ์ดˆ์ด๊ณ  ํ”„๋กœ์„ธ์„œ ๋กœ๋“œ๋Š” ํฌ๋ฉฐ ๋””์Šคํฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฝ๋Š” ๋ธ”๋ก ์ž‘์—… ์ˆ˜๋Š” 7,5๊ฐœ ๋ฏธ๋งŒ์ž…๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์ˆ˜ํ–‰ํ–ˆ๋Š”๋ฐ ๋˜ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์„ฑ๊ณตํ–ˆ์ง€๋งŒ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

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

๊ทธ๋ฆฌ๊ณ  ์ด๊ฒƒ์€ ๋‹ค์‹œ ๋ถ€ํ’€์–ด ์˜ฌ๋ผ ์šฐ๋ฆฌ ์‚ถ์„ ๋‹ค์‹œ ๋ง์น˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์—ฌ๊ธฐ์„œ๋Š” ์ด์ „ ๋‘ ์‚ฌ๋ก€์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ํ…Œ์ด๋ธ”์ด ์ด์ „ ํฌ๊ธฐ๋กœ ๋Œ์•„๊ฐ€์ง€ ์•Š์Œ์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค. ํ‰๊ท  ์„œ๋ฒ„ ๋กœ๋“œ๋Š” ์ ๋‹นํ•œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

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

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

์—ฌ๊ธฐ์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ด๋Ÿฌํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ดํ•ดํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ๋“ค์€ ๋ฐ˜๋“œ์‹œ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋Ÿฌํ•œ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์„ ๊ฝค ์ผ๊ด€๋˜๊ฒŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด๋Ÿฌํ•œ ๋Œ€๊ทœ๋ชจ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์€ ์ž๋™์œผ๋กœ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ํ•ญ์ƒ ํ†ต์ œ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ์ง€์‹์ด ํ’๋ถ€ํ•œ ์‚ฌ๋žŒ์˜ ๊ฐ๋…์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ํŒ€์— DBA๊ฐ€ ์žˆ๋‹ค๋ฉด DBA์—๊ฒŒ ๋งก๊ธฐ์„ธ์š”. ๊ทธ๊ฒŒ ๊ทธ์˜ ์ง์—…์ด์—์š”. ๊ทธ๋ ‡์ง€ ์•Š๋‹ค๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—… ๋ฐฉ๋ฒ•์„ ์•„๋Š” ๊ฐ€์žฅ ๊ฒฝํ—˜์ด ๋งŽ์€ ์‚ฌ๋žŒ์—๊ฒŒ ๋งก๊ธฐ์‹ญ์‹œ์˜ค.
  • ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ๋Š” ํ•˜๋‚˜์˜ ์—ด์„ ์—…๋ฐ์ดํŠธํ•˜๋”๋ผ๋„ ํ•ญ์ƒ ๋‹จ๊ณ„์ ์œผ๋กœ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์ƒˆ ๋ฒ„์ „์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ถœ์‹œ๋˜๊ธฐ ์ „์— ๋ฏธ๋ฆฌ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค.
  • ์—…๋ฐ์ดํŠธ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋กํ•  ์ƒˆ ํ•„๋“œ๊ฐ€ ์ถ”๊ฐ€๋˜์—ˆ์Šต๋‹ˆ๋‹ค.
  • ์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ์ด์ „ ํ•„๋“œ์—์„œ ์ƒˆ ํ•„๋“œ๋กœ ์ž‘์€ ๋ถ€๋ถ„์œผ๋กœ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์™œ ์ด๋Ÿฐ ์ผ์„ ํ•˜๋Š” ๊ฑธ๊นŒ์š”? ์ฒซ์งธ, ์šฐ๋ฆฌ๋Š” ํ•ญ์ƒ ์ด ํ”„๋กœ์„ธ์Šค์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ œ์–ดํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐฐ์น˜๋ฅผ ์ „์†กํ–ˆ๊ณ  ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐฐ์น˜๊ฐ€ ๋‚จ์•„ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ๊ธ์ •์ ์ธ ํšจ๊ณผ๋Š” ์ด๋Ÿฌํ•œ ๊ฐ ๋ฐฐ์น˜ ์‚ฌ์ด์—์„œ ํŠธ๋žœ์žญ์…˜์„ ๋‹ซ๊ณ  ์ƒˆ ํŠธ๋žœ์žญ์…˜์„ ์—ด๋ฉด Autovacuum์ด ํ”Œ๋ ˆ์ดํŠธ์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๊ณ  ์žฌ์‚ฌ์šฉ์„ ์œ„ํ•œ ๋ฐ๋“œ๋ผ์ธ์„ ํ‘œ์‹œํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ํ‘œ์‹œ๋˜๋Š” ์ค„์˜ ๊ฒฝ์šฐ(๊ธฐ์กด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์—ฌ์ „ํžˆ ์‹คํ–‰ ์ค‘์ž„) ์ƒˆ ํ•„๋“œ์— ์ƒˆ ๊ฐ’์„ ์“ฐ๋Š” ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์šฐ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ด๋Š” ์ด์ „ ๊ฐ’์— XNUMX์„ ๊ณฑํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.
  • ์™„์ „ํžˆ ์™„๊ณ ํ•˜๊ณ  ๋™์ผํ•œ ํ•„๋“œ๋ฅผ ์›ํ•˜๋Š” ๊ฒฝ์šฐ ๋ชจ๋“  ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜์ด ์™„๋ฃŒ๋˜๊ณ  ์ƒˆ ๋ฒ„์ „์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถœ์‹œํ•˜๊ธฐ ์ „์— ํ•„๋“œ ์ด๋ฆ„์„ ๋ฐ”๊พธ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์ด์ „ ํ•„๋“œ์—๋Š” ์ƒˆ๋กœ์šด ์ด๋ฆ„์ด ๋ถ€์—ฌ๋˜๊ณ  ์ƒˆ ํ•„๋“œ์—๋Š” ์ด์ „ ํ•„๋“œ์˜ ์ด๋ฆ„์ด ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.
  • ๊ทธ ํ›„์—์•ผ ์ƒˆ ๋ฒ„์ „์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ถœ์‹œํ•ฉ๋‹ˆ๋‹ค.

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

์„ธ ๋ฒˆ์งธ ์ด์•ผ๊ธฐ๋Š” ์—ฌ๊ธฐ์„œ ๋๋‚ฉ๋‹ˆ๋‹ค.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat.sql

https://github.com/dataegret/pg-utils/blob/master/sql/table_bloat_approx.sql

์ด์ œ ์ฒซ ๋ฒˆ์งธ ์ด์•ผ๊ธฐ์—์„œ ์–ธ๊ธ‰ํ•œ ๋„๊ตฌ์— ๋Œ€ํ•ด ์ข€ ๋” ์ž์„ธํžˆ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

bloat๋ฅผ ๊ฒ€์ƒ‰ํ•˜๊ธฐ ์ „์— ํ™•์žฅ ํ”„๋กœ๊ทธ๋žจ์„ ์„ค์น˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. pgstattuple.

๊ท€ํ•˜๊ฐ€ ์ฟผ๋ฆฌ๋ฅผ ๋‚ด๋†“์„ ํ•„์š”๊ฐ€ ์—†๋„๋ก ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์ž‘์—…์— ์ด๋Ÿฌํ•œ ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹น์‹ ์€ ๊ทธ๋“ค์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ฒซ ๋ฒˆ์งธ ์ž‘์—…์€ ์ž‘์—…ํ•˜๋Š” ๋ฐ ๊ฝค ์˜ค๋žœ ์‹œ๊ฐ„์ด ๊ฑธ๋ฆฌ์ง€๋งŒ ํ…Œ์ด๋ธ”์—์„œ ์ •ํ™•ํ•œ ํŒฝ์ฐฝ ๊ฐ’์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.
  • ๋‘ ๋ฒˆ์งธ ๋ฐฉ๋ฒ•์€ ๋” ๋น ๋ฅด๊ฒŒ ์ž‘๋™ํ•˜๋ฉฐ ํ‘œ์— ๋”ฐ๋ผ ํŒฝ์ฐฝ์ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€๋ฅผ ์‹ ์†ํ•˜๊ฒŒ ํ‰๊ฐ€ํ•ด์•ผ ํ•  ๋•Œ ๋งค์šฐ ํšจ๊ณผ์ ์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ Postgres ํ…Œ์ด๋ธ”์—๋Š” ํŒฝ์ฐฝ์ด ํ•ญ์ƒ ์กด์žฌํ•œ๋‹ค๋Š” ์ ๋„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” MVCC ๋ชจ๋ธ์˜ ํŠน์ง•์ž…๋‹ˆ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ํ…Œ์ด๋ธ”์˜ 20% ํŒฝ์ฐฝ์€ ์ •์ƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ์ด ํ…Œ์ด๋ธ”์„ ๊ฑฑ์ •ํ•˜๊ฑฐ๋‚˜ ์••์ถ•ํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค.

์“ธ๋ชจ์—†๋Š” ๋ฐ์ดํ„ฐ๋กœ ๊ฐ€๋“ ์ฐฌ ํ…Œ์ด๋ธ”์„ ์‹๋ณ„ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ƒˆ์Šต๋‹ˆ๋‹ค.

์ด์ œ ํŒฝ์ฐฝ์„ ํ•ด๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์‹ญ์‹œ์˜ค.

  • ์ž‘์€ ํƒœ๋ธ”๋ฆฟ๊ณผ ์ข‹์€ ๋””์Šคํฌ, ์ฆ‰ ์ตœ๋Œ€ ๊ธฐ๊ฐ€๋ฐ”์ดํŠธ์˜ ํƒœ๋ธ”๋ฆฟ์ด ์žˆ๋Š” ๊ฒฝ์šฐ VACUUM FULL์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋ช‡ ์ดˆ ๋™์•ˆ ํ…Œ์ด๋ธ” ์œ„์˜ ๋…์  ์ž๋ฌผ์‡ ๋ฅผ ๊ฐ€์ ธ๊ฐˆ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๋Š” ๋ชจ๋“  ๊ฒƒ์„ ๋น ๋ฅด๊ณ  ๊ฐ€ํ˜นํ•˜๊ฒŒ ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. VACUUM FULL์˜ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ๊ฐ€์š”? ํ…Œ์ด๋ธ”์— ๋ฐฐํƒ€์  ์ž ๊ธˆ์„ ์ ์šฉํ•˜๊ณ  ์ด์ „ ํ…Œ์ด๋ธ”์˜ ๋ผ์ด๋ธŒ ํ–‰์„ ์ƒˆ ํ…Œ์ด๋ธ”์— ๋‹ค์‹œ ์”๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฒฐ๊ตญ ๊ทธ๋Š” ๊ทธ๋“ค์„ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค. ์˜ค๋ž˜๋œ ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ณ  ์˜ค๋ž˜๋œ ํŒŒ์ผ์„ ์ƒˆ ํŒŒ์ผ๋กœ ๊ต์ฒดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž‘์—… ๊ธฐ๊ฐ„ ๋™์•ˆ์—๋Š” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ฐฐํƒ€์  ์ž ๊ธˆ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ด ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์–ด๋–ค ์ž‘์—…๋„ ํ•  ์ˆ˜ ์—†์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ์“ฐ๊ฑฐ๋‚˜ ์ฝ๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•  ์ˆ˜๋„ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  VACUUM FULL์€ ๋ฐ์ดํ„ฐ๋ฅผ ์“ฐ๊ธฐ ์œ„ํ•ด ์ถ”๊ฐ€ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋‹ค์Œ ๋„๊ตฌ pg_repack. ์›์น™์ ์œผ๋กœ๋Š” VACUUM FULL๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ด์ „ ํŒŒ์ผ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒˆ ํŒŒ์ผ๋กœ ๋‹ค์‹œ ์“ฐ๊ณ  ํ…Œ์ด๋ธ”์—์„œ ๊ต์ฒดํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋™์‹œ์— ์ž‘์—… ์ดˆ๊ธฐ์—๋Š” ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ๋ฐฐํƒ€์  ์ž ๊ธˆ์„ ์ˆ˜ํ–‰ํ•˜์ง€ ์•Š๊ณ  ํŒŒ์ผ์„ ๊ต์ฒดํ•˜๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ๋ฐ์ดํ„ฐ๊ฐ€ ์ค€๋น„๋œ ์ˆœ๊ฐ„์—๋งŒ ์ž ๊ธˆ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋””์Šคํฌ ๋ฆฌ์†Œ์Šค ์š”๊ตฌ ์‚ฌํ•ญ์€ VACUUM FULL์˜ ์š”๊ตฌ ์‚ฌํ•ญ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ์ถ”๊ฐ€ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ํ•„์š”ํ•˜๋ฉฐ ํ…Œ๋ผ๋ฐ”์ดํŠธ ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ด๋Š” ๋•Œ๋•Œ๋กœ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  I/O์™€ ์ ๊ทน์ ์œผ๋กœ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ํ”„๋กœ์„ธ์„œ๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ ์œ ํ‹ธ๋ฆฌํ‹ฐ๋Š” pgcompactable. ์•ฝ๊ฐ„ ๋‹ค๋ฅธ ์›๋ฆฌ์— ๋”ฐ๋ผ ์ž‘๋™ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ฆฌ์†Œ์Šค์— ๋” ์ฃผ์˜๋ฅผ ๊ธฐ์šธ์ž…๋‹ˆ๋‹ค. pgcompacttable์˜ ์ฃผ์š” ์•„์ด๋””์–ด๋Š” ํ…Œ์ด๋ธ”์˜ ์—…๋ฐ์ดํŠธ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ชจ๋“  ํ™œ์„ฑ ํ–‰์„ ํ…Œ์ด๋ธ”์˜ ์‹œ์ž‘ ๋ถ€๋ถ„์œผ๋กœ ์ด๋™ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด ํ…Œ์ด๋ธ”์—์„œ ์ง„๊ณต ์ƒํƒœ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์™œ๋ƒํ•˜๋ฉด ์‹œ์ž‘ ๋ถ€๋ถ„์—๋Š” ํ™œ์„ฑ ํ–‰์ด ์žˆ๊ณ  ๋ ๋ถ€๋ถ„์—๋Š” ๋ฐ๋“œ ํ–‰์ด ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ง„๊ณต ์ž์ฒด๊ฐ€ ์ด ๊ผฌ๋ฆฌ๋ฅผ ์ž˜๋ผ๋ƒ…๋‹ˆ๋‹ค. ์ฆ‰, ์ถ”๊ฐ€ ๋””์Šคํฌ ๊ณต๊ฐ„์ด ๋งŽ์ด ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋™์‹œ์— ์ž์› ์ธก๋ฉด์—์„œ๋„ ์—ฌ์ „ํžˆ ์••๋ฐ•์„ ๋ฐ›์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋„๊ตฌ๊ฐ€ ์žˆ๋Š” ๋ชจ๋“  ๊ฒƒ.

PostgreSQL์˜ ํŒฝ์ฐฝ์„ ์ดˆ๋ž˜ํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ผ๋ฐ˜์ ์ธ ์˜ค๋ฅ˜์ž…๋‹ˆ๋‹ค. ์•ˆ๋“œ๋ ˆ์ด ์‚ด๋‹ˆ์ฝ”ํ”„

๋” ๊นŠ์ด ํŒŒ๊ณ ๋“œ๋Š” ์ธก๋ฉด์—์„œ ํฅ๋ฏธ๋กœ์šด ๋ถ€ํ’€๋ ค์ง„ ์ฃผ์ œ๋ฅผ ๋ฐœ๊ฒฌํ–ˆ๋‹ค๋ฉด ๋‹ค์Œ ๋ช‡ ๊ฐ€์ง€ ์œ ์šฉํ•œ ๋งํฌ๋ฅผ ์ฐธ์กฐํ•˜์„ธ์š”.

  • https://www.slideshare.net/alexius2Mb/where-is-the-space-postgres - ์ด๊ฒƒ์€ ๋‚ด ๋™๋ฃŒ์˜ ๋ณด๊ณ ์„œ์ž…๋‹ˆ๋‹ค. Postgres์˜ ์ž‘์—…๊ณผ ์ƒํ™œ ์ค‘์— ๊ณต๊ฐ„์ด ์–ด๋””๋กœ ๊ฐ€๋Š”์ง€์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ์ž๋ฅผ ์œ„ํ•œ ํŒฝ์ฐฝ์— ๊ด€ํ•œ ๋งค์šฐ ๋ฐฉ๋Œ€ํ•˜๊ณ  ์ƒ์„ธํ•œ ๊ธฐ์ˆ  ์ž๋ฃŒ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
  • https://github.com/dataegret/pg-utils โ€“ ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒํƒœ๋ฅผ ํ™•์ธํ•˜๋Š” ๋ฐ ์œ ์šฉํ•œ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ €์žฅํ•˜๋Š” ์ €์žฅ์†Œ์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ bloat๋ฅผ ๊ฒ€์ƒ‰ํ•˜๋Š” ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์„ธ ๋ฒˆ์งธ ะธ ๋„ค๋ฒˆ์งธ ํ‘œ์ง€ํŒ์„ ์ถ•์†Œํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋Š” ๋„๊ตฌ์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค.
  • http://blog.dataegret.com/2Mb018/03/postgresql-bloatbusters.html โ€“ ์ด๊ฒƒ์€ ๋‚ด ๋™๋ฃŒ์˜ ๊ฒŒ์‹œ๋ฌผ์ž…๋‹ˆ๋‹ค. ๊ทธ๊ณณ์—์„œ ๊ทธ๋Š” ๊ด€๋ฆฌ์ž์™€ ๊ฐ€๊นŒ์šด ์ˆ˜์ค€์—์„œ ๋ถ€ํ’€๋ฆผ์„ ๋งค์šฐ ์ง„์ง€ํ•˜๊ณ  ๊ธฐ์ˆ ์ ์œผ๋กœ ์ž์„ธํžˆ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

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

์งˆ๋ฌธ

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

์ด ๊ฒฝ์šฐ ์ด๋Š” ํšŒ์‚ฌ ๊ด€๋ฆฌ์ž์˜ ์ž‘์—…์ด๋ฉฐ ๋ฐ˜๋“œ์‹œ DBA์˜ ์ž‘์—…์€ ์•„๋‹™๋‹ˆ๋‹ค.

์ €๋Š” ๊ด€๋ฆฌ์ž์ž…๋‹ˆ๋‹ค.

PostgreSQL์—๋Š” ๋งค๋‹ฌ๋ฆฐ ์ฟผ๋ฆฌ๋ฅผ ๋ณด์—ฌ์ฃผ๋Š” pg_stat_activity๋ผ๋Š” ๋ทฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์–ผ๋งˆ๋‚˜ ์˜ค๋žซ๋™์•ˆ ๊ฑฐ๊ธฐ์— ๋งค๋‹ฌ๋ ค ์žˆ๋Š”์ง€ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5๋ถ„๋งˆ๋‹ค ๋“ค์–ด์™€์„œ ์‚ดํŽด๋ด์•ผ ํ•˜๋‚˜์š”?

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

์ด๋Ÿฐ ์ผ์ด ๋ฐœ์ƒํ•˜๋Š” ๋ถ„๋ช…ํ•œ ์ด์œ ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋‚˜๋Š” ๋ช‡ ๊ฐ€์ง€๋ฅผ ๋‚˜์—ดํ–ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ๋” ๋ณต์žกํ•œ ์˜ˆ. ๊ทธ๋ฆฌ๊ณ  ์˜ค๋žซ๋™์•ˆ ๋Œ€ํ™”๊ฐ€ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! pg_repack ์œ ํ‹ธ๋ฆฌํ‹ฐ์— ๋Œ€ํ•ด ๋ช…ํ™•ํžˆ ํ•˜๊ณ  ์‹ถ์—ˆ์Šต๋‹ˆ๋‹ค. ๋…์  ์ž ๊ธˆ์„ ํ•˜์ง€ ์•Š์œผ๋ฉด...

๊ทธ๋…€๋Š” ๋…์  ์ž ๊ธˆ์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

... ๊ทธ๋Ÿฌ๋ฉด ์ž ์žฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„ ๋™์•ˆ ๋‚ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์•„๋ฌด ๊ฒƒ๋„ ๊ธฐ๋กํ•˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์•„๋‹ˆ์š”, ํ…Œ์ด๋ธ”๊ณผ ์›ํ™œํ•˜๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, pg_repack์€ ๋จผ์ € ์กด์žฌํ•˜๋Š” ๋ชจ๋“  ๋ผ์ด๋ธŒ ๋ผ์ธ์„ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๋‹น์—ฐํžˆ ํ…Œ์ด๋ธ”์— ์ผ์ข…์˜ ํ•ญ๋ชฉ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Š” ๋‹จ์ง€ ์ด ํฌ๋‹ˆํ…Œ์ผ์„ ๋˜์ง€๊ณ  ์žˆ๋Š” ๊ฒƒ๋ฟ์ด๋‹ค.

์ฆ‰, ๊ทธ๋Š” ์‹ค์ œ๋กœ ๊ฒฐ๊ตญ ๊ทธ๋ ‡๊ฒŒ ํ•ฉ๋‹ˆ๊นŒ?

๊ฒฐ๊ตญ ๊ทธ๋Š” ์ด๋Ÿฌํ•œ ํŒŒ์ผ์„ ๊ตํ™˜ํ•˜๊ธฐ ์œ„ํ•ด ๋…์  ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

VACUUM FULL๋ณด๋‹ค ๋” ๋น ๋ฅผ๊นŒ์š”?

VACUUM FULL์€ ์‹œ์ž‘ํ•˜์ž๋งˆ์ž ์ฆ‰์‹œ ๋…์  ์ž ๊ธˆ์„ ์ˆ˜ํ–‰ํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฐ€ ๋ชจ๋“  ์ผ์„ ํ•  ๋•Œ๊นŒ์ง€ ๊ทธ๋Š” ๊ทธ๋…€๋ฅผ ๋†“์•„์ฃผ์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  pg_repack์€ ํŒŒ์ผ ๊ต์ฒด์‹œ์—๋งŒ ๋ฐฐํƒ€์  ์ž ๊ธˆ์„ ์ทจํ•ฉ๋‹ˆ๋‹ค. ์ง€๊ธˆ์€ ๊ฑฐ๊ธฐ์— ๊ธ€์„ ์“ฐ์ง€ ์•Š์„ ๊ฒƒ์ด์ง€๋งŒ ๋ฐ์ดํ„ฐ๋Š” ์†์‹ค๋˜์ง€ ์•Š์œผ๋ฉฐ ๋ชจ๋“  ๊ฒƒ์ด ์ž˜ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”! ๋‹น์‹ ์€ ์ž๋™์ฐจ ์ง„๊ณต์ฒญ์†Œ๊ธฐ์˜ ์ž‘๋™์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋นจ๊ฐ„์ƒ‰, ๋…ธ๋ž€์ƒ‰, ๋…น์ƒ‰ ๊ธฐ๋ก ์…€์ด ์žˆ๋Š” ๊ทธ๋ž˜ํ”„๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋…ธ๋ž€์ƒ‰์ž…๋‹ˆ๋‹ค. ์‚ญ์ œ๋œ ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฒฐ๊ณผ์ ์œผ๋กœ ์ƒˆ๋กœ์šด ๊ฒƒ์ด ๊ธฐ๋ก๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์€ ์งˆ๋ฌธ์˜ ๋‚ด์šฉ์ด ์•„๋‹™๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋๋‚ด์ง€ ์•Š์•˜๋‹ค. ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ด…์‹œ๋‹ค. ๋‹ค์–‘ํ•œ ํฌ๊ธฐ์˜ ํ•„๋“œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ์‚ฝ์ž…ํ•˜๋ ค๊ณ  ํ•˜๋ฉด ๊ธฐ์กด ์…€์— ๋งž์ง€ ์•Š์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

์•„๋‹ˆ์š”, ์–ด๋–ค ๊ฒฝ์šฐ์—๋„ ์ „์ฒด ์ค„์ด ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. Postgres์—๋Š” ๋‘ ๊ฐ€์ง€ ๋ฐ์ดํ„ฐ ์ €์žฅ ๋ชจ๋ธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ์œ ํ˜•์—์„œ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ์ง์ ‘ ์ €์žฅ๋˜๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๊ณ , tos ๋ฐ์ดํ„ฐ๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ…์ŠคํŠธ, json ๋“ฑ ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ๋ณ„๋„์˜ ์ ‘์‹œ์— ์ €์žฅ๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ํƒœ๋ธ”๋ฆฟ์— ๋”ฐ๋ฅด๋ฉด ๋ถ€ํ’€์–ด์˜ค๋ฅด๋Š” ๊ฒƒ๊ณผ ๋™์ผํ•œ ์ด์•ผ๊ธฐ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ๊ฒƒ์ด ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋‹จ์ง€ ๋ณ„๋„๋กœ ๋‚˜์—ด๋˜์–ด ์žˆ์„ ๋ฟ์ž…๋‹ˆ๋‹ค.

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๊ธฐ๊ฐ„์„ ์ œํ•œํ•˜๊ธฐ ์œ„ํ•ด ๋ช…๋ น๋ฌธ ์‹œ๊ฐ„ ์ดˆ๊ณผ ์ฟผ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

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

์ง€๊ธˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ˆ˜์ค€์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ณ  ์žˆ๋‹ค๋ฉด ์‚ฌ์šฉ ์ค‘์ธ ๋“œ๋ผ์ด๋ฒ„, ์‚ฌ์šฉ ์ค‘์ธ ORM์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—๋Š” ๋งŽ์€ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ ์ปค๋ฐ‹์„ ํ™œ์„ฑํ™”ํ•œ ๊ฒฝ์šฐ ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋˜๊ณ  ์ฆ‰์‹œ ๋‹ซํž™๋‹ˆ๋‹ค.

์ฆ‰, ์—…๋ฐ์ดํŠธ ์งํ›„์— ๋‹ซํžˆ๋Š” ๊ฒƒ์ธ๊ฐ€์š”?

์„ค์ •์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์„ค์ •์— ์ด๋ฆ„์„ ๋ถ™์˜€์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ž๋™ ์ปค๋ฐ‹์ž…๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋งค์šฐ ํ”ํ•œ ์ผ์ž…๋‹ˆ๋‹ค. ํ™œ์„ฑํ™”๋œ ๊ฒฝ์šฐ ํŠธ๋žœ์žญ์…˜์ด ์—ด๋ฆฌ๊ณ  ๋‹ซํžŒ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ช…์‹œ์ ์œผ๋กœ "ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘" ๋ฐ "ํŠธ๋žœ์žญ์…˜ ์ข…๋ฃŒ"๋ผ๊ณ  ๋งํ•˜์ง€ ์•Š๊ณ  ๋‹จ์ˆœํžˆ ์„ธ์…˜์— ์š”์ฒญ์„ ์‹œ์ž‘ํ•œ ๊ฒฝ์šฐ๋Š” ์ œ์™ธ๋ฉ๋‹ˆ๋‹ค.

์•ˆ๋…•ํ•˜์„ธ์š”! ์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๋ถ€ํ’€์–ด ์˜ค๋ฅด๊ณ  ์„œ๋ฒ„ ๊ณต๊ฐ„์ด ๋ถ€์กฑํ•ด ์กŒ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋Š” ๋„๊ตฌ๊ฐ€ ์žˆ๋‚˜์š”?

์„œ๋ฒ„ ๊ณต๊ฐ„์„ ์ œ๋Œ€๋กœ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, DBA๊ฐ€ ์ฐจ๋ฅผ ๋งˆ์‹œ๋Ÿฌ ๊ฐ”๊ฑฐ๋‚˜ ๋ฆฌ์กฐํŠธ์— ์žˆ์—ˆ์„ ๋•Œ ๋“ฑ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒŒ์ผ ์‹œ์Šคํ…œ์ด ์ƒ์„ฑ๋˜๋ฉด ๋ฐ์ดํ„ฐ๊ฐ€ ๊ธฐ๋ก๋˜์ง€ ์•Š๋Š” ์ผ์ข…์˜ ๋ฐฑ์—… ๊ณต๊ฐ„์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์™„์ „ํžˆ ์˜ํ•˜์ด๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋‚˜์š”?

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

๋‹ค๋ฅธ ๋„๊ตฌ๊ฐ€ ์žˆ๋‚˜์š”?

ํ•ญ์ƒ ์†์ˆ˜ ๋งŒ๋“  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๋Š” ์ค‘์š”ํ•˜๊ณ  ์ผ๋ถ€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ๋กœ์ปฌ์—์„œ ๋ฌด์—‡์„ ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์€์ง€ ๋ช…ํ™•ํ•ด์ง‘๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ์ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋น„์ฆˆ๋‹ˆ์Šค์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ํ•ญ์ƒ ํ˜„์ง€์—์„œ ๊ฒฐ์ •๋ฉ๋‹ˆ๋‹ค.

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋‘ ๊ฐ€์ง€ ์งˆ๋ฌธ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ํŠธ๋žœ์žญ์…˜์ด ์ค‘๋‹จ๋˜๋ฉด ํ…Œ์ด๋ธ”์ŠคํŽ˜์ด์Šค ํฌ๊ธฐ์™€ ์ธ๋ฑ์Šค ํฌ๊ธฐ๊ฐ€ ๋ชจ๋‘ ์ฆ๊ฐ€ํ•œ๋‹ค๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๋Š” ์Šฌ๋ผ์ด๋“œ๋ฅผ ๋ณด์—ฌ ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ณด๊ณ ์„œ์—๋Š” ํƒœ๋ธ”๋ฆฟ์„ ํŒจํ‚ค์ง•ํ•˜๋Š” ๋งŽ์€ ์œ ํ‹ธ๋ฆฌํ‹ฐ๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ง€์ˆ˜๋Š” ์–ด๋–ป์Šต๋‹ˆ๊นŒ?

๊ทธ๋“ค๋„ ํฌ์žฅํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๊ณต๋ฐฑ์ด ์ง€์ˆ˜์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š” ๊ฑธ๊นŒ์š”?

์ผ๋ถ€๋Š” ์ƒ‰์ธ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด pg_rapack, pgcompacttable์ž…๋‹ˆ๋‹ค. ์ง„๊ณต์€ ์ธ๋ฑ์Šค๋ฅผ ๋‹ค์‹œ ์ƒ์„ฑํ•˜๊ณ  ์˜ํ–ฅ์„ ์ค๋‹ˆ๋‹ค. VACUUM FULL์„ ์‚ฌ์šฉํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ๋ฎ์–ด์“ฐ๋Š” ๊ฒƒ์ด ์•„์ด๋””์–ด์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋ชจ๋“  ์‚ฌ๋žŒ์—๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋‘ ๋ฒˆ์งธ ์งˆ๋ฌธ. ๋ณต์ œ๋ณธ์— ๋Œ€ํ•œ ๋ณด๊ณ ์„œ๊ฐ€ ์™œ ๋ณต์ œ ์ž์ฒด์— ๊ทธ๋ ‡๊ฒŒ ๋งŽ์ด ์˜์กดํ•˜๋Š”์ง€ ์ดํ•ด๊ฐ€ ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ณด๊ณ ์„œ๋ฅผ ์ฝ๊ณ  ๋ณต์ œ๋ฅผ ์“ฐ๋Š” ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.

๋ณต์ œ ์ถฉ๋Œ์˜ ์›์ธ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ง„ํ–‰๋˜๋Š” ๋งˆ์Šคํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™์ฐจ ์ง„๊ณต์ฒญ์†Œ ์ž‘์—…์ด ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค. Autovacuum์€ ์‹ค์ œ๋กœ ๋ฌด์—‡์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๊นŒ? ๊ทธ๋Š” ์˜ค๋ž˜๋œ ๋Œ€์‚ฌ ๋ช‡ ๊ฐœ๋ฅผ ์ž˜๋ผ๋‚ด๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋•Œ ๋ณต์ œ๋ณธ์— ์ด๋Ÿฌํ•œ ์ด์ „ ๋ผ์ธ์„ ์ฝ๋Š” ์š”์ฒญ์ด ์žˆ๊ณ  ๋งˆ์Šคํ„ฐ์—์„œ autovacuum์ด ์ด๋Ÿฌํ•œ ๋ผ์ธ์„ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•œ ๊ฒฝ์šฐ ์ด๋ฅผ ๋ฎ์–ด์ผ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐ์ดํ„ฐ ํŒจํ‚ท์„ ์ˆ˜์‹ ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ณต์ œ๋ณธ์—์„œ ์š”์ฒญ์— ํ•„์š”ํ•œ ํ–‰์„ ๋‹ค์‹œ ์ž‘์„ฑํ•ด์•ผ ํ•  ๋•Œ ๋ณต์ œ ํ”„๋กœ์„ธ์Šค๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ๊ตฌ์„ฑํ•œ ์‹œ๊ฐ„ ์ดˆ๊ณผ๋ฅผ ๊ธฐ๋‹ค๋ฆฝ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ PostgreSQL์€ ๋ฌด์—‡์ด ๋” ์ค‘์š”ํ•œ์ง€ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ์—๊ฒŒ๋Š” ์š”์ฒญ๋ณด๋‹ค ๋ณต์ œ๊ฐ€ ๋” ์ค‘์š”ํ•˜๋ฏ€๋กœ ๊ทธ๋Š” ๋ณต์ œ๋ณธ์— ์ด๋Ÿฌํ•œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์„ ์ ์šฉํ•˜๊ธฐ ์œ„ํ•ด ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์•ˆ๋“œ๋ ˆ์ด, ์งˆ๋ฌธ์ด ์žˆ์–ด์š”. ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ์ค‘์— ๋ณด์—ฌ์ฃผ์‹  ์ด ๋ฉ‹์ง„ ๊ทธ๋ž˜ํ”„๋Š” ๊ท€ํ•˜์˜ ์ผ์ข…์˜ ์œ ์šฉ์„ฑ ์ž‘์—…์˜ ๊ฒฐ๊ณผ์ž…๋‹ˆ๊นŒ? ๊ทธ๋ž˜ํ”„๋Š” ์–ด๋–ป๊ฒŒ ๋งŒ๋“ค์–ด์กŒ๋‚˜์š”?

์ด๊ฒƒ์€ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค ์˜คํฌ๋ฏธํ„ฐ.

์ด๊ฑฐ ์ƒ์—…์šฉ ์ œํ’ˆ์ธ๊ฐ€์š”?

์˜ˆ. ์ด๊ฒƒ์€ ์ƒ์—…์šฉ ์ œํ’ˆ์ž…๋‹ˆ๋‹ค.

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€