강의

멘토링

로드맵

Inflearn brand logo image

인프런 커뮤니티 질문&답변

김영빈님의 프로필 이미지
김영빈

작성한 질문수

MongoDB를 활용하여, 200억건 이상의 데이터 파이프라인 작성법

웬만하면 Insert 쓰지말고 Upsert 써주세요!!

upsert를 insert보다 권장하시는 이유는 그냥 편의적인 이유인가요?

작성

·

257

1

안녕하세요?
질문 그대로 upsert를 insert보다 권장하시는 이유는 그냥 편의적인 이유인가요?

어떤 성능상의 이유가 있는지, 유니크함을 보장하기 위한 수단인건지 등등 단순히 편의적인 이유이상의 무엇인가가 있는지 궁금합니다.(즉, 반대로 편하다는 이유만으로도 사용해도 되는지 궁금하네요)

답변 1

0

July님의 프로필 이미지
July
지식공유자

질문 감사합니다.

 

데이터가 쌓이고 관리되는 방식에 따라 다릅니다.

 

레거시로 그냥 사용하는경우도 있고.

단순히 CRUD를 구현을 하시면 INSERT를 사용하셔도 무방합니다.

 

하지만 질문주신거처럼 유니크함을 구현해야한다. 이런 경우에는 실수를 줄이기위해 UPSERT가 좀 더 적합하겠죠.

 

이는 상황에 따른거니 정답은 없습니다.

UPSERT인데도 INSERT하는 경우에만 동작을 하는 오퍼레이터인 setOnInsert 같은 부분도 존재하니

다양하게 공부하시고 구현해보시면 좋을꺼 같습니다.

 

감사합니다.

김영빈님의 프로필 이미지
김영빈

작성한 질문수

질문하기