> > 안녕하세요. 고수님들...
> > connection pool을 이용해서 mysql에 접근하도록하면,
> > 좀더 나은 실행속도를 얻을 수 있다는 말을 듣고,
> > 이렇게 글을 올립니다. 원래 공부를 좀 해보고 모르는 부분을
> > 올려서 물어보는 것이 정도라고 생각하지만, 이곳을 검색해보니
> > pool이라는 단어조차 없는 것을 보고, 같이 공부를 해보는
> > 것도 의미 있는 일이라 생각하여 이렇게 글을 올립니다.
> > 나중에 제가 뭔가 좀 알게되면 자답이라도 달도록 하겠습니다.
> > 그럼 좋은 하루 보내시기 바라구요..... ^^
>
> 오라클에서도 커넥션 풀이라는 개념이 있습니다. (솔직히 저도 아직은 잘 모름) 클라이언트에서 서버
> 에 접근하는데 중간에 미들웨어 개념을 둔다고 생각하면 될 듯 하네요. 중간에서 클라이언트 요구를 처
> 리하는 단계를 두고 효율적으로 클라이언트에서의 접속 요청을 처리하는 방식이지요. 그런데 mysql같은
> DB에서는 오라클이나 인포믹스같이 대형 자료를 처리하기 위한 기능은 그다지 들어있지 않지요. 이건 D
> B의 특성이지 단점은 아니라고 생각이 드네요.
예전에 connection pool 에 관해서 분명히 언급한 기억이 나는데 pool 이라는 단어조차 없다는 말을 듣고는 방금 pool 이라는 단어로 찾기를 해 보니 한 두개의 글이 더 있군요.
connection pool 이라는 것은 태준님의 말씀대로 middle-ware 의 개념에서 주로 등장하는 것이 맞습니다. 이것은 DBMS server 로 접속할 수 있는 최대한의 자원 수를 정해 두고서 클라이언트의 요청을 조절하여 DBMS 에 너무 과부하가 걸리지 않게 하여 적절한 접속이 가능하게 해 주는 역할을 합니다.
오라클에는 DB 를 정의할 때 이러한 resource 자체를 DBMS 수준에서 정의할 수 있도록 되어 있더군요. 하지만 대부분의 DBMS 에는 이러한 기능들이 없습니다. 그러므로 동시 접속자가 많을 경우 버벅될 수 밖에 없으면 때로는 오동작의 원인이 될 수 있는 것입니다. MySQL/PostgreSQL 에서는 이러한 middle ware 가 제대로 만들어 진다면 상당한 도움이 될 것이라는 생각이 듭니다. 당장은 이러한 역할을 하는 제대로 된 software 가 없는 것으로 알고 있습니다.
|