์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์–ธ์  ๊ฐ€๋Š” ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์ด DBMS์˜ ์ค‘์š”ํ•œ ์ž‘์—… ์ค‘ ํ•˜๋‚˜๊ฐ€ ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค[1]. ๊ทธ๋™์•ˆ ์šฐ๋ฆฌ๋Š” ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•˜๊ฑฐ๋‚˜ ์ €๋ ดํ•œ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์œผ๋กœ ์˜ฎ๊ธฐ๋Š” ์ผ์„ ์Šค์Šค๋กœ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํ–‰์„ ์‚ญ์ œํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ์กฐ๊ฑด์ด ์•Œ๋ ค์ ธ ์žˆ๊ณ  ์ ํ•ฉํ•œ ์ƒ‰์ธ์ด ์žˆ๋Š” ๊ฒฝ์šฐ ๋งค์šฐ ๊ฐ„๋‹จํ•œ ์ž‘์—…์ž…๋‹ˆ๋‹ค. "DELETE FROM table1 WHERE col1 = :value" - ๋ฌด์—‡์ด ๋” ๊ฐ„๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋น„๋””์˜ค :

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

  • ์ €๋Š” ์ฒซ ํ•ด๋ถ€ํ„ฐ, ์ฆ‰ 2007๋…„๋ถ€ํ„ฐ Highload ํ”„๋กœ๊ทธ๋žจ ์œ„์›ํšŒ์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์ €๋Š” 2005๋…„๋ถ€ํ„ฐ Postgres์™€ ํ•จ๊ป˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋งŽ์€ ํ”„๋กœ์ ํŠธ์—์„œ ์‚ฌ์šฉํ–ˆ์Šต๋‹ˆ๋‹ค.

  • RuPostges์™€๋„ 2007๋…„๋ถ€ํ„ฐ ๊ทธ๋ฃนํ™”๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

  • ์šฐ๋ฆฌ๋Š” Meetup์—์„œ 2100๋ช… ์ด์ƒ์˜ ์ฐธ๊ฐ€์ž๋กœ ์„ฑ์žฅํ–ˆ์Šต๋‹ˆ๋‹ค. ์˜ค๋žซ๋™์•ˆ ์ƒŒํ”„๋ž€์‹œ์Šค์ฝ”์— ์ถ”์›”๋‹นํ•œ ๋‰ด์š•์— ์ด์–ด ์„ธ๊ณ„ XNUMX์œ„๋‹ค.

  • ์ €๋Š” ๋ช‡ ๋…„ ๋™์•ˆ ์บ˜๋ฆฌํฌ๋‹ˆ์•„์—์„œ ์‚ด์•˜์Šต๋‹ˆ๋‹ค. ๋‚˜๋Š” ๋Œ€๊ธฐ์—…์„ ํฌํ•จํ•˜์—ฌ ๋ฏธ๊ตญ ํšŒ์‚ฌ์™€ ๋” ๋งŽ์ด ๊ฑฐ๋ž˜ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ Postgres์˜ ํ™œ์„ฑ ์‚ฌ์šฉ์ž์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ์ข…๋ฅ˜์˜ ํฅ๋ฏธ๋กœ์šด ๊ฒƒ๋“ค์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

https://postgres.ai/ ๋‚ด ํšŒ์‚ฌ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ๊ฐœ๋ฐœ ์†๋„ ์ €ํ•˜๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์ž‘์—…์„ ์ž๋™ํ™”ํ•˜๋Š” ์‚ฌ์—…์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

https://www.seagate.com/files/www-content/our-story/trends/files/idc-seagate-dataage-whitepaper.pdf

์ €๋Š” ์ตœ๊ทผ์— ๋กœ์Šค์•ค์ ค๋ ˆ์Šค์˜ VLDB์— ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ด€ํ•œ ๊ฐ€์žฅ ํฐ ํšŒ์˜์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•ž์œผ๋กœ๋Š” DBMS๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•  ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ์ž๋™์œผ๋กœ ์‚ญ์ œํ•  ๊ฒƒ์ด๋ผ๋Š” ๋ณด๊ณ ๋„ ์žˆ์—ˆ๋‹ค. ์ด๊ฒƒ์€ ์ƒˆ๋กœ์šด ์ฃผ์ œ์ž…๋‹ˆ๋‹ค.

์ œํƒ€๋ฐ”์ดํŠธ ์„ธ๊ณ„์—๋Š” ์ ์  ๋” ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, 1ํŽ˜ํƒ€๋ฐ”์ดํŠธ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํ˜„์žฌ ์ „ ์„ธ๊ณ„์— 000์ œํƒ€๋ฐ”์ดํŠธ ์ด์ƒ์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋˜์–ด ์žˆ๋Š” ๊ฒƒ์œผ๋กœ ์ด๋ฏธ ์ถ”์ •๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ ์  ๋” ๋งŽ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

https://vldb2019.github.io/files/VLDB19-keynote-2-slides.pdf

๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์œผ๋กœ ๋ฌด์—‡์„ํ•ด์•ผํ•ฉ๋‹ˆ๊นŒ? ๋‹น์—ฐํžˆ ์ œ๊ฑฐํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ์€ ์ด ํฅ๋ฏธ๋กœ์šด ๋ณด๊ณ ์„œ์— ๋Œ€ํ•œ ๋งํฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ง€๊ธˆ๊นŒ์ง€ ์ด๊ฒƒ์€ DBMS์—์„œ ๊ตฌํ˜„๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

