카테고리 없음

(09/15 기술면접 스터디) RDB과 NoSQL차이, Join이란?

khw7876 2022. 9. 21. 21:55

1. RDB와 NoSQL은 무엇인가요? 차이점 또는 장단점 위주로 설명해주세요.

  • RDB (관계형 데이터베이스)
    • 매우 정교한 초기 설계로 구성
    • 테이블 사이에 서로 의존성이 있다.
    • 트랜잭션의 ACID가 보장된다.(원자성 Atomicity, 일관성 Consistency, 고립성 Isolation, 지속성 Durability)
  • NoSQL
    • 테이블(혹은 컬렉션 혹은 또 다른 명칭) 사이에 딱히 명시된 제약이나 규칙이 없다.
    • 연산이 빠르고 빅데이터 & 실시간 연산에 적합하다,
  • RDB는 스키마가 정적이지만, NoSQL은 유연한 스키마 구조를 갖는다.
  • RDB는 관계형으로 관리를 하는 반면 NoSQL은 데이터, 테이블 간의 관계를 정의하지 않는다.
  • Nosql은 key값만으로 데이터에 대한 입,출력을 수행할 수 있기에 복잡하고 용량이 큰 데이터들을 관리하기 용이하다.
  • 말로하는 답
    • Nosql은 데이터간의 관계를 명시하지 않고, Key, Value로 명시한다. Key, Value로 구성이 되어있기에, 복잡도가 떨어지기에 훨씬 대용량의 데이터를 저장, 관리하기에 용이하다.
    • RDB는 관계형 데이터 베이스이다. 말 그대로 관계를 정의한 DB로서 테이블관의 관계를 이용하기때문에 복잡도가 높다. 대신에 데이터의 분류, 정렬, 탐색, 속도가 비교적 빠르다.

 

2. Join의 뜻은 무엇인가요? Inner Join과 Left (Outer) Join에 대한 차이점을 설명해주세요.

  • Join이란 두개의 테이블 사이의 관계를 만들어 원하는 데이터를 추출하는 방식입니다.
  • ORM에서 FK로 참조를 할 때 자주 발생한다.
  • Inner join은 두 테이블을 조인할 때, 두 테이블에 모두 지정한 열의 데이터가 있어야 한다. (교집합)
  • Other join은 두 테이블을 조인할 때, 1개의 테이블에만 데이터가 있어도 결과가 나온다.
  • 어떤 행을 기준으로 other join을 하느냐에 left, right, full other join으로 나뉘게 된다.
  • 말로하는 답
    • Inner Join은 두개의 테이블이 모두 공통으로 가지고 있는 필드를 조인하는 방식이다.
    • other조인은 한개의 테이블에만 있는 필드를 기준으로 조인을 할 때 발생되는데, 한쪽에만 초점을 맞추어 합집합으로 조인을 하게되면 left, right로 나뉘게 되며 만약 모두에 초점을 맞추어 합집합을 하게된다면 full other join이 되게된다.
    • Join이란 두개의 테이블 사이에 관계를 만들어서 원하는 데이터를 추출하는 방식이다.

 

 

(나에 대한 팀원들의 피드백!!)

말을 하다보면 중간에 시선이 하늘을 향할 떄가 있다. 시선처리를 신경써보도록 하자!

말이 너무 빠른편이다. 발음에 신경을 써서 말을 조금 천천히 하도록 해보자.