• 카테고리

    질문 & 답변
  • 세부 분야

    데이터베이스

  • 해결 여부

    해결됨

몽고 DB 커넥션에 관련해서 질문드립니다.

21.01.12 18:16 작성 조회수 250

0

강의 너무 잘들었습니다. 감사합니다~!

실시간으로 db에 많은 crud요청을 하는 서버라고했을 때 

서버에서 Db에 접속하는 커넥션 객체를 Requet가 올때마다 커넥셕객채를 생성해서 Db에 접근하면

나중에 많은 Request가 올 때 문제가 발생할 것 같은데 이런경우는 보통 어떤식으로 처리를 하시나요?

커넥션은 몇개 풀링해서 그걸 돌려서 사용하시나요? 아니면 하나의 커넥션으로하는게 그냥 더 효율적인지

N개를 풀링해서 사용한다고했을때 몇만병의 유저의 요청이 들어온다고하면 몇개정도 풀링하는게 맞을지..?

보통 웹서버에서는 어떤식으로 커넥션을 관리하나요..? 동접 기준에따라 그 수치가 변경되기도 하는지 궁금합니다.

그리고 멀티쓰레드에서 동시에 같은 Db의 콜렉션의 같은 key의 value를 수정한다고 했을때 내부적으로 lock걸어서 무결성을

보장해주나요..?  Lock은 컬렉션 단위로 걸리는건지 아니면 row단위로 걸리는건지..?

글쓰다보니 너무 장황하게 질문한것 같은데.. 이해가되게 제대로 질문을 한건지 잘 모르겠네요.

감사합니다~!

답변 1

답변을 작성해보세요.

0

안녕하세요.

그러네요. 저도 글을 읽다보니 굉장히 다양한 이야기를 쭈욱 쓰셨네요. ㅎ

말씀하신 부분은 본 강의 내용은 아닌데요. 보통 커넥션 객체를 미리 만들어 놓은 상태에서, request 를 받도록 구성을 하는 경우가 많고요. 해당 백엔드 프로그램을 멀티 프로세스로 구성해서, 각 프로그램 별로 커넥션 객체가 있는 상태로 여러 요청을 처리하는 경우가 많습니다.

몇개 라는 것은 동시 접속자 수를 기반으로 테스팅을 통해 선정하게 되며, 필요하다면 여러 서버를 두어서 처리하는 경우가 많습니다.

보통 mongodb 는 수집한 데이터를 써넣기만 하는 용도로 많이 쓰기 때문에, 별도로 lock 을 건다든지 하는 경우는 성능상 이슈도 크기 때문에 쓰지 않고 있습니다.

마지막으로 다음 글도 읽어보시면, 훨씬 도움이 되실 것 같습니다.
질문하시기 전에, 다음 내용을 확인해주시면 훨씬 도움이 되실꺼예요.
첫번째, 질문 전 검색은 필수! google.co.kr 에서 질문에 대해 검색해보세요!
에러 메시지는 맨 마지막 라인을 복사해서 구글에서 검색해보시고, 질문에 대해서는 질문 관련 키워드들을 조합해서 구글에서 검색해보세요.
개발자들은 모두 이를 통해, 답변을 얻습니다. 한발짝 나아 가시려면, 반드시 이런 연습이 꼭 필요합니다.
사실 검색 없이 질문을 통해, 바로 답을 얻는 부분은 장기적으로는 큰 의미가 없어요. 궁극적으로는 프로그래밍은 답을 찾는 연습을 하셔야 합니다.
저는 한가지 확인이 필요한 사안을 위해, 20 ~ 30분 검색과 10개 이상의 블로그를 찾아보는 일을 하루에도 한두번씩 한답니다.
검색이 처음이신 분들은 개발자를 위한 정보 검색 팁을 참고하시면 훨씬 성장하시는데 도움이 되실 것입니다.
두번째, 각 강의마다, 다른 분들께서도 이미 질문하신 사항들이 있습니다.
해당 부분을 확인해보시면, 답변을 기다릴 필요 없어서, 훨씬 도움이 되실 것 같습니다.
세번째, 각자 작성하신 코드 에러의 경우는
제가 제공해드린 코드자료를 수정하지 않고, 단계별로 그대로 실행해보신 후, 해당 코드와 자신의 코드가 어떤 부분이 다른지를 단계별로 확인해보시면, 훨씬 좋습니다.
이런 부분도 개발자가 기본적으로 수행하는 작업이라서요. 반드시 필요한 부분이고, 훨씬 성장하시는데 도움이 되실 꺼예요.
마지막으로, 질문은 어느 강의 영상의 어느 구간(가능하다면 몇분 몇초)에 대해 질문하시는 것인지 꼭 명기해주세요.
그래야 맥락이 이해가 가서, 보다 좋은 답변할 수 있습니다. 구간 명기가 가능하지 않다면, 강의 영상 외적인 문의인지에 대해 확인 부탁드립니다. 본 질문 답변 란은 강의 영상 이해를 돕기 위한 자리라서요.  극히 일부 분들이지만, 일종의 보고서나, 개인 코드 수정을 요구하시는 경우도 있었는데요. 무리가 되는 문의가 쌓이면 상처가 될 수 있어서요. 좋은 강의가 선순환될 수 있도록, 이런 부분은 양해를 부탁드립니다.
잔재미코딩 Dave Lee 드림