๋ˆ์„ ์„ธ๋Š” ์‚ฌ๋žŒ์€ ๋‘ ๊ฐ€์ง€๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋“ค์€ ์šฐ๋ฆฌ๊ฐ€ ์‚ญ์ œํ•˜๊ธฐ๋ฅผ ์›ํ•˜๋ฏ€๋กœ ๊ธฐ์ˆ ์ ์œผ๋กœ ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์ผ๋ฐ˜์ ์œผ๋กœ ์ž‘์—…์€ ํŠน์ • ํ•ญ๋ชฉ, ์ผ๋ถ€ ํ…Œ์ด๋ธ”์˜ ํŠน์ • ํ–‰ ์‚ญ์ œ๋ฅผ ์ž๋™ํ™”ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๊ทธ๋ฆฌ๊ณ  ์˜ค๋Š˜ ์šฐ๋ฆฌ๊ฐ€ ์ด์•ผ๊ธฐ ํ•  ์š”์ฒญ, ์ฆ‰ ์“ฐ๋ ˆ๊ธฐ ์ œ๊ฑฐ์— ๊ด€ํ•œ ์š”์ฒญ์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์ˆ™๋ จ๋œ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ์ž‘์—…์„ ์š”์ฒญํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š”์ด ์š”์ฒญ์„ ๋ฐ›์•„ ์ง์ ‘ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์Šคํ…Œ์ด์ง• ํ…Œ์ŠคํŠธ - ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค. ๋กค์•„์›ƒ - ๋ชจ๋“  ๊ฒƒ์ด ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ํ•˜๋ฃจ์— ํ•œ ๋ฒˆ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ชจ๋“  ๊ฒƒ์ด ์ •์ƒ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ ์  ์ปค์ง‘๋‹ˆ๋‹ค. Daily DELETE๊ฐ€ ์กฐ๊ธˆ ๋” ๋Š๋ฆฌ๊ฒŒ ์ž‘๋™ํ•˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๊ทธ๋Ÿฐ ๋‹ค์Œ ์ด์ œ ๋งˆ์ผ€ํŒ… ํšŒ์‚ฌ๊ฐ€ ์žˆ๊ณ  ํŠธ๋ž˜ํ”ฝ์ด ๋ช‡ ๋ฐฐ ๋” ์ปค์งˆ ๊ฒƒ์ด๋ผ๋Š” ๊ฒƒ์„ ์ดํ•ดํ•˜๋ฏ€๋กœ ๋ถˆํ•„์š”ํ•œ ๊ฒƒ์„ ์ผ์‹œ์ ์œผ๋กœ ์ค‘๋‹จํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋Œ์•„๊ฐ€๋Š” ๊ฒƒ์„ ์žŠ์œผ์‹ญ์‹œ์˜ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๋ช‡ ๋‹ฌ ํ›„ ๊ทธ๋“ค์€ ๊ธฐ์–ตํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ทธ๋งŒ ๋‘๊ฑฐ๋‚˜ ๋‹ค๋ฅธ ์ผ๋กœ ๋ฐ”์˜๋ฉด ๋‹ค๋ฅธ ์‚ฌ๋žŒ์—๊ฒŒ ๋ฐ˜ํ™˜ํ•˜๋„๋ก ์ง€์‹œํ–ˆ์Šต๋‹ˆ๋‹ค.

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‚˜์š”? ๋‹ค์Œ์€ ์ž˜๋ชป๋˜์—ˆ์„ ์ˆ˜ ์žˆ๋Š” ํ•ญ๋ชฉ์˜ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ์ด ์ค‘ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

  • ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฒ€ํ† ๊ฐ€ ์—†์—ˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, DBA ์ „๋ฌธ๊ฐ€๊ฐ€ ๊ฒ€ํ† ํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ๋Š” ์ˆ™๋ จ๋œ ๋ˆˆ์œผ๋กœ ์ฆ‰์‹œ ๋ฌธ์ œ๋ฅผ ๋ฐœ๊ฒฌํ•  ๊ฒƒ์ด๋ฉฐ, ๊ฒŒ๋‹ค๊ฐ€ ์ˆ˜๋ฐฑ๋งŒ ๋ผ์ธ์ด ์ถ•์ ๋œ prod์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ญ”๊ฐ€ ์ž˜๋ชป ํ™•์ธํ–ˆ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ํ•˜๋“œ์›จ์–ด๊ฐ€ ๊ตฌ์‹์ด์–ด์„œ ์ด ๊ธฐ๋ฐ˜์„ ์—…๊ทธ๋ ˆ์ด๋“œํ•ด์•ผ ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž์ฒด์— ๋ฌธ์ œ๊ฐ€ ์žˆ์–ด Postgres์—์„œ MySQL๋กœ ์ด๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์•„๋‹ˆ๋ฉด ์ž‘๋™์— ๋ฌธ์ œ๊ฐ€ ์žˆ๋Š” ๊ฒƒ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ž‘์—… ์กฐ์ง์— ์‹ค์ˆ˜๊ฐ€ ์žˆ์–ด์„œ ๋ˆ„๊ตฐ๊ฐ€๋ฅผ ํ•ด๊ณ ํ•˜๊ณ  ์ตœ๊ณ ์˜ ์‚ฌ๋žŒ์„ ๊ณ ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

DBA ํ™•์ธ์ด ์—†์—ˆ์Šต๋‹ˆ๋‹ค. DBA๊ฐ€ ์žˆ๋‹ค๋ฉด ๊ทธ๋Š” ์ด๋Ÿฌํ•œ ์ˆ˜๋ฐฑ๋งŒ ์ค„์„ ๋ณด๊ณ  ์‹คํ—˜ ์—†์ด๋„ "๊ทธ๋“ค์€ ๊ทธ๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค."๋ผ๊ณ  ๋งํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ฝ”๋“œ๊ฐ€ GitLab, GitHub์— ์žˆ๊ณ  ์ฝ”๋“œ ๊ฒ€ํ†  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ๊ณ  DBA์˜ ์Šน์ธ ์—†์ด ์ด ์ž‘์—…์ด ํ”„๋กœ๋•์…˜์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๊ทธ๋Ÿฐ ์ผ์ด ์—†๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด DBA๋Š” ๋ถ„๋ช…ํžˆ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋งํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค. .โ€

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๊ทธ๋ฆฌ๊ณ  ๊ทธ๋Š” ๋””์Šคํฌ IO์— ๋ฌธ์ œ๊ฐ€ ์žˆ๊ณ  ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฏธ์ณ ๊ฐ€๊ณ  ์ž ๊ธˆ์ด์žˆ์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ช‡ ๋ถ„ ๋™์•ˆ autovacuum์„ ์ฐจ๋‹จํ•  ๊ฒƒ์ด๋ฏ€๋กœ ์ข‹์ง€ ์•Š๋‹ค๊ณ  ๋งํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

http://bit.ly/nancy-hl2018-2

๋‘ ๋ฒˆ์งธ ์‹ค์ˆ˜ - ๊ทธ๋“ค์€ ์ž˜๋ชป๋œ ์žฅ์†Œ๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” prod์— ๋งŽ์€ ์ •ํฌ ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ•์ ๋œ๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋‚˜์ค‘์— ๋ณด์•˜์ง€๋งŒ ๊ฐœ๋ฐœ์ž๋Š” ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ•์ ํ•˜์ง€ ์•Š์•˜๊ณ  ์Šคํ…Œ์ด์ง• ์ค‘์— ์•„๋ฌด๋„ ์ด๋Ÿฌํ•œ ์ •ํฌ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค. ๊ทธ์— ๋”ฐ๋ผ 1๊ฐœ์˜ ๋Œ€์‚ฌ๊ฐ€ ์ˆœ์‹๊ฐ„์— ํ’€๋ ธ๋‹ค.

