[초보질문] 오랜만에 왕초보 질문 하나 드려요^^ 1. 연산을 DB수준에서 하는 것과

 
Jang Dongmin

[초보질문]
오랜만에 왕초보 질문 하나 드려요^^

1. 연산을 DB수준에서 하는 것과 장고 수준에서 하는 것 중에 어떤게 더 나은가요?
그러니까 mySQL에서 자료를 불러다가 django로 연산하는게 좋은가요?
아니면 아예 mySQL에서 연산을 끝내고 django로 뿌려주기만 하는게 더 좋은가요?

2. sql3는 어느 정도 급의 site까지 cover가 가능한가요?
일반적인 회원관리가 필요한 site 정도면 무난하겠지요?
mySQL은 무겁다는 분이 계셔서.. 귀가 팔랑팔랑^^

잘 부탁드립니다.

  • 김승호

    1번은 특별한 경우가 아니면 django에서 하는 편이 좋습니다. django는 내부적으로 db에 접근할 일을 차곡차곡 쌓아 두었다가, 이 일들을 모아서 한 번에 처리하거든요.
    2번은 모바일용 앱이나 임베디드 정도는 소화할 수 있지만, 웹처럼 대용량 데이터베이스를 다뤄야 하는 경우엔 버거울 겁니다.

    Jang Dongmin

    아.. 그렇군요^^ 승호님 늘 친절하고 빠르게 답해주셔서 고맙습니다.

    Taeho Kim

    1번에 대한 답은 사람이나 상황마다 좀 다를 것 같네요. 저는 DB에서 할 수 있는 일이 있으면 최대한 DB에서 끝낸 뒤에 장고에서 처리하는 게 좋다고 생각합니다. 물론 예외도 있으니까 잘 저울질을 하셔야겠죠 ㅎㅎ

    Jang Dongmin

    아..그렇군요^^ 그런데 갑자기 혼란이.. 그런 판단은 어떻게 하면 될까요? 경험에서 나오는 건가요? ㅠㅠ

    Chinseok Lee

    Jang Dongmin 처음에는 django 에서만 처리하는 것으로 판단하여 구현/배포하시면 되실 듯 합니다. 나머진 서비스 운영하시면서 개선해나가시면 되겠죠. 경험도 쌓일 거구요.

    Jang Dongmin

    아.. 그것도 좋은 방법이겠네요^^ 일단 조언대로 따르겠습니다.

    사실 어떻게 하는게 속도가 더 빠를까 하는 생각에서 시작한 고민이었습니다.
    거기에 “SQL을 따로 공부해야 하나”라는 얄팍한 꼼수까지 더해졌구요^^

    django에선 SQL을 따로 공부하지 않아도 된다고 하는데 아무래도 아는 편이 나을 것 같아 mySQL 책을 보고 있습니다. 구조라도 좀 공부해야겠다 싶어서죠.
    여기서 생긴 질문이었습니다. 공부하기 싫은 핑계라고 할까요?ㅋ

    아무튼 관심 가져 주시고 조언해 주신 분들 너무너무 고맙습니다. 초보에겐 이만한 관심이 정말 엄청나게 든든해요^^

    Joongi Kim

    db에서 하면 좋은 건 필드값을 가지고 뭔가 연산을 거쳐 필터링한다거나 이런 것들이겠고 파이썬은 저수준 연산(산술계산 같은)을 하기엔 오브젝트화하는 데 따른 오버헤드가 큽니다. django의 쿼리조건으로 표현 가능한 건 다 그걸로 하고 그렇지 않은 것들(예를 들면 모델과 상관없는 세션값을 참조해서 처리로직 자체가 달라진다든지)은 파이썬으로 하는게 좋겠죠.

    Alex Jeong

    음 제경우는요.. Select 의 경우 장고ORM filter로쉽게 표현 되거나 sql을 쓸경우 where절에 쉽게표현되면 그걸쓰고요, 안되면 일단뽑아낸후 파이썬에서 하고있어요 복잡한 비즈니스를 구현하시려면 언젠간 sql을 공부하셔야할거같아요

    Jang Dongmin

    Joongi Kim “필드값을 가지고 연산을 해서 필터링 한다”는 말씀이 확 와닿습니다. 느낌이 와요. 감사합니다^^

    Alex Jeong 말씀대로 SQL 공부를 계속 해야겠네요^^ ORM filter가 뭔지도 모르는터라 그것도 공부를 좀 더 해야겠습니다.

    하이고.. 할 게 뭐 이리 많을까요? ㅠㅠ
    암튼 두 분 너무 감사합니다.

    Whoami Jeong

    저도 궁금해하던 거였는데.. 좋은 정보 감사합니다!!

Advertisements