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

권성현·2023년 3월 2일
0

면접 준비

목록 보기
20/30
post-custom-banner

RDB

RDB(Relational Database)란 관계형 데이타 모델에 기초를 둔 데이타베이스입니다. 관계형 데이타 모델이란 데이타를 구성하는데 필요한 방법 중 하나로 모든 데이타를 2차원의 테이블 형태로 표현해줍니다. 관계형 데이타 모델의 개념은 표현 개체의 외부개념 관례를 적용한 것으로, 데이타 간의 상관관계에서 개체간의 관계를 표현한 것이라고 할 수 있습니다.

RDB는 데이타의 독립성이 높고, 고수준의 데이타 조작언어(DML-Data Manipulation Language)을 사용하여 결합, 제약, 투영 등의 관계 조작에 의해 비약적으로 표현능력을 높일 수 있습니다. 또한 이들의 관계 조작에 의해 자유롭게 구조를 변경할 수 있다는 것이 RDB의 특징입니다.

RDB 장점

  • 데이터의 분류, 정렬, 탐색 속도가 빠르다.
  • 스키마가 명확하게 정의되어 있다.
  • 오래 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장한다.
  • 데이터를 중복 없이 한 번만 저장할 수 있다.
  • 유지보수가 편하다.
  • 정형 정보에 접근하는 가장 효율적이고 유연한 방법이다.

RDB 단점

  • 기작성된 스키마를 수정하기 어렵다.
  • 시스템이 커지면 JOIN문이 많은 복잡한 쿼리가 만들어질 수 있다.
  • 성능 향상을 위해서는 Scale-up만을 지원해 비용이 기하급수적으로 늘어날 수 있다.
  • 다른 DB에 비해 많은 자원이 활용되어 시스템 부하가 높다.

NoSQL은 비관계형 데이터베이스를 지칭한다. 즉, 관계형 데이터 모델을 지양 하며 대량의 분산된 데이터를 저장하고 조회하는 데 특화되었으며 스키마 없이 사용 가능하거나 느슨한 스키마를 제공하는 저장소를 말한다.

NoSQL

NoSQL은 기존 RDBMS 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태이다.

NoSQL의 특징

  • RDBMS와 달리 데이터 간의 관계를 정의하지 않는다.
  • RDBMS는 데이터 관계를 외래키 등으로 정의하고 JOIN 연산을 수행할 수 있지만, NoSQL은 JOIN 연산이 불가능하다.
  • RDBMS에 비해 대용량의 데이터를 저장할 수 있다.
  • 페타바이트 급의 대용량 데이터를 저장할 수 있다.
  • 분산형 구조이다.
  • 여러 곳의 서버에 데이터를 분산 저장해 특정 서버에 장애가 발생했을 때도 데이터 유실 혹은 서비스 중지가 발생하지 않도록 한다.
  • 고정되지 않은 테이블 스키마를 갖는다.
  • RDBMS와 달리 테이블의 스키마가 유동적이다. 데이터를 저장하는 칼럼이 각기 다른 이름과 다른 데이터 타입을 갖는 것이 허용된다.

NoSQL의 장점

  • RDBMS에 비해 저렴한 비용으로 분산처리와 병렬 처리 가능
  • 비정형 데이터 구조 설계로 설계 비용 감소
  • Big Data 처리에 효과적
  • 가변적인 구조로 데이터 저장이 가능
  • 데이터 모델의 유연한 변화가 가능

NoSQL의 단점

  • 데이터 업데이트 중 장애가 발생하면 데이터 손실 발생 가능
  • 많은 인덱스를 사용하려면 충분한 메모리가 필요. 인덱스 구조가 메모리에 저장
  • 데이터 일관성이 항상 보장되지 않음

❗스키마(Schema)란?

스키마는 데이터베이스의 구조와 제약조건에 관한 전반적인 명세를 기술한 것이다. 스키마는 데이터베이스를 구성하는 데이터 개체(Entity), 개체의 특성을 나타내는 속성(Attribute), 개체 사이에 존재하는 관계(Relationship) 및 데이터 조작 시 데이터 값들이 갖는 제약 조건 등에 관하여 기술한다.

📌쉽게 말해 DB 내에 데이터가 어떤 구조로 저장되는가를 나타내는 데이터베이스 구조를 스키마라고 한다.

profile
개발일지
post-custom-banner

0개의 댓글