์šฐ๋ฆฌ๋Š” ํ…Œ์ŠคํŠธ๊ฐ€ ์•ฝํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ๊ตฌ์ถ•๋œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌธ์ œ๋ฅผ ํฌ์ฐฉํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค. ์ ์ ˆํ•œ DB ์‹คํ—˜์ด ์ˆ˜ํ–‰๋˜์ง€ ์•Š์•˜์Šต๋‹ˆ๋‹ค.

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

ํด๋ผ์šฐ๋“œ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์—…๊ทธ๋ ˆ์ด๋“œ๊ฐ€ ์‰ฝ๊ฒŒ ์ˆ˜ํ–‰๋ฉ๋‹ˆ๋‹ค. ์ƒˆ ํ•˜๋“œ์›จ์–ด์—์„œ ์ƒˆ ๋ณต์ œ๋ณธ์„ ์ƒ์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ „ํ™˜. ๊ทธ๋ฆฌ๊ณ  ๋ชจ๋“  ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์•„์ฃผ ์‰ฝ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์–ด๋–ป๊ฒŒ๋“  ๋” ์ž‘์€ ๋””์Šคํฌ๋ฅผ ๋งŒ์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์—์„œ๋Š” DBA์˜ ๋„์›€์„ ๋ฐ›์•„ ์ฒดํฌํฌ์ธํŠธ ํŠœ๋‹์ด๋ผ๋Š” ํŠน์ • ์ฃผ์ œ์— ๋Œ€ํ•ด ์•Œ์•„๋ด…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ฒดํฌํฌ์ธํŠธ ํŠœ๋‹์„ ํ•˜์ง€ ์•Š์€ ๊ฒƒ์œผ๋กœ ๋‚˜ํƒ€๋‚ฌ์Šต๋‹ˆ๋‹ค.

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

Postgres์˜ ์„ค์ •์ด ๋’ค์ณ์ ธ ์žˆ์Šต๋‹ˆ๋‹ค. 10-15๋…„ ๋œ ๋ฐ์ดํ„ฐ ๋ฐ ํŠธ๋žœ์žญ์…˜ ๋ณผ๋ฅจ์„ ์œ„ํ•ด ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌํฌ์ธํŠธ๋„ ์˜ˆ์™ธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค.

๋‹ค์Œ์€ Postgres ์ ๊ฒ€ ๋ณด๊ณ ์„œ, ์ฆ‰ ์ž๋™ ์ƒํƒœ ์ ๊ฒ€์˜ ์ •๋ณด์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ ๋ช‡ ํ…Œ๋ผ๋ฐ”์ดํŠธ์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฑฐ์˜ 90%์˜ ๊ฒฝ์šฐ์— ์ฒดํฌํฌ์ธํŠธ๋ฅผ ๊ฐ•์ œํ•˜๋Š” ๊ฒƒ์„ ์ž˜ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฌด์Šจ ๋œป์ด์—์š”? ๊ฑฐ๊ธฐ์—๋Š” ๋‘ ๊ฐ€์ง€ ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒดํฌํฌ์ธํŠธ๋Š” ์˜ˆ๋ฅผ ๋“ค์–ด 10๋ถ„ ํ›„์— ์ œํ•œ ์‹œ๊ฐ„์— ๋„๋‹ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜๋Š” ๊ฝค ๋งŽ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ฑ„์›Œ์กŒ์„ ๋•Œ ์˜ฌ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ์ ์œผ๋กœ max_wal_saze๋Š” 1GB๋กœ ์„ค์ •๋ฉ๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ด๊ฒƒ์€ Postgres์—์„œ 300-400MB ์ดํ›„์— ์‹ค์ œ๋กœ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋„ˆ๋ฌด ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ–ˆ๊ณ  ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์•„๋ฌด๋„ ๊ทธ๊ฒƒ์„ ์กฐ์ •ํ•˜์ง€ ์•Š๊ณ  ์„œ๋น„์Šค๊ฐ€ ์„ฑ์žฅํ•˜๊ณ  ํšŒ์‚ฌ๊ฐ€ ๋งŽ์€ ๋ˆ์„ ๋ฒŒ๊ณ  ๋งŽ์€ ํŠธ๋žœ์žญ์…˜์ด ๋ฐœ์ƒํ•˜๋ฉด ์ฒดํฌ ํฌ์ธํŠธ๋Š” 30 ๋ถ„์— ํ•œ ๋ฒˆ, ๋•Œ๋กœ๋Š” XNUMX ์ดˆ๋งˆ๋‹ค, ๋•Œ๋กœ๋Š” ๊ฒน์น˜๊ธฐ๋„ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋งค์šฐ ๋‚˜์ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์ด ๋œ ์ž์ฃผ ์˜ค๋Š”์ง€ ํ™•์ธํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, max_wal_size๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋œ ์ž์ฃผ ์˜ฌ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ๋‘ ๊ฐ€์ง€ ์ผ๋ จ์˜ ์‹คํ—˜์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

์ฒซ ๋ฒˆ์งธ ์‹œ๋ฆฌ์ฆˆ - max_wal_size๋ฅผ ๋ณ€๊ฒฝํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๋Œ€๋Œ€์ ์ธ ์ˆ˜์ˆ ์„ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋จผ์ € ๊ธฐ๋ณธ ์„ค์ •์ธ 1GB์—์„œ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ˆ˜๋ฐฑ๋งŒ ์ค„์˜ ๋Œ€๊ทœ๋ชจ DELETE๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ์–ผ๋งˆ๋‚˜ ํž˜๋“ ์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋””์Šคํฌ IO๊ฐ€ ๋งค์šฐ ๋‚˜์˜๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ƒ์„ฑํ•œ WAL์˜ ์ˆ˜๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋งค์šฐ ์ค‘์š”ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ๋ช‡ ๋ฒˆ ๋ฐœ์ƒํ–ˆ๋Š”์ง€ ๋ด…์‹œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๊ทธ๊ฒƒ์ด ์ข‹์ง€ ์•Š๋‹ค๋Š” ๊ฒƒ์„ ์••๋‹ˆ๋‹ค.

