RDBMS vs NoSQL DB

이름·2023년 7월 10일
0
post-thumbnail

RDBMS

특징

  1. 데이터의 분류, 정렬, 탐색 속도가 빠름
  2. 오랫동안 사용된 만큼 신뢰성이 높고, 어떤 상황에서도 데이터의 무결성을 보장
  3. 기존에 작성된 스키마를 수정하기가 어렵다
  4. 데이터베이스의 부하를 분석하는 것이 어렵다

장점

  1. 구조화된 데이터: RDB는 테이블과 컬럼으로 구조화된 데이터를 사용합니다.
    이는 데이터 일관성과 무결성을 유지하는 데 도움이 됩니다.
  2. 강력한 질의 언어: RDB는 SQL을 사용하여 데이터를 질의하고 조작할 수 있습니다.
    SQL은 직관적이고 강력한 질의 기능을 제공합니다.
  3. 성숙한 기술과 풍부한 생태계: RDB는 오랜 기간 동안 사용되어 왔고, 다양한 성숙한 기술과 풍부한 생태계를 가지고 있습니다.
  4. ACID 트랜잭션 지원: RDB는 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션을 지원하여 데이터 일관성과 안정성을 보장할 수 있습니다.

단점

  1. 확장성 제한: RDB는 주로 수직적인 확장에 의존하기 때문에, 단일 서버의 성능을 높이는 방식으로 확장성을 제한할 수 있습니다.
  2. 스키마 제약: 데이터의 구조를 사전에 정의해야 하므로, 스키마 변경이 어렵고 유연성이 떨어질 수 있습니다.
  3. 대량의 비정형 데이터 처리 어려움: RDB는 주로 정형화된 데이터를 처리하기 위해 설계되었기 때문에, 대량의 비정형 데이터 처리에는 제한이 있을 수 있습니다.

NoSQL DB

특징

  1. 거대한 Map으로서 key-value 형식을 지원함.
  2. 관계형 db와 달리 PK,FK JOIN등 관계를 정의하지 않음.
  3. 스키마에 대한 정의가 없다.

장점

  1. 대용량 데이터 처리를 하는데 효율적임.
  2. 읽기 작업보다 쓰기 작업이 더 빠르고 관계형 데이터베이스에 비해 쓰기와
    읽기 성능이 빠름.
  3. 데이터 모델링이 유연함.
  4. 뛰어난 확장성으로 검색에 유리함.
  5. 최적화된 키 값 저장 기법을 사용하여 응답속도나 처리효율 등에서 성능이 뛰어남.
  6. 복잡한 데이터 구조를 표현할 수 있음.
  7. NoSQL DB는 데이터를 여러 서버에 분산하여 처리하므로 확장성과 고가용성을 강조합니다. 서버 장애 시에도 데이터의 가용성을 유지할 수 있습니다.

단점

  1. NoSQL DB는 분산 환경에서 작동하기 때문에 데이터 일관성을 보장하는 데 어려움이 있을 수 있습니다. 일관성 모델을 유연하게 조정하여 선택할 수는 있지만, 데이터 일관성을 보장하는 작업은 개발자의 책임이 될 수 있습니다.
  2. 관계형 데이터베이스에 비해 NoSQL DB는 질의 기능이 상대적으로 제한적일 수 있습니다. 복잡한 조인 연산 등의 기능이 제한될 수 있습니다.
  3. NoSQL 데이터베이스는 상대적으로 최근에 등장한 기술이므로, 관계형 데이터베이스에 비해 생태계가 덜 성숙할 수 있습니다.

0개의 댓글