๊ธ€ ์ž‘์„ฑ์ž: ๊ฐœ๋ฐœํ•˜๋Š” ํ›ˆ์ด

ํŠธ๋žœ์žญ์…˜(Transaction)

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

 

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

 

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

ํŠธ๋žœ์žญ์…˜์˜ ์„ฑ์งˆ(ACID)

ํŠธ๋žœ์žญ์…˜์€ ACID๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ๋„ค ๊ฐ€์ง€ ์„ฑ์งˆ์„ ๊ฐ€์ ธ์•ผํ•ฉ๋‹ˆ๋‹ค.

  1. Atomicity(์›์ž์„ฑ) : ํŠธ๋žœ์žญ์…˜์— ๊ด€๋ จ๋œ ์ž‘์—…์€ ๋ชจ๋‘ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ํ˜น์€ ์‹คํ–‰๋˜์ง€ ์•Š๋„๋ก ๋ณด์žฅ๋˜์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  2. Consistency(์ผ๊ด€์„ฑ) : ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์ด ์„ฑ๊ณต์ ์œผ๋กœ ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•ด์•ผํ•ฉ๋‹ˆ๋‹ค.
  3. Isolation(๋…๋ฆฝ์„ฑ) : ํ•˜๋‚˜์˜ ํŠธ๋žœ์žญ์…˜์ด ์ˆ˜ํ–‰๋˜๊ณ  ์žˆ์„ ๋•Œ๋Š” ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ์ ‘๊ทผํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.
  4. Durability(์ง€์†์„ฑ) : ํŠธ๋žœ์žญ์…˜์ด ์™„์ˆ˜๋˜๋ฉด ๊ทธ ๊ฒฐ๊ณผ๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์˜๊ตฌ์ ์œผ๋กœ ๋ฐ˜์˜๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

Commit and Rollback

Commit : ๋ณ€๊ฒฝ์‚ฌํ•ญ์˜ ์ €์žฅ

Commit์€ ํŠธ๋žœ์žญ์…˜์˜ ์ž‘์—…์ด ์ •์ƒ์ ์œผ๋กœ ์ข…๋ฃŒ๋˜์–ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋˜์—ˆ๊ณ  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋‹ค์‹œ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋งํ•ฉ๋‹ˆ๋‹ค.

START TRANSACTION;
SELECT * FROM student WHERE age=21;
COMMIT;

์œ„์ฒ˜๋Ÿผ ์šฐ๋ฆฌ๊ฐ€ ์ผ๋ฐ˜์ ์œผ๋กœ ์ž‘์„ฑํ–ˆ๋˜ ์ฟผ๋ฆฌ๋Š” ํŠธ๋žœ์žญ์…˜๊ณผ ์ปค๋ฐ‹์œผ๋กœ ์Œ“์—ฌ์ ธ์žˆ๋Š” ๊ฒƒ์ด ๊ธฐ๋ณธ๊ฐ’์ž…๋‹ˆ๋‹ค.

Rollback : ํŠธ๋žœ์žญ์…˜ ์ทจ์†Œ

Rollback ์€ ์ง„ํ–‰์ค‘์ด๋˜ ํŠธ๋žœ์žญ์…˜ ์ž‘์—…์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜ํ•˜์ง€ ์•Š๊ณ  ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์œผ๋กœ ์ž‘์—…์„ ์ทจ์†Œํ•˜๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค.

SELECT * FROM history;
START TRANSACTION;
DELETE * FROM history;
SELECT * FROM history;
ROLLBACK;
SELECT * FROM history;

์œ„์™€ ๊ฐ™์€ ์ฟผ๋ฆฌ๋ฅผ ๊ตฌ์„ฑํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜์ด ๋ช…์‹œ์ ์œผ๋กœ ์‹œ์ž‘๋œ ์ดํ›„์— ์—ฐ์‚ฐ๋˜๋Š” DELETE์™€ SELECT๊ฐ€ ROLLBACK์œผ๋กœ ์ธํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฐ˜์˜๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜ ์ฟผ๋ฆฌ๋ฌธ์˜ ์ง‘ํ•ฉ์ด์—ˆ๋‹ค๋ฉด DELETE๊ฐ€ ๋˜์—ˆ๊ธฐ ๋–„๋ฌธ์— ์ดํ›„ ์—ฐ์‚ฐ์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์—†์—ˆ๊ฒ ์ง€๋งŒ, ๋กค๋ฐฑ์œผ๋กœ ์ธํ•ด ์›๋ž˜ ํ…Œ์ด๋ธ”๋กœ ๋Œ์•„๊ฐ”๊ธฐ ๋•Œ๋ฌธ์— ๋งˆ์ง€๋ง‰ ์ฟผ๋ฆฌ๋ฅผ ์ ์šฉํ•  ์ˆ˜๊ฐ€ ์žˆ๊ฒŒ๋ฉ๋‹ˆ๋‹ค.

Read-Only Transactions