๋‹ค์Œ์œผ๋กœ max_wal_size๋ฅผ ๋Š˜๋ฆฝ๋‹ˆ๋‹ค. ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ์ฆ๊ฐ€ํ•˜๊ณ  ๋ฐ˜๋ณตํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๋Ÿฌ ๋ฒˆ. ์›์น™์ ์œผ๋กœ 10, 1, 2, 4๊ธฐ๊ฐ€๋ฐ”์ดํŠธ์ธ 8ํฌ์ธํŠธ๊ฐ€ ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ํŠน์ • ์‹œ์Šคํ…œ์˜ ๋™์ž‘์„ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์žฅ๋น„๋Š” ์˜จ ํ”„๋กœ๋•์…˜๊ณผ ๊ฐ™์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋™์ผํ•œ ๋””์Šคํฌ, ๋™์ผํ•œ ์–‘์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ๋™์ผํ•œ Postgres ์„ค์ •์ด ์žˆ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์ด๋Ÿฐ ์‹์œผ๋กœ ์šฐ๋ฆฌ๋Š” ์‹œ์Šคํ…œ์„ ๊ตํ™˜ํ•  ๊ฒƒ์ด๊ณ , ๋ถˆ๋Ÿ‰ ๋Œ€๋Ÿ‰ DELETE์˜ ๊ฒฝ์šฐ DBMS๊ฐ€ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•˜๋Š”์ง€, ์–ด๋–ป๊ฒŒ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์ง€์ •ํ•˜๋Š”์ง€ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋Ÿฌ์‹œ์•„์–ด๋กœ ๊ฒ€๋ฌธ์†Œ๋Š” ๊ฒ€๋ฌธ์†Œ์ž…๋‹ˆ๋‹ค.

์˜ˆ: ์ƒ‰์ธ๋ณ„๋กœ ์ˆ˜๋ฐฑ๋งŒ ๊ฐœ์˜ ํ–‰์„ DELETE, ํ–‰์€ ํŽ˜์ด์ง€ ์ „์ฒด์— "๋ถ„์‚ฐ"๋ฉ๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์ด๋Ÿฌํ•œ ์ž‘์—…์ด prod์—์„œ ํ—ˆ์šฉ๋˜๋ฉด ํ•˜๋‚˜์˜ DELETE๊ฐ€ ์„ ๋ฐ˜์—์„œ ์šฐ๋ฆฌ๋ฅผ ์ฃฝ์ด๋Š” ๊ฒƒ์ด ๋ถ„๋ช…ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์šฐ๋ฆฌ๋Š” ๊ทธ๋ƒฅ ๋ˆ„์šธ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๋˜ํ•œ 16GB์˜ ๊ฒฝ์šฐ ์ด๋ฏธ ์น˜์•„๊ฐ€ ์‚ฌ๋ผ์ง„ ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ์šฐ๋ฆฌ๋Š” ์ฒœ์žฅ์„ ๋‘๋“œ๋ฆฌ๊ณ  ์žˆ์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ๋‚˜์˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ์—๋Š” ์•ฝ๊ฐ„์˜ ์ž์œ ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์˜ค๋ฅธ์ชฝ์€ ๊ธฐ๋ก์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ž‘์—… ์ˆ˜ - ๋‘ ๋ฒˆ์งธ ๊ทธ๋ž˜ํ”„. ๊ทธ๋ฆฌ๊ณ  16GB์ผ ๋•Œ ์šฐ๋ฆฌ๋Š” ์ด๋ฏธ ์กฐ๊ธˆ ๋” ์‰ฝ๊ฒŒ ํ˜ธํกํ•˜๊ณ  ์žˆ์Œ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์™œ ๊ทธ๋Ÿด๊นŒ์š”?

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์กฐ๊ธˆ ๋” ์ž์„ธํžˆ ์•Œ์•„๋ณด๊ฒ ์ง€๋งŒ ์ด ์ฃผ์ œ์ธ ์ฒดํฌํฌ์ธํŠธ ํŠœ๋‹ ๋ฐฉ๋ฒ•์€ ์ „์ฒด ๋ณด๊ณ ์„œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๋งŽ์ด ๋กœ๋“œํ•˜์ง€๋Š” ์•Š๊ฒ ์ง€๋งŒ ์–ด๋–ค ์–ด๋ ค์›€์ด ์žˆ๋Š”์ง€ ์กฐ๊ธˆ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

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

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๊ทธ๋Ÿฌ๋‚˜ ๊ทธ๊ฒƒ์ด ์ „๋ถ€๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ํŽ˜์ด์ง€๋Š” Postgres์—์„œ 8KB์ด๊ณ  Linux์—์„œ 4KB์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  full_page_writes ์„ค์ •์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ํ™œ์„ฑํ™”๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋„๋ฉด ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•˜๋ฉด ํŽ˜์ด์ง€์˜ ์ ˆ๋ฐ˜ ๋งŒ ์ €์žฅ ๋  ์œ„ํ—˜์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด๊ฒƒ์€ ๋งž์Šต๋‹ˆ๋‹ค.

ํฌ์›Œ๋“œ ๋กœ๊ทธ์˜ WAL์— ๊ธฐ๋กํ•˜๋Š” ๋™์ž‘์€ ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ์žˆ๊ณ  ํŽ˜์ด์ง€๋ฅผ ์ฒ˜์Œ์œผ๋กœ ๋ณ€๊ฒฝํ•  ๋•Œ ํŽ˜์ด์ง€ ์ „์ฒด, ์ฆ‰ 8KB ๋ชจ๋‘๊ฐ€ ํฌ์›Œ๋“œ ๋กœ๊ทธ์— ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ๋ฌด๊ฒŒ๊ฐ€ 100๋ฐ”์ดํŠธ์ธ ์ค„. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ์ ์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

๋”ฐ๋ผ์„œ ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ๋‹ค์‹œ ๋ฐœ์ƒํ•˜๋ฉด ๋ชจ๋“  ๊ฒƒ์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์ „์ฒด ํŽ˜์ด์ง€๋ฅผ ํ‘ธ์‹œํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋นˆ๋ฒˆํ•œ ์ฒดํฌํฌ์ธํŠธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋™์ผํ•œ ํŽ˜์ด์ง€๋ฅผ ํ†ต๊ณผํ•  ๋•Œ full_page_writes = on์ด ๊ฐ€๋Šฅํ•œ ๊ฒƒ๋ณด๋‹ค ๋งŽ์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰, ๋” ๋งŽ์€ WAL์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๋” ๋งŽ์€ ์ •๋ณด๊ฐ€ ๋ณต์ œ๋ณธ, ์•„์นด์ด๋ธŒ, ๋””์Šคํฌ๋กœ ์ „์†ก๋ฉ๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‘ ๊ฐ€์ง€ ์ค‘๋ณต์ด ์žˆ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

