![[기술 면접] 3. RDB와 NoSQL을 비교해서 설명해주세요. 1 제목을 입력해주세요 복사본 8 001](http://allhoneytip.com/wp-content/uploads/2023/08/제목을-입력해주세요__복사본-8-001-300x300-optimized.png)
지난 시간에 이어서, 이번엔 RDB(Relation DataBase)와 NoSQL(Not Only SQL)에 대해 알아보겠습니다. 자주 등장하는 내용이며, 프로젝트 기획 시에 DB를 선택할 수 있는 기본 지식이니 꼼꼼하게 알아보도록 합니다.
![[기술 면접] 3. RDB와 NoSQL을 비교해서 설명해주세요. 2 RDB NoSQL](http://allhoneytip.com/wp-content/uploads/2023/08/image-13-optimized.png)
Q: RDB와 NoSQL을 비교해서 설명해주세요.
RDB는 사전에 엄격하게 정의된 Schema를 기반으로 정형 데이터만 저장할 수 있으며, NoSQL은 Schema 없이 비정형 데이터를 저장할 수 있도록 지원합니다.
RDB는 중복을 허용하지 않기 때문에 UPDATE가 많을 때 유리하며, NoSQL은 중복으로 인해 데이터 UPDATE 시 모든 컬렉션에서 수정이 필요하기 때문에 UPDATE가 적고 조회가 많을 때 유리합니다.
Q: NoSQL은 언제 사용해야 하나요?
정확한 데이터 구조가 정해지지 않은 경우, 데이터 UPDATE가 잘 이루어지지 않고, 조회가 많은 경우, 또 Scale out이 가능하므로 데이터 양이 매우 많은 경우에 사용하면 좋습니다.
Q: RDB는 언제 사용해야 하나요?
데이터 구조가 명확하여 변경될 여지가 없는 경우나 중복이 없으므로 UPDATE가 잦은 경우에 사용하면 좋습니다.
Q: RDB에서 N:M 관계에 대해서 설명해주세요.
양쪽 entitiy 모두가 서로에게 1:N 관계를 갖는 구조를 말합니다. 보통 새로운 Mapping Table을 사용하여 관계를 맺습니다.
Q: 1:N 관계에 대해서 설명해주세요.
RDB에서 하나의 Entity(table)가 관계를 맺는 Entitiy의 여러 객체를 가지는 구조를 말합니다.
Q: LEFT OUTER JOIN, INNER JOIN 차이를 설명해주세요.
JOIN은 두 개 이상의 테이블을 서로 연결하여 하나의 결과물을 출력합니다. LEFT OUTER JOIN은 왼쪽 TABLE의 모든 행에 대해서 JOIN을 하고, INNER JOIN은 두 테이블에 모두 있는 내용만 JOIN하는 방식입니다.
JOIN 관련 추천 서적
SQL의 JOIN 등을 더 공부하실 수 있는 책 3권 추천해 드립니다. 🙂
마치며
이번 시간엔 RDB와 NoSQL에 관련된 질문들에 대해 알아보았습니다. 추가로 RDB 관계, JOIN과 관련된 간단한 질문도 알아보았는데요, 인지하고 있던 내용이지만, 말로 표현해본 적이 없다면, 바로 대답이 안 나올 가능성이 큽니다. 이번 기회를 통해 한 번 정리하는 계기가 되었으면 하네요.
다음 시간엔, 트랜잭션(Transaction)에 대해 알아보도록 하겠습니다.
![[기술 면접] 3. RDB와 NoSQL을 비교해서 설명해주세요. 6 image 14](http://allhoneytip.com/wp-content/uploads/2023/08/image-14-optimized.png)
“이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다.”
답글 남기기