inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

[리뉴얼] Node.js 교과서 - 기본부터 프로젝트 실습까지

몽고디비 설치하기

프로젝트 때 이런 이유로 mongoDB를 사용하였는데 알맞게 사용한게 맞을까요?

505

이룸

작성한 질문수 11

0

안녕하세요 제로초님! 

같이 프로젝트를 진행한 동기가 말하기를

"서비스에 join 작업이 많은 데이터의 반복적인 요청이 많을때에는 lazy loading 이슈가 있을 수 있기 때문에 mongoDB를 사용하는게 좋다" 고 하는데... 이게 무슨 말인지 잘 모르겠습니다.

mysql에서 join한 데이터를 반복적으로 조회하는게 lazy loading 이슈가 있을 수 있다는 건 이해가 되지만, mogoDB도 mongoose의 populate를 사용하기 때문에 똑같이 lazy loading 이슈가 있을 수 있는거 아닌가요? 

nosql mongodb nodejs mysql Sequelize

답변 1

0

제로초(조현영)

lazy loading 이슈라는게 무슨 이슈를 말씀하시는건가요? lazy loading은 기법이지 그 자체로 이슈는 아닙니다. lazy loading 기법 시 데이터의 중복 이슈가 많다는 것을 말씀하신 건가요?

몽구스 파퓰레이트도 orm 레이지로딩이랑 비슷한 것이라 똑같다고 생각됩니다. 데이터 중복도 잘만 하면 피할 수 있습니다. graphql의 data-loader같은 라이브러리가 그런 역할을 합니다.

0

이룸

제가 설명이 부족했습니다. lazy loading이라고 표현한 것은 단순히 데이터를 받아오는데 오래걸린다는 뜻이었습니다. 이렇게 사용하는 단어가 아니었다니 죄송합니다.

그리고 데이터 중복 문제보다는

'join 작업이 많이 필요한 데이터 요청일 경우에 join하는 과정에서 오래걸릴 수 있기 때문에 join을 사용하지 않는 mongoDB를 사용하는게 좋다'

라는 말이 맞는 말인지 다시 한번 질문드립니다!

0

제로초(조현영)

그 말이 맞으려면 몽고디비 하나의 다큐먼트 안에 관련 데이터를 모두 갖고 있어야 합니다. 이런 경우 몽고디비가 더 빠를 수는 있겠으나, 데이터 수정, 삭제가 어려워서 상황에 따라서는 더 불리할 수 있습니다. 하나의 다큐먼트 안에 관련 데이터를 모두 갖고 있지 않다면 sql과 똑같은 join 작업을 거쳐야 해서 몽고디비가 이점이 없습니다.

0

이룸

mongoose를 사용하면서 데이터 타입을 정형화 할 수 있고, join도 할 수 있다면 제로초님 말씀대로 이점이 없어 보이는데 기업에서 mongoDB를 사용하려는 이유는 확장성에서의 장점이 크게 작용하기 때문에 사용하는걸까요? 

mongoDB가 방대한 데이터에 유리하다는 것 외에는 사용하는 이유를 잘 모르겠습니다 ㅠㅠ

0

제로초(조현영)

대부분의 서비스는 sql이 정답입니다. 대부분은 데이터가 관계를 형성하고 있어서 그렇습니다. 저도 공부는 했지만 실무에서 몽고디비를 그렇게 활용해본 적은 없습니다.

0

이룸

현업에서는 sql 비중이 많이 높은가보네요 ㅎㅎ 더 공부해보면서 몽고디비가 꼭 필요한 순간이 느껴지길 기다려봐야겠습니다! 

제로초님 친절하게 답변 주셔서 감사합니다!!

리눅스 노드 설치시 패키지

0

162

0

socket.js 에서 referer로부터 roomId를 가져올 때

0

907

3

스트리밍 방식으로 대용량 파일 업로드 & 다운로드 관련 질문

0

2281

2

a[title] 질문드립니다

0

376

1

리뉴얼 강의 및 공부 방법

0

583

1

jwt decode

0

1129

1

node.js 교과서 3판 질문드립니다

0

392

1

passport와 jwt

0

434

1

리뉴얼 강의

0

421

2

혹시 Node.js 교과서 3판 이북은 언제 나오나요?

0

355

1

몽고디비 사용자도 MYSQL부분을 들어야 하나요???

0

482

1

sql 쿼리 로그는 어떤 모듈이 작성하나요?

0

506

2

nunjucks res.render('error'); 작동을 안합니다.

0

512

1

질문있습니다.

0

348

1

multer 한글 파일 업로드시 파일명이 깨져요.

1

3536

1

수업자료는 어디있나요?

0

368

1

질문 있습니디

0

237

1

multer 사용시 file 외 name값은 못받나용?

0

417

1

코드 중복 부분 질문드립니다.

0

299

1

api 만드는 이유 질문드립니다.

0

288

1

Strategy의 done에 대해 질문드립니다.

0

367

1

안녕하세요 fs 권한 관련 질문드립니다

0

451

1

시퀄라이즈 연결질문...

0

500

2

res.setHeader vs res.cookie

0

1789

3