max_wal_size๋ฅผ ๋Š˜๋ฆฌ๋ฉด ์ฒดํฌํฌ์ธํŠธ์™€ wal ์ž‘์„ฑ์ž ๋ชจ๋‘์—๊ฒŒ ๋” ์‰ฌ์›Œ์ง‘๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ํ›Œ๋ฅญํ•ฉ๋‹ˆ๋‹ค.

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

์šฐ๋ฆฌ๋Š” ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์ฒดํฌํฌ์ธํŠธ๊ฐ€ ์™„๋ฃŒ๋˜๋ ค๊ณ  ํ•  ๋•Œ๋ฅผ ํ™•์ธํ•˜๊ณ  ์˜๋„์ ์œผ๋กœ kill -9 Postgres๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ ๋‹ค์Œ ๋‹ค์‹œ ์‹œ์ž‘ํ•˜๊ณ  ์ด ์žฅ๋น„์—์„œ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ์ƒ์Šนํ• ์ง€, ์ฆ‰ ์ด ๋‚˜์œ ์ƒํ™ฉ์—์„œ ์–ผ๋งˆ๋‚˜ REDOํ•  ๊ฒƒ์ธ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

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

๋‹ค์–‘ํ•œ max_wal_size ํฌ๊ธฐ์— ๋Œ€ํ•ด ์ด๋Ÿฌํ•œ ์ƒํ™ฉ์„ ์ธก์ •ํ•˜๊ณ  max_wal_size๊ฐ€ 64GB์ธ ๊ฒฝ์šฐ ์ด์ค‘ ์ตœ์•…์˜ ๊ฒฝ์šฐ 10๋ถ„ ๋™์•ˆ ์˜ฌ๋ผ๊ฐˆ ๊ฒƒ์ž„์„ ์ดํ•ดํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์ด ์šฐ๋ฆฌ์—๊ฒŒ ์ ํ•ฉํ•œ์ง€ ์•„๋‹Œ์ง€๋ฅผ ์ƒ๊ฐํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋น„์ฆˆ๋‹ˆ์Šค ์งˆ๋ฌธ์ž…๋‹ˆ๋‹ค. ์šฐ๋ฆฌ๋Š” ์ด ์‚ฌ์ง„์„ ๋น„์ฆˆ๋‹ˆ์Šค ์˜์‚ฌ๊ฒฐ์ • ์ฑ…์ž„์ž์—๊ฒŒ ๋ณด์—ฌ์ฃผ๊ณ  โ€œ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒผ์„ ๋•Œ ๊ธฐ๊ปํ•ด์•ผ ์–ผ๋งˆ๋‚˜ ์˜ค๋ž˜ ๋ˆ„์›Œ์žˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ? ์ตœ์•…์˜ ์ƒํ™ฉ์—์„œ 3~5๋ถ„ ๋ˆ„์›Œ์žˆ์„ ์ˆ˜ ์žˆ์„๊นŒ? ๊ทธ๋ฆฌ๊ณ  ๋‹น์‹ ์€ ๊ฒฐ์ •์„ ๋‚ด๋ฆฝ๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ์— ํฅ๋ฏธ๋กœ์šด ์ ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ปจํผ๋Ÿฐ์Šค์—์„œ Patroni์— ๋Œ€ํ•œ ๋ช‡ ๊ฐ€์ง€ ๋ณด๊ณ ์„œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์•„๋งˆ๋„ ๋‹น์‹ ์€ ๊ทธ๊ฒƒ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Postgres์˜ ์ž๋™ ์žฅ์•  ์กฐ์น˜์ž…๋‹ˆ๋‹ค. GitLab๊ณผ Data Egret์ด ์ด์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค.

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

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

์ž๋™ ์žฅ์•  ์กฐ์น˜๊ฐ€ ์žˆ์–ด๋„ ๋„ˆ๋ฌด ๋ฉ€๋ฆฌ ๊ฐ€์ง€ ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ 64, 100GB์™€ ๊ฐ™์€ ๊ฐ’์€ ์ข‹์€ ๊ฐ’์ž…๋‹ˆ๋‹ค. ๋•Œ๋กœ๋Š” ๋œ ์„ ํƒํ•  ๊ฐ€์น˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๊ฒƒ์€ ๋ฏธ๋ฌ˜ํ•œ ๊ณผํ•™์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

์˜ˆ๋ฅผ ๋“ค์–ด max_wal_size =1, 8๊ณผ ๊ฐ™์ด ๋ฐ˜๋ณตํ•˜๋ ค๋ฉด ๋Œ€๋Ÿ‰ ์ž‘์—…์„ ์—ฌ๋Ÿฌ ๋ฒˆ ๋ฐ˜๋ณตํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๋„ค๊ฐ€ ํ•ด๋ƒˆ์–ด. ๊ทธ๋ฆฌ๊ณ  ๊ฐ™์€ ๊ธฐ์ง€์—์„œ ๋‹ค์‹œ ํ•˜๊ณ  ์‹ถ์ง€๋งŒ ์ด๋ฏธ ๋ชจ๋“  ๊ฒƒ์„ ์‚ญ์ œํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฌด์—‡์„ ํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?

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

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

์ด DELETE with ROLLBACK์€ ์ ์ ˆํ•˜๊ฒŒ ๋ฐฐํฌ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋žฉ์ด ์—†๋Š” ๊ฒฝ์šฐ์—๋„ ์ฒดํฌํฌ์ธํŠธ ํŠœ๋‹์— ์ด์ƒ์ ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

ํ•˜๋‚˜์˜ ์—ด "i"๋กœ ์ ‘์‹œ๋ฅผ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. Postgres์—๋Š” ์œ ํ‹ธ๋ฆฌํ‹ฐ ์—ด์ด ์žˆ์Šต๋‹ˆ๋‹ค. ํŠน๋ณ„ํžˆ ์š”์ฒญํ•˜์ง€ ์•Š๋Š” ํ•œ ๋ณด์ด์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋“ค์€ ctid, xmid, xmax์ž…๋‹ˆ๋‹ค.

