RDB vs NoSQL

RDB와 NoSQL의 차이 알아보기

RDB와 NoSQL을 차이와 각각의 장단점에 대해 정리해보았습니다.

면접 질문

RDB vs NoSQL 차이를 설명해주세요.

관계형 데이터베이스(RDB)는 사전에 엄격하게 정의된 Schema를 요구하는 Table 기반 데이터 구조를 갖습니다.
NoSQL(비관계형 데이터베이스)은 Table 형식이 아닌 비정형 데이터를 저장할 수 있도록 지원합니다.

NoSQL은 언제 사용하면 좋을까요?

  • NoSQL은 정확한 데이터 구조가 정해지지 않은 경우,
  • 데이터 Update가 자주 이루어지지 않고 조회가 많은 경우,
  • Scale out이 가능하므로 데이터 양이 매우 많은 경우에 사용하면 좋습니다.

RDB는 언제 사용하면 좋을 까요?

  • 데이터 구조가 명확하여 변경될 여지가 없는 경우,
  • 데이터 중복이 없으므로 데이터 Update가 많은 경우 사용하면 좋습니다.

NoSQL

key-value storage system

기존 RDB의 경우 단일 기업의 데이터를 다루는데 최적화되어 있습니다.
하지만 다뤄야 할 데이터양이 훨씬 커진 빅데이터를 다루기에는 많은 부하가 일어납니다.

이를 처리하기 위한 방법 중 하나가 key-value storage system 입니다.
(NoSQL이 이에 해당합니다.)

NoSQL은 데이터간의 관계를 정의하지 않고, 스키마가 없어 좀 더 자유롭게 데이터를 관리할 수 있습니다.
데이터는 컬렉션이라는 형태로 관리합니다.

NoSQL의 종류

  • MongoDB
  • Cassandra
  • DynamoDB
  • Bigtable

NoSQL 장점

  • 유연하고 자유로운 데이터 구조를 가집니다.
  • 새로운 필드를 추가하는데 있어 자유롭습니다.
  • 수평적 확장(scale out)이 용이합니다.

NoSQL 단점

  • 데이터 중복이 발생할 수 있고,
  • 중복된 데이터가 변경될 경우 모든 컬렉션에서 수정이 필요합니다.
  • 스키마가 존재하지 않아 명확한 데이터 구조를 보장하지 않습니다.

© 2021. All rights reserved.

Powered by Hydejack v9.1.6