관계형 DB와 비 관계형 DB의 차이점은 무엇인가요?

2025. 1. 17. 09:33·백엔드 면접

관계형 데이터베이스는 고정된 로우와 컬럼으로 구성된 테이블에 데이터를 저장합니다. 그리고 SQL을 사용하여 여러 테이블에 존재하는 데이터와 관계에 따라서 조인하여 합칠 수도 있습니다. 관계형 데이터베이스는 데이터를 중복 없이 한 번만 저장하고, 데이터 무결성을 보장합니다. 또한 일반적으로 스케일 업을 사용하여 확장합니다.

하지만 관계형 데이터베이스는 스키마를 유연하게 바꾸기 어렵다는 한계가 있습니다. 그리고 관계가 존재하기 때문에 비즈니스 요구사항이 복잡해짐에 따라 쿼리도 복잡해지게 됩니다.

 

반면 NoSQL이라고도 불리는 비 관계형 데이터베이스는 정해진 스키마가 존재하지 않아 자유롭게 데이터를 저장하고 조회할 수 있습니다. document, graph, key-value 등 다양한 유형이 존재합니다. 비 관계형 데이터베이스는 대량의 데이터와 높은 사용자 부하에서도 쉽게 확장할 수 있습니다. 하지만 중복을 허용하기 때문에 데이터 일관성을 보장받을 수 없어 일관성이 저하되며 용량이 증가한다는 단점이 있습니다.


어떤 상황에서 각 유형의 데이터베이스를 사용하는 것이 적절할까요?

데이터가 구조화되어 있고, 자주 변경되지 않으며 데이터 무결성과 일관성이 중요한 경우 관계형 데이터베이스를 선택할 수 있습니다. 예를 들어 트랜잭션이 필요한 서버 애플리케이션을 개발하는 경우가 있습니다.

 

반면 아주 낮은 응답 지연시간이 요구되거나 다루는 데이터의 스키마가 빈번하게 변경되거나, 아주 많은 양의 데이터를 저장해야 하는 상황에서는 비 관계형 데이터베이스를 고려할 수 있습니다.

'백엔드 면접' 카테고리의 다른 글

응집도와 결합도에 대해서 설명해 주세요.  (0) 2025.01.23
HTTP/1.1과 HTTP/2.0에 대해서 설명해 주세요.  (0) 2025.01.16
프로세스보다 스레드의 컨텍스트 스위칭이 더 빠른 이유는 무엇인가요?  (0) 2025.01.15
스케일 아웃과 스케일 업의 차이점을 설명해 주세요.  (0) 2025.01.14
ACID에 대해서 설명해 주세요.  (0) 2025.01.13
'백엔드 면접' 카테고리의 다른 글
  • 응집도와 결합도에 대해서 설명해 주세요.
  • HTTP/1.1과 HTTP/2.0에 대해서 설명해 주세요.
  • 프로세스보다 스레드의 컨텍스트 스위칭이 더 빠른 이유는 무엇인가요?
  • 스케일 아웃과 스케일 업의 차이점을 설명해 주세요.
이런개발
이런개발
geun-00의 흔적 보관소
  • 이런개발
    내일이 기대되는 오늘
    이런개발
  • 전체
    오늘
    어제
    • 분류 전체보기 N
      • 백엔드 면접
      • SQL N
        • SUM, MAX, MIN
        • SELECT
        • GROUP BY
        • JOIN
      • Spring
      • JPA
      • 트러블슈팅
      • Infra
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    오블완
    JPA
    데브코스
    raid
    스프링
    토스 페이먼츠
    자바
    백엔드 면접
    티스토리챌린지
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
이런개발
관계형 DB와 비 관계형 DB의 차이점은 무엇인가요?
상단으로

티스토리툴바