Ctid๋Š” ๋ฌผ๋ฆฌ์  ์ฃผ์†Œ์ž…๋‹ˆ๋‹ค. ์ œ๋กœ ํŽ˜์ด์ง€, ํŽ˜์ด์ง€์˜ ์ฒซ ๋ฒˆ์งธ ํŠœํ”Œ.

ROOLBACK ํ›„์— ํŠœํ”Œ์ด ๊ฐ™์€ ์œ„์น˜์— ๋‚จ์•„ ์žˆ์Œ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋‹ค์‹œ ์‹œ๋„ํ•˜๋ฉด ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ์ค‘์š”ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

Xmax๋Š” ํŠœํ”Œ์˜ ์‚ฌ๋ง ์‹œ๊ฐ„์ž…๋‹ˆ๋‹ค. ์Šคํƒฌํ”„๊ฐ€ ์ฐํ˜”์ง€๋งŒ Postgres๋Š” ํŠธ๋žœ์žญ์…˜์ด ๋กค๋ฐฑ๋œ ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์œผ๋ฏ€๋กœ 0์ธ์ง€ ๋˜๋Š” ๋กค๋ฐฑ๋œ ํŠธ๋žœ์žญ์…˜์ธ์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Š” DELETE๋ฅผ ๋ฐ˜๋ณตํ•˜๊ณ  ์‹œ์Šคํ…œ ๋™์ž‘์˜ ๋Œ€๋Ÿ‰ ์ž‘์—…์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Œ์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ๊ฐ€๋‚œํ•œ ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹คํ—˜์‹ค์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

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

๊นจ๋Š” ๊ฒƒ์ด ์™œ ์ค‘์š”ํ•œ๊ฐ€์š”?

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

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

https://postgres.ai/products/joe/

์ด๊ฑด ์žฌ๋ฏธ ์žˆ๋„ค. ๋‚˜๋Š” ์ข…์ข… ๊ฐœ๋ฐœ์ž๋“ค์ด "์–ด๋–ค ํŒฉ ํฌ๊ธฐ๋ฅผ ์„ ํƒํ•ด์•ผ ํ•ฉ๋‹ˆ๊นŒ?"๋ผ๊ณ  ๋ฌป๋Š” ๊ฒƒ์„ ๋ด…๋‹ˆ๋‹ค.

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

์•„์ฃผ ๊ฐ„๋‹จํ•œ ๊ทœ์น™์ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ€๋Šฅํ•œ ํ•œ ๋งŽ์ด ๊ฐ€์ ธ๊ฐ€๋˜ ์ดˆ๋‹น ์‹คํ–‰ ํŒŒ์ผ์„ ๋„˜์ง€ ๋งˆ์‹ญ์‹œ์˜ค.

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

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

์šฐ๋ฆฌ๋Š” ํŒฉ์˜ ํฌ๊ธฐ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. ๊ฐ๊ฐ์˜ ๊ฒฝ์šฐ์— ๋‹ค๋ฅด๊ฒŒ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ํ•œ ํŒฉ ์ฒ˜๋ฆฌ์˜ ํšจ์œจ์„ฑ์„ ํ™•์‹ ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ•˜๋‚˜์˜ ํŒฉ์„ DELETEํ•˜๊ฑฐ๋‚˜ UPDATEํ•ฉ๋‹ˆ๋‹ค.

๊ทธ๊ฑด ๊ทธ๋ ‡๊ณ , ๋‚ด๊ฐ€ ๋งํ•˜๋Š” ๋ชจ๋“  ๊ฒƒ์€ DELETE์— ๊ด€ํ•œ ๊ฒƒ์ด ์•„๋‹™๋‹ˆ๋‹ค. ์ง์ž‘ํ•˜์…จ๊ฒ ์ง€๋งŒ ์ด๋Š” ๋ฐ์ดํ„ฐ์— ๋Œ€ํ•œ ๋Œ€๋Ÿ‰ ์ž‘์—…์ž…๋‹ˆ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ๊ณ„ํš์ด ํ›Œ๋ฅญํ•˜๋‹ค๋Š” ๊ฒƒ์„ ์••๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ์Šค์บ”์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ธ๋ฑ์Šค ์ „์šฉ ์Šค์บ”์ด ํ›จ์”ฌ ์ข‹์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์†Œ๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  XNUMX์ดˆ๋„ ์ฑ„ ๋˜์ง€ ์•Š์•„ ์„ฑ์ทจ๋ฉ๋‹ˆ๋‹ค. ๊ฐ๋…์ž.

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

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

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

https://docs.gitlab.com/ee/development/background_migrations.html

ํŒŒํ‹ฐ์…”๋‹ ์ „๋žต์ด๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? ๋‚˜๋Š” ํŒฉ์˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” 3๊ฐ€์ง€ ๋‹ค๋ฅธ ํŒŒํ‹ฐ์…”๋‹ ์ „๋žต์„ ๋ด…๋‹ˆ๋‹ค.

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

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

๊ทธ๋Ÿฐ๋ฐ ์ฒซ ๋ฒˆ์งธ ์ „๋žต์—์„œ๋„ ์—ฌ๋Ÿฌ ์Šค๋ ˆ๋“œ์—์„œ ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

https://medium.com/@samokhvalov/how-partial-indexes-affect-update-performance-in-postgres-d05e0052abc

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

์ผ๋ฐ˜์ ์œผ๋กœ ์ธ๋ฑ์Šค๋งŒ ์Šค์บ”ํ•˜๋Š” ๊ฒƒ์ด ์ธ๋ฑ์Šค ์Šค์บ”๋ณด๋‹ค ๋น ๋ฆ…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

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

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

๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์ด ๊ฐ€์žฅ ์ตœ์ ์˜ ์ „๋žต์ž…๋‹ˆ๋‹ค. ๋ฐฐ์น˜๋กœ ๋ถ„ํ• ํ•˜๊ณ  ํ•˜๋‚˜์˜ ์š”์ฒญ์œผ๋กœ ๋ฐฐ์น˜์—์„œ ์ดฌ์˜ํ•˜๊ณ  ์กฐ๊ธˆ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ• ๋“ฑ์ž…๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๊ธด ํŠธ๋žœ์žญ์…˜ https://gitlab.com/snippets/1890447

์ฐจ๋‹จ๋œ autovacuum - https://gitlab.com/snippets/1889668

