RDBMS와 NoSQL의 차이

문해피와 제육볶음·2023년 10월 25일
0

데이터베이스

목록 보기
13/14

무지성으로 어디서 쓰고 어떤 환경에서만 쓰는지 알았지 구체적으로 알아야할 필요성을 느꼈습니다.

💡차이점

데이터 구조, 스키마, 일관성, 확장성이 서로 다릅니다.

RDBMS와 NoSQL모두 데이터베이스 관리 시스템이지만 서로 다른 특징과 장단점을 가지고 있습니다.
RDBMS는 데이터의 일관성을 유지하고 무결성을 지키는데 효과적이고 복잡한 쿼리를 지원하는데 장점이 있고, NoSQL은 확장성과 성능이 뛰어나며 대규모 데이터와 비정형 데이터 처리에 접합합니다.

RDBMS

데이터베이스를 관리하고 운영하는 소프트웨어입니다. 다양한 데이터가 저정된 데이터베이스에 여러명의 사용자 혹은 응용프로그램에 동시에 접근이 가능하며 데이터를 공유할 수 있어야 합니다.

관계형 데이터베이스는 정해진 스키마에 맞춰서 테이블에 저장되는 점과, 데이터는 관계를 통해서 여러개의 테이블에 분산되어 저장된다는 점입니다.

장점

  • 데이터의 중복이 없다
  • 데이터 무결성을 보장한다
  • 스키마가 명확하게 정의되어 있다

단점

  • 데이터 스키마를 사전에 정하면서 추후에 수정이 어려워 유연성이 떨어진다
  • 관계를 가진 테이블끼리 JOIN을 통해서 복잡한 쿼리가 만들어 진다.
  • 대체로 수직적 확장만 가능하다

NoSQL

NoSQL은 비관계형 데이터베이스로 정해진 스키마가 없어 유연한 스키마를 제공하고 관계형 데이터베이스를 제외한 나머지 유형을 말합니다. 최근 웹 어플리케이션이 보편화되고 복잡해지면서 인기가 높아지고 있습니다.

정해진 스키마가 없는 유연한 스키마를 지원하고, RDBMS에 있었던 테이블이나 관계를 형성하는 개념이 없습니다.

장점

  • 정해진 스키마가 없어 유연하고 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.
  • 어플리케이션이 필요로 하는 데이터의 형식으로 저장되기 때문에 읽어오는 속도가 빠릅니다.
  • 수직 및 수평 확장이 가능해서 애플리케이션이 발생시키는 모든 읽기와 쓰기 요청 처리가 가능하다.

단점

  • 데이터의 중복을 지속적으로 확인해야한다
  • 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정이 필요한 경우 모든 컬렉션에서 수행해야 한다.

RDBMS와 NoSQL의 차이점

데이터 구조

RDBMS는 정해진 스키마를 바탕으로 테이블을 구성하고 그 테이블에 맞게 데이터가 저장되며, 이러한 테이블들은 서로 관계를 형성하게 됩니다. 하지만 NoSQL은 이러한 스키마나 테이블, 관계를 형성하는 개념이 없이 데이터를 키-값 저장소, 문서 데이터베이스, 배열 데이터베이스, 그래프 데이터베이스와 같은 다양한 구조로 저장합니다.

스키마

RDBMS는 데이터 스키마를 통해 데이터의 구조를 정의합니다. 데이터 스키마는 데이터의 컬럼, 데이터 유형, 제약 조건을 정의합니다. 데이터 스키마는 데이터의 무결성을 보장하는 데 도움이 됩니다. NoSQL은 데이터 스키마가 없거나 유연한 데이터 스키마를 사용합니다. 유연한 데이터 스키마는 데이터 구조를 변경하기 쉽게 합니다.

일관성

RDBMS는 데이터의 일관성을 지키는데 효율이 좋습니다. ACID 트랜젝션을 통하여 데이터의 일관성을 보장합니다. 반면 NoSQL의 경우 데이터의 일관성을 지키지 않습니다.

여기서 데이터의 일관성은 데이터의 상태를 항상 최신 상태로 유지한다는 개념입니다.

확장성

RDBMS는 수직적 확장을 통해 더 강력한 서버로 업그레이드 하면서 용량을 늘리게 됩니다. 반면 NoSQL은 수평적 확장으로 여러 서버에 데이터를 분산하여 데이터베이스의 용량을 늘리게 됩니다.

0개의 댓글