๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿ’กCS/Database

์ปค๋„ฅ์…˜ ํ’€(Connection Pool)์ด๋ž€?

by hyeon-z 2023. 4. 5.

 

DBCP (Database Connection Pool)์ด๋ž€?

๋ฌธ์ œ์ƒํ™ฉ

ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„ ์‚ฌ์ด๋“œ์ธ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ, ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์— ๋”ฐ๋ผ Connection์ด ์ƒ์„ฑ๋œ๋‹ค๋ฉด ์ˆ˜๋งŽ์€ ์‚ฌ์šฉ์ž๊ฐ€ ์š”์ฒญ์„ ํ–ˆ์„ ๋•Œ ์„œ๋ฒ„์— ๊ณผ๋ถ€ํ•˜๊ฐ€ ๊ฑธ๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

๋ฏธ๋ฆฌ ์ผ์ • ๊ฐœ์ˆ˜์˜ Connection์„ ๋งŒ๋“ค์–ด Pool์— ์ €์žฅํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ ์š”์ฒญ์ด ๋ฐœ์ƒํ•˜๋ฉด Connection์„ ์ œ๊ณตํ•˜๊ณ  ์‚ฌ์šฉ์ž์™€์˜ ์—ฐ๊ฒฐ์ด ์ข…๋ฃŒ๋œ๋‹ค๋ฉด Pool์— ๋‹ค์‹œ ๋ฐ˜ํ™˜ํ•˜์—ฌ ๋ณด๊ด€ํ•˜๋Š” ๊ฒƒ

 

Connection Pool

 

https://beaniejoy.tistory.com/24

- ์—ฌ๋Ÿฌ DB Connection์„ ํ•˜๋‚˜์˜ Pool์— ๋ชจ์•„ ๊ด€๋ฆฌ
- DB Connection ๊ฐ์ฒด๋ฅผ ์—ฌ๋Ÿฌ ๊ฐœ ์ƒ์„ฑํ•œ ํ›„ Pool์— ๋ณด๊ด€ํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ ๋ถˆ๋Ÿฌ์™€์„œ ์‚ฌ์šฉ
- ๋นŒ๋ ค์ค„ ์ˆ˜ ์žˆ๋Š” Connection์ด ์—†๋‹ค๋ฉด Connection ๊ฐ์ฒด๊ฐ€ ๋ฐ˜ํ™˜๋  ๋•Œ๊นŒ์ง€ ํด๋ผ์ด์–ธํŠธ๋Š” ๋Œ€๊ธฐ ์ƒํƒœ
- ์‚ฌ์šฉ์ด ๋๋‚œ Connection ๊ฐ์ฒด๋Š” ๋‹ค๋ฅธ ์ž‘์—…์—์„œ ๋‹ค์‹œ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก pool์— ๋ฐ˜ํ™˜

 

DBCP๊ฐ€ ํ•„์š”ํ•œ ์ด์œ ?

 

์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์€ CRUD์™€ ๊ฐ™์€ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•  ๋•Œ ์ฃผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ด์šฉํ•ฉ๋‹ˆ๋‹ค.

DBMS๋‚˜ ๊ธฐํƒ€ ์™ธ๋ถ€์™€์˜ ์ ‘์†์ด ๋นˆ๋ฒˆํ•˜๊ฒŒ ํ•„์š”ํ•œ ์‹œ์Šคํ…œ์—๋Š” ๋ฐ˜๋“œ์‹œ ์กด์žฌํ•ด์•ผ ํ•˜๋Š” ๊ธฐ๋Šฅ์ธ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ Connection์„ ๋งบ๋Š” ์ž‘์—…์€ ๋งค์šฐ ๋А๋ฆฌ๋ฉฐ ์ž์›์„ ๋งŽ์ด ์†Œ๋ชจํ•˜๋Š” ์ž‘์—…์ž…๋‹ˆ๋‹ค.

=> ์„œ๋ฒ„๊ฐ€ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์— ์—ฐ๊ฒฐ๋˜์–ด Connection์„ ๋งบ๋Š” ์ž‘์—…์€ ๋น„์šฉ์ด ๋งŽ์ด ๋“ ๋‹ค.

 

๋ฌธ์ œ ์ƒํ™ฉ 1

์„œ๋น„์Šคํ•ด์ฃผ๋Š” Server์™€ DB ๊ฐ„์˜ ๊ฑฐ๋ฆฌ๊ฐ€ ์ƒ๋‹นํžˆ ๋จผ ๊ฒฝ์šฐ

https://beaniejoy.tistory.com/24

์„์ง€๋กœ์—์„œ Client๊ฐ€ ์„œ๋ฒ„์— ์ ‘์†ํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ๋ฅผ ์›ํ•  ๋•Œ ํ•ด๋‹น ์„œ๋ฒ„๋Š” DB์—์„œ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€์ ธ์™€์•ผ ํ•œ๋‹ค.

ํ•ด๋‹น DB๊ฐ€ ๊ต‰์žฅํžˆ ๋จผ ๊ฑฐ๋ฆฌ์— ์žˆ์„ ๊ฒฝ์šฐ ์š”์ฒญ์„ ๋ณด๋‚ด๊ณ  ์‘๋‹ต์„ ๋ฐ›์•„์˜ค๋Š” ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ฒŒ ๋˜๊ณ  Client๋Š” ๊ทธ ์‹œ๊ฐ„๋งŒํผ ๊ธฐ๋‹ค๋ฆฌ๊ฒŒ ๋œ๋‹ค.

 

๋ฌธ์ œ ์ƒํ™ฉ 2

๋‹ค์ˆ˜์˜ ์‚ฌ์šฉ์ž๊ฐ€ ๋™์‹œ๋‹ค๋ฐœ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— Connection์„ ์š”์ฒญํ•˜๋Š” ๊ฒฝ์šฐ

https://beaniejoy.tistory.com/24

DB๊ฐ€ ํ•œ ๋ฒˆ์— ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ฒŒ ๋˜๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.


DB์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜ค๊ธฐ ์œ„ํ•ด ์ฟผ๋ฆฌ๋ฌธ์„ ๋ณด๋‚ผ ๋•Œ๋งˆ๋‹ค Connection ๊ฐ์ฒด๋ฅผ ์ƒ์„ฑํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค.

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

 

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

 

Reference

https://beaniejoy.tistory.com/24

 

'๐Ÿ’กCS > Database' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[Database] ์ธ๋ฑ์Šค (Index)  (0) 2023.06.16
[Database] ํŠธ๋žœ์ ์…˜ (Transaction)  (0) 2023.06.16
[Database] ์ •๊ทœํ™”(Normalization)  (0) 2023.06.16

๋Œ“๊ธ€