๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์•ˆ๋…•ํ•˜์„ธ์š” ์—ฌ๋Ÿฌ๋ถ„. Vladislav Rodin๋‹˜์ด ์—ฐ๋ฝ์„ ์ฃผ์…จ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ํ˜„์žฌ OTUS์˜ High Workload Architect ๊ณผ์ •์˜ ์ฝ”์Šค ๋ฆฌ๋”์ด๋ฉฐ ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜ ๊ณผ์ •๋„ ๊ฐ€๋ฅด์น˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

๊ฐ€๋ฅด์น˜๋Š” ๊ฒƒ ์™ธ์—๋„, ์•„์‹œ๋‹ค์‹œํ”ผ ์ €๋Š” Habrรฉ์˜ OTUS ๋ธ”๋กœ๊ทธ์— ์›๋ณธ ์ž๋ฃŒ๋ฅผ ์ž‘์„ฑํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๊ฐ•์ขŒ ๊ฐœ์„ค์— ๋งž์ถฐ ์˜ค๋Š˜์˜ ๊ธฐ์‚ฌ๋„ ํ•จ๊ป˜ ์ž‘์„ฑํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. "ํฌ์ŠคํŠธ๊ทธ๋ ˆSQL", ํ˜„์žฌ ๋“ฑ๋ก์ด ์ง„ํ–‰ ์ค‘์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์†Œ๊ฐœ

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

์ ˆ์—ฐ

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

๊ฐ€์žฅ ์ž˜ ์•Œ๋ ค์ง„ ์ด์ƒ ํ˜„์ƒ์€ ๋”ํ‹ฐ ์ฝ๊ธฐ(dirty read), ๋ฐ˜๋ณต ๋ถˆ๊ฐ€๋Šฅ ์ฝ๊ธฐ, ํŒฌํ…€ ์ฝ๊ธฐ(phantom read)์ด์ง€๋งŒ ์‹ค์ œ๋กœ๋Š” ๋”ํ‹ฐ ์“ฐ๊ธฐ, ์ปค์„œ ์—…๋ฐ์ดํŠธ ์†์‹ค, ์—…๋ฐ์ดํŠธ ์†์‹ค, ์ฝ๊ธฐ ํŽธํ–ฅ, ์“ฐ๊ธฐ ํŽธํ–ฅ ๋“ฑ 5๊ฐ€์ง€๊ฐ€ ๋” ์žˆ์Šต๋‹ˆ๋‹ค.

๋”๋Ÿฌ์šด ์“ฐ๊ธฐ

์ด์ƒ ํ˜„์ƒ์˜ ๋ณธ์งˆ์€ ํŠธ๋žœ์žญ์…˜์ด ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฎ์–ด์“ธ ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

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

๋”๋Ÿฌ์šด ์ฝ๊ธฐ

๋”ํ‹ฐ ์ฝ๊ธฐ(Dirty Read)๋Š” ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์ƒ˜ํ”Œ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์กฐ์น˜๋‚˜ ๊ฒฐ์ •์„ ๋‚ด๋ ค์•ผ ํ•  ๋•Œ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

์ด์ƒ ํ˜„์ƒ์„ ์ˆ˜์ •ํ•˜๊ธฐ ์œ„ํ•ด ์ฝ๊ธฐ ์ž ๊ธˆ์„ ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์ด๋Š” ์„ฑ๋Šฅ์— ํฐ ์˜ํ–ฅ์„ ๋ฏธ์นฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์žญ์…˜ ๋กค๋ฐฑ์˜ ๊ฒฝ์šฐ ๋ฐ์ดํ„ฐ์˜ ์ดˆ๊ธฐ ์ƒํƒœ(๊ธฐ๋ก ์‹œ์ž‘ ์ „)๊ฐ€ ์‹œ์Šคํ…œ์— ์ €์žฅ๋˜์–ด์•ผ ํ•œ๋‹ค๊ณ  ๋งํ•˜๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ๊ฑฐ๊ธฐ๋ถ€ํ„ฐ ์ฝ์–ด๋ณด๋ฉด ์–ด๋–จ๊นŒ์š”? ๋Œ€๋ถ€๋ถ„์˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ๊ธฐ๋ณธ์ ์œผ๋กœ ๋”ํ‹ฐ ์ฝ๊ธฐ๋ฅผ ์ œ๊ฑฐํ•  ๋งŒํผ ์ถฉ๋ถ„ํžˆ ์ €๋ ดํ•ฉ๋‹ˆ๋‹ค.

์—…๋ฐ์ดํŠธ ์†์‹ค

์—…๋ฐ์ดํŠธ ์†์‹ค์€ ์—…๋ฐ์ดํŠธ ์†์‹ค์„ ์˜๋ฏธํ•˜๋ฉฐ ๋ฒˆ์—ญ์€ ๋ฌธ์ œ์˜ ๋ณธ์งˆ์„ ๋งค์šฐ ์ •ํ™•ํ•˜๊ฒŒ ๋ฐ˜์˜ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ปค์„œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์†์‹ค๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

๋ณด๋‹ค ๋ฏธ์„ธํ•œ ์ œ์–ด๋ฅผ ์œ„ํ•ด ๋ฒ ์ด์Šค๋Š” ์ปค์„œ์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ๋„๊ตฌ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ปค์„œ๋Š” ์ผ๋ จ์˜ ํ–‰์„ ํฌํ•จํ•˜๊ณ  ์ด๋ฅผ ๋ฐ˜๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค. select_statement์— ๋Œ€ํ•ดcursor_name์„ ์„ ์–ธํ•ฉ๋‹ˆ๋‹ค.. ์ปค์„œ์˜ ๋‚ด์šฉ์€ ์„ ํƒ์œผ๋กœ ์„ค๋ช…๋ฉ๋‹ˆ๋‹ค.

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

