[PostgreSQL] VACUUM์€ ๋„๋Š”๋ฐ ์ฃฝ์€ ํŠœํ”Œ์ด ์•ˆ ์ค„์–ด๋“ค ๋•Œ

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

[PostgreSQL] autovacuum์ด ํฐ ํ…Œ์ด๋ธ”์—์„œ ์•ˆ ๋„๋Š” ์ด์œ 

์ง€๋‚œ ํŽธ์—์„œ ์ฃฝ์€ ํŠœํ”Œ ๋น„์œจ์ด ๊ณ„์† ์˜ฌ๋ผ๊ฐ€๊ณ  ์žˆ๋‹ค๋ฉด ์„ค์ •์„ ๋ด์•ผ ํ•œ๋‹ค๊ณ  ์ผ๋‹ค. ๊ทธ ์„ค์ • ์ด์•ผ๊ธฐ๋‹ค. ๊ฒฐ๋ก ๋ถ€ํ„ฐ ๋งํ•˜๋ฉด, autovacuum์˜ ๊ธฐ๋ณธ๊ฐ’์€ ์ž‘์€ ํ…Œ์ด๋ธ”์— ๋งž์ถฐ์ ธ ์žˆ๋‹ค. ํ…Œ์ด๋ธ”์ด ์ปค์งˆ์ˆ˜๋ก ๋Šฆ๊ฒŒ ๋Œ๊ณ , ๋Šฆ๊ฒŒ ๋„๋Š” ๋งŒํผ ํ•œ ๋ฒˆ์— ํ•  ์ผ์ด ๋งŽ์•„์ง„๋‹ค. ๋ฐœ๋™ ์กฐ๊ฑด ๊ณต์‹ autovacuum์€ ํ…Œ์ด๋ธ”๋งˆ๋‹ค ์ž„๊ณ„๊ฐ’์„ ๊ณ„์‚ฐํ•ด์„œ, ์ฃฝ์€ ํŠœํ”Œ ์ˆ˜๊ฐ€ ๊ทธ ๊ฐ’์„ ๋„˜์œผ๋ฉด ๋Œ€์ƒ์œผ๋กœ ์žก๋Š”๋‹ค. ๋ฐœ๋™ ์ž„๊ณ„๊ฐ’ = autovacuum_vacuum_threshold + autovacuum_vacuum_scale_factor ร— ํ…Œ์ด๋ธ” ํ–‰ ์ˆ˜ ๊ธฐ๋ณธ๊ฐ’์€ ์ด๋ ‡๋‹ค. ํŒŒ๋ผ๋ฏธํ„ฐ ๊ธฐ๋ณธ๊ฐ’ autovacuum_vacuum_threshold 50 autovacuum_vacuum_scale_factor 0.2 (20%) ์ง€๋ฐฐ์ ์ธ ๊ฑด ๋’ค์ชฝ ํ•ญ์ด๋‹ค. ํ–‰ ์ˆ˜์— ๊ณฑํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ...

[PostgreSQL] VACUUM์„ ๋Œ๋ ธ๋Š”๋ฐ ๋””์Šคํฌ๊ฐ€ ์•ˆ ์ค„์–ด๋“œ๋Š” ์ด์œ 

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

๋กœ๊ทธ๊ฐ€ 0์ค„์ธ ๊ฒƒ์€ ์•„๋ฌด ์ผ๋„ ์—†์—ˆ๋‹ค๋Š” ๋œป์ด ์•„๋‹ˆ๋‹ค

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

console.log๋Š” ๋กœ๊น…์ด ์•„๋‹ˆ๋‹ค โ€” ์šด์˜์—์„œ ์‚ด์•„๋‚จ๋Š” ๋กœ๊ทธ ์„ค๊ณ„

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