Spring/Spring DB

[์Šคํ”„๋ง DB 1ํŽธ] - 5. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๊ตฌ์กฐ์™€ DB ์„ธ์…˜

hello_u 2023. 3. 15. 16:24

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ๊ตฌ์กฐ

 

์‚ฌ์šฉ์ž๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„(WAS)๋‚˜ DB ์ ‘๊ทผ ํˆด ๊ฐ™์€ ํด๋ผ์ด์–ธํŠธ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํด๋ผ์ด์–ธํŠธ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ์—ฐ๊ฒฐ์„ ์š”์ฒญํ•˜๊ณ  ์ปค๋„ฅ์…˜์„ ๋งบ๊ฒŒ ๋œ๋‹ค.

 

์ด๋•Œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋Š” ๋‚ด๋ถ€์— ์„ธ์…˜์ด๋ผ๋Š” ๊ฒƒ์„ ๋งŒ๋“ ๋‹ค.

 

๊ทธ๋ฆฌ๊ณ  ์•ž์œผ๋กœ ํ•ด๋‹น ์ปค๋„ฅ์…˜์„ ํ†ตํ•œ ๋ชจ๋“  ์š”์ฒญ์€ ์ด ์„ธ์…˜์„ ํ†ตํ•ด์„œ ์‹คํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

 

 

 

 

Database Session

 

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์†์„ ์‹œ์ž‘์œผ๋กœ, ์—ฌ๋Ÿฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ์ ‘์† ์ข…๋ฃŒ๊นŒ์ง€์˜ ์ „์ฒด ๊ธฐ๊ฐ„์„ ์˜๋ฏธํ•œ๋‹ค.

 

 

 ์„ธ์…˜ ์•ˆ์—๋Š” ์—ฌ๋Ÿฌ๊ฐœ์˜ ํŠธ๋žœ์žญ์…˜์ด ์กด์žฌํ• ์ˆ˜ ์žˆ์œผ๋ฉฐ(ํ•˜๋‚˜ ์ด์ƒ์˜),

 

์ผ๋ฐ˜์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ์—ฌ๋Ÿฌ ๊ณณ์—์„œ ๋™์‹œ์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งŽ์€ ์„ธ์…˜์ด ๋™์‹œ์— ์—ฐ๊ฒฐ๋ ์ˆ˜ ์žˆ๋‹ค.

 

 

 ์„ธ์…˜์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณ€๊ฒฝ, ์‚ญ์ œ๊ฐ€ ํ™•์ •๋ ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ ์กฐ์ž‘์„ ๋ถ„๋ฆฌ์ฒ˜๋ฆฌํ•จ์œผ๋กœ์จ

 

๋ฐ์ดํ„ฐ์™€ ํ…Œ์ด๋ธ”๊ณผ์˜ ๊ด€๊ณ„๋ฅผ ๋ณด์กดํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

 

 ํŠน์ • ์„ธ์…˜์—์„œ ์กฐ์ž‘์ค‘์ธ ๋ฐ์ดํ„ฐ๋Š” Transaction์ด commit ๋˜๊ธฐ ์ „๊นŒ์ง€ ๋‹ค๋ฅธ ์„ธ์…˜์—์„œ ์กฐ์ž‘ํ•  ์ˆ˜ ์—†๋‹ค.

 

 

 

์‚ฌ์šฉ์ž์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์†์ด ์ด๋ฃจ์–ด์ง€๋ฉด ์„ธ์…˜์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

 

์„ธ์…˜์€ ์‚ฌ์šฉ์ž๊ฐ€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐ๋˜์–ด ์žˆ๋Š” ๋™์•ˆ ๊ณ„์† ์œ ์ง€๋˜๊ณ ,

 