์–ด๋–ค ํŠธ๋žœ์žญ์…˜์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์“ด๋Š ์ž‘์—…์€ ํ—ˆ์šฉํ•˜์ง€ ์•Š๊ณ  ์ฝ๊ธฐ ์ž‘์—…๋งŒ ํ—ˆ์šฉํ•˜๋Š” ๊ฒƒ์„ Read-Only Transaction์œผ๋กœ ์ง€์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ๊ธฐ๋งŒ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”๊ฟ”๋ฒ„๋ฆฌ๋Š” ์œ„ํ—˜์„ฑ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ผ๋ฐ˜ Read & Write ํŠธ๋žœ์žญ์…˜๋ณด๋‹ค ๋ณ‘๋ ฌ์„ฑ์„ ๋Š˜๋ฆฌ๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

SET TRANSACTION READ ONLY;
START TRANSACTION;
...
COMMIT; or ROLLBACK;

Isolation Level

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

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

SET TRANSACTION ISOLATION LEVEL <LEVEL>;
START TRANSACTION;
...
COMMIT; or ROLLBACK;

Issues in Isolation Level

ํŠธ๋žœ์žญ์…˜์€ Isolation level ์— ๋”ฐ๋ผ ๋ช‡๊ฐ€์ง€ ์ด์Šˆ๋“ค์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Phantom Read : ์–ด๋–ค ํŠธ๋žœ์žญ์…˜ T1์ด SELECT๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ์–ป๊ณ  ๋ฐ”๋กœ ์ดํ›„์— T2 ํŠธ๋žœ์žญ์…˜์ด INSERT ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ์ปค๋ฐ‹ํ–ˆ๋‹ค๋ฉด, T1์ด ๋‹ค์‹œํ•œ๋ฒˆ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๊ฒ€์ƒ‰ํ–ˆ์„ ๋•Œ T2์— ์˜ํ•ด์„œ ์ฒซ ์กฐํšŒ์—๋Š” ์—†์—ˆ๋˜ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๊ฐ€ ์ถ”๊ฐ€๋œ ์ฑ„๋กœ ์กฐํšŒ๋ฉ๋‹ˆ๋‹ค.
  2. Nonrepeatable Read : ์–ด๋–ค ํŠธ๋žœ์žญ์…˜ T1์ด SELECT๋ฅผ ํ†ตํ•ด ๋ฐ˜๋ณต์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์žˆ์„ ๋•Œ, ์ƒˆ๋กœ์šด ํŠธ๋žœ์žญ์…˜ T2๊ฐ€ ๋ฐ์ดํ„ฐ๋ฅผ UPDATEํ•˜๊ณ  ์ปค๋ฐ‹์„ ํ•œ๋‹ค๋ฉด, T1์€ ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ๋Š” ๊ฐ’๊ณผ ๋‹ค๋ฅธ ๊ฐ’์„ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.
  3. Dirty Read : ์–ด๋–ค ํŠธ๋žœ์žญ์…˜ T1์ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•˜๊ณ  ์•„์ง ์ปค๋ฐ‹ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ, ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๊ฒŒ๋˜๋ฉด ์•„์ง ์ปค๋ฐ‹๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ๊ฐ€๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋ฐ์ดํ„ฐ๋Š” ์ตœ์ข…์ ์œผ๋กœ ์ปค๋ฐ‹๋œ๋‹ค๋Š” ๋ณด์žฅ์ด ์—†์Šต๋‹ˆ๋‹ค.

Set Isolation Level

LEVEL 3 : SERIALIZABLE

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

LEVEL 2 : REPEATABLE READ

ํ•œ ํŠธ๋žœ์žญ์…˜ ์•ˆ์—์„œ ํ•œ๋ฒˆ ์กฐํšŒํ•œ ๋‚ด์šฉ์€ ์—ฌ๋Ÿฌ๋ฒˆ ์กฐํšŒํ•ด๋„ ๊ณ„์† ๊ฐ™์€ ๊ฐ’์„์œ ์ง€ํ•˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ๋ฐฉ์นจ์€ ๋Œ€์ƒ ํŠธ๋žœ์žญ์…˜์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ด๋ฏธ ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋œ ๋ฐ์ดํ„ฐ๋งŒ์„ ์กฐํšŒํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์˜ UPDATE ์—ฐ์‚ฐ์˜ ์˜ํ–ฅ์„ ๋ฐ›์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Dirty Read, Nonrepeatable Read ์ด์Šˆ๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ INSERT ์—ฐ์‚ฐ์„ ํ†ตํ•ด ๋‹ค๋ฅธ ํŠธ๋žœ์žญ์…˜์ด ํ…Œ์ด๋ธ”์— ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜๊ฒŒ๋˜๋ฉด ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐ์ดํ„ฐ์˜ ์ง‘ํ•ฉ์ด ๋‹ฌ๋ผ์ง€๊ธฐ ๋•Œ๋ฌธ์— Phantom Read ์ด์Šˆ๋Š” ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

LEVEL 1 : READ COMMITTED

์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋“ค์ด ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐฉ์นจ์ž…๋‹ˆ๋‹ค. ์ด ๋ฐฉ์นจ์€ ์ปค๋ฐ‹์ด ์™„๋ฃŒ๋œ ๋ฐ์ดํ„ฐ๋งŒ ์ฝ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Dirty Read ๋ฌธ์ œ๋Š” ๋ฐœ์ƒํ•˜์ง€ ์•Š์ง€๋งŒ Nonrepeatable Read ๋‚˜ Phantom Read๋Š” ๋ฐœ์ƒํ•  ์—ฌ์ง€๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

LEVEL 0 : READ UNCOMMITED

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