Db-connection-pool.md
SQLAlchemy์ ๊ฐ์ ORM์ ๋ํด์ ๊ณต๋ถํ๋ ์ค 'Pool ๊ด๋ฆฌ'๋ผ๋ ๋จ์ด๊ฐ ๋์ ์ฐพ์๋ณธ ๋ด์ฉ์ ๋๋ค.
ORM Session์ด DB์ ์ฐ๊ฒฐํ ํ ์์ ์ด ๋๋๋ฉด ์ฐ๊ฒฐ์ ์ข ๋ฃํ๋ ๊ฒ์ด ์๋๋ผ ๋ง๋ค์ด ๋์ connection pool์ ์ฌ์ฉํ๊ณ ๋ค์ ๋ฐํํ๋ ๋ฐฉ์....?
DB์ ์ฒ์ ์ ์ํ๋ ๊ณผ์ (getConnection())์์ ๋ถํ๊ฐ ๊ฑธ๋ฆฌ๊ฒ ๋๋๋ฐ ์ด๋ฅผ ๋ง๊ธฐ ์ํด์ ์ฌ๋ฌ๊ฐ์ ์ฐ๊ฒฐ์ ํด๋์ ํ ํ๋์ฉ ์ฌ์ฉํ๋ฉด ๋๋ ๊ฒ์ด๋ค.
ํ์ง๋ง Pool์ ๋๋ฌด ๋ง์ด ํด๋์ผ๋ฉด ๋ฉ๋ชจ๋ฆฌ์ ์๋ชจ๊ฐ ํฌ๊ณ ๋๋ฌด ์ ๊ฒ ํด๋์ผ๋ฉด Pool์ ๋ง๋ ๊ทผ๋ณธ์ ์ธ ์ด์ ๊ฐ ์ฌ๋ผ์ง ๋ฟ๋๋ฌ ๋๊ธฐ ์๊ฐ์ด ๊ธธ์ด์ง๋ค. ๋ฐ๋ผ์ ์ ๋นํ ํฌ๊ธฐ๋ก Connection Pool์ ๊ด๋ฆฌํด์ผํ๋ค.
Python์์ ์ฃผ๋ก ์ฌ์ฉํ๋ SQLAlchemy
์์๋ QueuePool์
๊ธฐ๋ณธ๊ฐ์ผ๋ก ์ฌ์ฉํ๋ค.
๊ธฐ๋ณธ ์ธ์๋ pool_size
์ max_overflow
์ด๊ณ ์ด๊ฒ์ ๊ธฐ๋ฐ์ผ๋ก connection pool ๊ฐ์๋ฅผ ๊ด๋ฆฌํ๋ค.
๋ ์์ธํ ๋ด์ฉ์ ์๋์ ํฌ์คํธ๋ฅผ ํ์ธํด๋ณด์
Last updated