์ฐจ๋‹จ ๋ฌธ์ œ - https://gitlab.com/snippets/1890428

์‹ค์ˆ˜ #5๋Š” ํฐ ์‹ค์ˆ˜์ž…๋‹ˆ๋‹ค. Okmeter์˜ Nikolai๊ฐ€ Postgres ๋ชจ๋‹ˆํ„ฐ๋ง์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ถˆํ–‰ํžˆ๋„ ์ด์ƒ์ ์ธ Postgres ๋ชจ๋‹ˆํ„ฐ๋ง์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€๋Š” ๋” ๊ฐ€๊น๊ณ  ์ผ๋ถ€๋Š” ๋” ๋ฉ€๋‹ค. Okmeter๋Š” ์™„๋ฒฝ์— ๊ฐ€๊น์ง€๋งŒ ๋งŽ์€ ๊ฒƒ์ด ๋ˆ„๋ฝ๋˜์–ด ์ถ”๊ฐ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•œ ์ค€๋น„๊ฐ€ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐ๋“œ ํŠœํ”Œ์ด ๊ฐ€์žฅ ์ž˜ ๋ชจ๋‹ˆํ„ฐ๋ง๋ฉ๋‹ˆ๋‹ค. ํ…Œ์ด๋ธ”์— ์ฃฝ์€ ๊ฒƒ์ด ๋งŽ์ด ์žˆ์œผ๋ฉด ๋ญ”๊ฐ€ ์ž˜๋ชป๋œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ง€๊ธˆ ๋Œ€์‘ํ•˜๋Š” ๊ฒƒ์ด ๋” ๋‚ซ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๋ˆ„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ์–ด๋‚œ๋‹ค.

IO๊ฐ€ ํฌ๋ฉด ์ข‹์ง€ ์•Š์€ ๊ฒƒ์ด ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ธด ๊ฑฐ๋ž˜๋„. ๊ธด ํŠธ๋žœ์žญ์…˜์€ OLTP์—์„œ ํ—ˆ์šฉ๋˜์ง€ ์•Š์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์—ฌ๊ธฐ ์Šค๋‹ˆํŽซ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ์–ด ์ด ์Šค๋‹ˆํŽซ์„ ๊ฐ€์ ธ์˜ค๊ณ  ์ด๋ฏธ ๊ธด ํŠธ๋žœ์žญ์…˜์„ ์ผ๋ถ€ ์ถ”์ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

๊ทธ๋ฆฌ๊ณ  ๋ธ”๋ก์„ ๋ฐœํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๋ธ”๋ก ๋‚˜๋ฌด์˜ ์ˆฒ. ๋‚˜๋Š” ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ์„œ ๋ฌด์–ธ๊ฐ€๋ฅผ ๊ฐ€์ ธ ์™€์„œ ๊ฐœ์„ ํ•˜๋Š” ๊ฒƒ์„ ์ข‹์•„ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ €๋Š” Data Egret์—์„œ ๋ก ํŠธ๋ฆฌ ์ˆฒ์„ ๋ณด์—ฌ์ฃผ๋Š” ๋ฉ‹์ง„ ์žฌ๊ท€ CTE๋ฅผ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ์ข‹์€ ์ง„๋‹จ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ๊ตฌ์ถ•ํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๊ฒƒ์€ ์‹ ์ค‘ํ•˜๊ฒŒ ์ด๋ฃจ์–ด์ ธ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž์‹ ์„ ์œ„ํ•ด ์ž‘์€ statement_timeout์„ ๋งŒ๋“ค์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  lock_timeout์ด ๋ฐ”๋žŒ์งํ•ฉ๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

๋•Œ๋กœ๋Š” ์ด๋Ÿฌํ•œ ๋ชจ๋“  ์˜ค๋ฅ˜๊ฐ€ ํ•ฉ์‚ฐ๋˜์–ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ œ ์ƒ๊ฐ์—๋Š” ์—ฌ๊ธฐ์—์„œ ๊ฐ€์žฅ ํฐ ์‹ค์ˆ˜๋Š” ์กฐ์ง์ ์ž…๋‹ˆ๋‹ค. ๊ธฐ์ˆ ์ด ๋‹น๊ธฐ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ์กฐ์ง์ ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ 2๋ฒˆ์ž…๋‹ˆ๋‹ค - ๊ทธ๋“ค์€ ์ž˜๋ชป๋œ ์žฅ์†Œ์— ์ฒดํฌ์ธํ–ˆ์Šต๋‹ˆ๋‹ค.

ํ™•์ธํ•˜๊ธฐ ์‰ฌ์šด ํ”„๋กœ๋•์…˜ ํด๋ก ์ด ์—†์—ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ž˜๋ชป๋œ ์œ„์น˜๋ฅผ ํ™•์ธํ–ˆ์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ์ž๋Š” ํ”„๋กœ๋•์…˜์— ์ „ํ˜€ ์•ก์„ธ์Šคํ•˜์ง€ ๋ชปํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

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

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

10ํ…Œ๋ผ๋ฐ”์ดํŠธ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋žฉ๋„ 10ํ…Œ๋ผ๋ฐ”์ดํŠธ๋กœ ๋งŒ๋“ญ๋‹ˆ๋‹ค. ๋˜ํ•œ ๋™์‹œ 10ํ…Œ๋ผ๋ฐ”์ดํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ 10๋ช…์˜ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋™์‹œ์— ์ž‘์—…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ˆ„๊ตฌ๋‚˜ ์›ํ•˜๋Š” ๊ฒƒ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‚ญ์ œ, ์‚ญ์ œ ๋“ฑ์„ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ •๋ง ํ™˜์ƒ์ ์ž…๋‹ˆ๋‹ค. ๋‚ด์ผ ์ด๊ฒƒ์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•˜๊ฒ ์Šต๋‹ˆ๋‹ค.

์นœ์• ํ•˜๋Š” DELETE. ๋‹ˆ์ฝœ๋ผ์ด ์‚ฌ๋ชจํฌ๋ฐœ๋กœํ”„(Postgres.ai)

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