๊ฐ ์„ธ์…˜์—๋Š” SID(Sesiion ID)์™€ ์‹œ๋ฆฌ์–ผ๋ฒˆํ˜ธ(Serial#)๊ฐ€ ๋ถ€์—ฌ๋ฉ๋‹ˆ๋‹ค.

 

SID์™€ ์‹œ๋ฆฌ์–ผ๋ฒˆํ˜ธ๊ฐ€ ๋‘๊ฐœ ์กด์žฌํ•˜๋Š” ์ด์œ ๋Š” ์„ธ์…˜์ด ์ข…๋ฃŒ๋˜์—ˆ์œผ๋‚˜ ๋‹ค๋ฅธ ์„ธ์…˜์ด ๋™์ผํ•œ SID๋ฅผ ๊ฐ–๊ณ  ์‹œ์ž‘๋˜์—ˆ์„ ๋•Œ

 

์„ธ์…˜ ๋ช…๋ น๋“ค์ด ์ •ํ™•ํ•œ ์„ธ์…˜์— ์ ์šฉ๋  ์ˆ˜ ์žˆ๋„๋ก ํ•˜๊ธฐ์œ„ํ•ด์„œ ์ž…๋‹ˆ๋‹ค.

 

 

 

์ปค๋„ฅ์…˜ ํ’€์ด 10๊ฐœ์˜ ์ปค๋„ฅ์…˜์„ ์ƒ์„ฑํ•˜๋ฉด, ์„ธ์…˜๋„ 10๊ฐœ ๋งŒ๋“ค์–ด์ง„๋‹ค.

 

 

 

์ปค๋„ฅ์…˜์„ ํŒŒ์ดํ”„๋กœ, ์„ธ์…˜์„ ํŒŒ์ดํ”„๋ฅผ ์ด๋ฃจ๋Š” ์™€์ด์–ด๋“ค๋กœ ์ƒ๊ฐํ•˜๋ฉด ๊ฐœ๋…์ด ์‰ฝ๊ฒŒ ์™€๋‹ฟ์„ ๊ฒƒ์ด๋‹ค.

 

 

 

์˜ˆ์ œ

//ํŠธ๋žœ์žญ์…˜ ์‹œ์ž‘
set autocommit false; //์ˆ˜๋™ ์ปค๋ฐ‹ ๋ชจ๋“œ
    insert into member(member_id, money) values ('newId1',10000);
    insert into member(member_id, money) values ('newId2',10000);

 

์„ธ์…˜ 1์—์„œ ์‹ ๊ทœ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. 

 

์™ผ์ชฝ : ์„ธ์…˜1                 /              ์˜ค๋ฅธ์ชฝ : ์„ธ์…˜2

 

์•„์ง ์„ธ์…˜1์ด ์ปค๋ฐ‹์„ ํ•˜์ง€ ์•Š์€ ์ƒํƒœ์ด๊ธฐ ๋•Œ๋ฌธ์— ์„ธ์…˜1์—์„œ๋Š” ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์ด์ง€๋งŒ, 

 

์„ธ์…˜2์—์„œ๋Š” ์ž…๋ ฅํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ณด์ด์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค.

 

 

์„ธ์…˜1์ด ํŠธ๋žœ์žญ์…˜์„ ์ปค๋ฐ‹ํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์‹ค์ œ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ฐ˜์˜๋œ๋‹ค.

 

์ปค๋ฐ‹ ์ดํ›„์—๋Š” ๋ชจ๋“  ์„ธ์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋กค๋ฐฑ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€๋‹ค. 

 

 

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-1/dashboard

 

์Šคํ”„๋ง DB 1ํŽธ - ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ํ•ต์‹ฌ ์›๋ฆฌ - ์ธํ”„๋Ÿฐ | ๊ฐ•์˜

๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์— ํ•„์š”ํ•œ DB ๋ฐ์ดํ„ฐ ์ ‘๊ทผ ๊ธฐ์ˆ ์„ ๊ธฐ์ดˆ๋ถ€ํ„ฐ ์ดํ•ดํ•˜๊ณ , ์™„์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํ”„๋ง DB ์ ‘๊ทผ ๊ธฐ์ˆ ์˜ ์›๋ฆฌ์™€ ๊ตฌ์กฐ๋ฅผ ์ดํ•ดํ•˜๊ณ , ๋” ๊นŠ์ด์žˆ๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค., - ๊ฐ•์˜

www.inflearn.com