๋ฐ˜๋ณต ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฝ๊ธฐ

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ด๋Ÿฌํ•œ ์ด์ƒ ํ˜„์ƒ์€ XNUMX์ƒ ์ธํ„ฐ๋ก์„ ์ถ”๊ฐ€ํ•˜๊ฑฐ๋‚˜ MVCC ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์‚ฌ์šฉํ•˜๋ฉด ๋” ์ด์ƒ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด์— ๋Œ€ํ•ด์„œ๋Š” ๋ณ„๋„๋กœ ๋…ผ์˜ํ•˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

ํŒฌํ…€ ์ฝ๊ธฐ

Phantom์€ ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ์ถ”๊ฐ€๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

์˜ˆ๋ฅผ ๋“ค์–ด, ์ด๋Ÿฌํ•œ ์ด์ƒ์ด ๋ฐœ์ƒํ•  ๋•Œ ๊ฐ€์žฅ ์ €๋ ดํ•œ ์ œํ’ˆ์„ ์ž˜๋ชป ์„ ํƒํ•˜๋Š” ๊ฒƒ์„ ๊ด€์ฐฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํŒฌํ…€ ์ฝ๊ธฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๊ฒƒ์€ ์ด๋ฏธ ๋งค์šฐ ์–ด๋ ต์Šต๋‹ˆ๋‹ค. ์•„์ง ์กด์žฌํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ์ฐจ๋‹จํ•  ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ •๊ธฐ์ ์ธ ์ฐจ๋‹จ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. 2PL ์‹œ์Šคํ…œ์€ ์˜ˆ์ธก ์ž ๊ธˆ์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐ˜๋ฉด MVCC ์‹œ์Šคํ…œ์—๋Š” ์‚ฝ์ž…์œผ๋กœ ์ธํ•ด ์ค‘๋‹จ๋  ์ˆ˜ ์žˆ๋Š” ํŠธ๋žœ์žญ์…˜์„ ๋กค๋ฐฑํ•˜๋Š” ํŠธ๋žœ์žญ์…˜ ์Šค์ผ€์ค„๋Ÿฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฒซ ๋ฒˆ์งธ์™€ ๋‘ ๋ฒˆ์งธ ๋ฉ”์ปค๋‹ˆ์ฆ˜์€ ๋ชจ๋‘ ์ƒ๋‹นํžˆ ๋ฌด๊ฒ์Šต๋‹ˆ๋‹ค.

ํŽธํ–ฅ ์ฝ๊ธฐ

์ฝ๊ธฐ ํŽธํ–ฅ์€ ๋‚ด์šฉ์ด ์ง€์†์ ์œผ๋กœ ๋ณ€๊ฒฝ๋˜์–ด์•ผ ํ•˜๋Š” ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”๋กœ ์ž‘์—…ํ•  ๋•Œ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

๊ฒŒ์‹œ๋ฌผ๊ณผ ํ•ด๋‹น ๋ฉ”ํƒ€ ์ •๋ณด๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํ•œ ํŠธ๋žœ์žญ์…˜์€ ํ…Œ์ด๋ธ”์—์„œ ์ฝ๊ณ  ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์€ ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

ํŠธ๋žœ์žญ์…˜ T1์˜ ๊ฒฐ๊ณผ๋กœ ๊ฒŒ์‹œ๋ฌผ์˜ ์ œ๋ชฉ์€ ์ข‹์Œ, ์—…๋ฐ์ดํŠธ๋œ_by๋Š” T2์ด๋ฉฐ ์ด๋Š” ์ผ์ข…์˜ ๋ถˆ์ผ์น˜์ž…๋‹ˆ๋‹ค.

์‹ค์ œ๋กœ ์ด๋Š” ๋ฐ˜๋ณต ๋ถˆ๊ฐ€๋Šฅํ•œ ์ฝ๊ธฐ์ด์ง€๋งŒ ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด T1์€ ์ฝ์„ ๋ชจ๋“  ํ–‰์— ์ž ๊ธˆ์„ ์„ค์ •ํ•˜์—ฌ ํŠธ๋žœ์žญ์…˜ T2๊ฐ€ ์ •๋ณด๋ฅผ ๋ณ€๊ฒฝํ•˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. MVCC์˜ ๊ฒฝ์šฐ T2 ๊ฑฐ๋ž˜๊ฐ€ ์ทจ์†Œ๋ฉ๋‹ˆ๋‹ค. ์ปค์„œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ด๋Ÿฌํ•œ ์ด์ƒ ํ˜„์ƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์“ฐ๊ธฐ ์™œ๊ณก

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ด๋Š” ๋™์ผํ•œ ๋ฐ˜๋ณต ๋ถˆ๊ฐ€๋Šฅ ์ฝ๊ธฐ์ž…๋‹ˆ๋‹ค. ๋˜๋Š” ์„ ํƒํ•˜๋ฉด ์ด๋Ÿฌํ•œ ๋ ˆ์ฝ”๋“œ์— ์ž ๊ธˆ์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํŠธ๋žœ์žญ์…˜ ๊ฒฉ๋ฆฌ ์ˆ˜์ค€์„ ์•ฝํ™”์‹œํ‚ค๋ฉด ์–ด๋–ค ๊ฒฐ๊ณผ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

๋ฌธ์ œ์˜ ์›์ธ์€ ํŒฌํ…€ ํŒ๋…๊ณผ ์ •ํ™•ํžˆ ๋™์ผํ•ฉ๋‹ˆ๋‹ค.

์กฐ์‚ฌ ๊ฒฐ๊ณผ

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

๊ณผ์ •์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณด์„ธ์š”.

์ถœ์ฒ˜ : habr.com

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