์˜ˆ: 5ํ…Œ๋ผ๋ฐ”์ดํŠธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, 30์ดˆ ์ด๋‚ด์— ์‚ฌ๋ณธ ๊ฐ€์ ธ์˜ค๊ธฐ. ๊ทธ๋ฆฌ๊ณ  ๊ทธ๊ฒƒ์€ ํฌ๊ธฐ์—๋„ ์˜์กดํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ฆ‰, ๋ช‡ ํ…Œ๋ผ๋ฐ”์ดํŠธ์ธ์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜ ๋‹น์‹ ์€ ๊ฐˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค postgres.ai ๋„๊ตฌ๋ฅผ ํŒŒํ—ค์ณ ๋ณด์„ธ์š”. ๋“ฑ๋กํ•˜๋ฉด ๋ฌด์—‡์ด ์žˆ๋Š”์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ด‡์„ ์„ค์น˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๊ฒƒ์€ ๋ฌด๋ฃŒ์ž…๋‹ˆ๋‹ค. ์“ฐ๋‹ค.

์งˆ๋ฌธ

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

์ด๊ฒƒ์€ ๋งค์šฐ ์ข‹์€ ์ ‘๊ทผ ๋ฐฉ์‹์ด๋ฉฐ ๋งค์šฐ ์ข‹์€ ์ž‘์—…์ž…๋‹ˆ๋‹ค. pg_repack์ด ํ•˜๋Š” ์ผ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•˜๋ฉฐ, ID๋ฅผ 4๋ฐ”์ดํŠธ๋กœ ๋งŒ๋“ค ๋•Œ ์ˆ˜ํ–‰ํ•ด์•ผ ํ•˜๋Š” ์ผ๊ณผ ๋งค์šฐ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค. ๋งŽ์€ ํ”„๋ ˆ์ž„์›Œํฌ๊ฐ€ ๋ช‡ ๋…„ ์ „์— ์ด ์ž‘์—…์„ ์ˆ˜ํ–‰ํ–ˆ์œผ๋ฉฐ ํ”Œ๋ ˆ์ดํŠธ๋งŒ ์ปค์กŒ๊ณ  8๋ฐ”์ดํŠธ๋กœ ๋ณ€ํ™˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

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

GitHub์˜ pg_repack์„ ๋ณด๋ฉด ๊ฑฐ๊ธฐ์— ID๋ฅผ int 4์—์„œ int 8๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ์ž‘์—…์ด ์žˆ์„ ๋•Œ pg_repack ์ž์ฒด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์•„์ด๋””์–ด๊ฐ€ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ ๋˜ํ•œ ๊ฐ€๋Šฅํ•˜์ง€๋งŒ ์•ฝ๊ฐ„์˜ ํ•ดํ‚น์ด์ง€๋งŒ ์ด๊ฒƒ๋„ ์ž‘๋™ํ•ฉ๋‹ˆ๋‹ค. pg_repack์ด ์‚ฌ์šฉํ•˜๋Š” ํŠธ๋ฆฌ๊ฑฐ์— ๊ฐœ์ž…ํ•˜์—ฌ "์šฐ๋ฆฌ๋Š” ์ด ๋ฐ์ดํ„ฐ๊ฐ€ ํ•„์š”ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค"๋ผ๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰, ํ•„์š”ํ•œ ๊ฒƒ๋งŒ ์ „์†กํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋Ÿฐ ๋‹ค์Œ ๊ทธ๋Š” ์ „ํ™˜ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

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

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

๋‚˜๋Š” MySQL์˜ ์„ธ๊ณ„์—์„œ ์กฐ๊ธˆ ์™”๊ธฐ ๋•Œ๋ฌธ์— ๋“ค์–ด ์™”์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์šฐ๋ฆฌ๋Š” ์ด ์ ‘๊ทผ๋ฒ•์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

๋‹จ, 90%์ผ ๊ฒฝ์šฐ์—๋งŒ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. 5 %๊ฐ€ ์žˆ์œผ๋ฉด ์‚ฌ์šฉํ•˜๊ธฐ์— ์ข‹์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ์ œํ’ˆ์˜ ์ „์ฒด ๋ณต์‚ฌ๋ณธ์„ ๋งŒ๋“ค ๋ฆฌ์†Œ์Šค๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ ๋ถ€ํ•˜ ๋˜๋Š” ํฌ๊ธฐ๋ฅผ ๊ณ„์‚ฐํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‚˜ ๊ณต์‹์ด ์žˆ์Šต๋‹ˆ๊นŒ?

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

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

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

์ธ๋ฑ์Šค๋Š” ๋๋‚ฌ์Šต๋‹ˆ๋‹ค.

๋™์ผํ•œ ์ฒดํฌํฌ์ธํŠธ ์กฐ์ •์„ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์–ธ์  ๊ฐ€๋Š” ๊ทธ๋Ÿด ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‚˜๋Š” ๊ทธ ์งˆ๋ฌธ์„ ์ •๋ง๋กœ ์ดํ•ดํ•˜์ง€ ๋ชปํ•ฉ๋‹ˆ๋‹ค.

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

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

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

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

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

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

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

์ด๋ฏธ ๊ฐ€๋น„์ง€ ์„ ํƒ์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๊ณ  ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ญ์ œ๋œ ํ”Œ๋ž˜๊ทธ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ

์ด๊ฒƒ์ด Postgres์—์„œ autovacuum์ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰ํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

์˜ค, ๊ทธ๋Š” ๊ทธ๊ฒƒ์„ํ•ฉ๋‹ˆ๊นŒ?

Autovacuum์€ ๊ฐ€๋น„์ง€ ์ˆ˜์ง‘๊ธฐ์ž…๋‹ˆ๋‹ค.

๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค!

์‹ ๊ณ ํ•ด ์ฃผ์…”์„œ ๊ฐ์‚ฌํ•ฉ๋‹ˆ๋‹ค! ๋ชจ๋“  ์“ฐ๋ ˆ๊ธฐ๊ฐ€ ๊ธฐ๋ณธ ํ…Œ์ด๋ธ”์—์„œ ์˜†์œผ๋กœ ๋”๋Ÿฌ์›Œ์ง€๋Š” ๋ฐฉ์‹์œผ๋กœ ํŒŒํ‹ฐ์…”๋‹์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ฆ‰์‹œ ์„ค๊ณ„ํ•˜๋Š” ์˜ต์…˜์ด ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฌผ๋ก  ์žˆ์Šต๋‹ˆ๋‹ค.

์‚ฌ์šฉํ•˜์ง€ ๋ง์•„์•ผ ํ•  ํ…Œ์ด๋ธ”์„ ์ž ๊ทผ ๊ฒฝ์šฐ ์šฐ๋ฆฌ ์ž์‹ ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ถœ์ฒ˜ : habr.com

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