RDBMS 와 NoSQL 개념 이해

yunseul·2024년 5월 21일

DB

목록 보기
3/4

RDBMS 란 ?

관계형 데이터베이스 관리 시스템(RDBMS)은 정형 데이터를 저장하고 관리하기 위한 것

데이터는 테이블 형태로 구성되며, 열(column)과 행(row)으로 이루어진 데이터 구조를 가지며, 테이블 간에 관계를 사전에 정의하여 데이터를 저장 및 관리

NoSQL 이란?

NoSQL 데이터베이스는 정형이 아닌 데이터, 반정형 데이터, 비구조화된 데이터를 저장하고 관리하는 데 주로 사용되는 것으로, 관계형 데이터베이스를 제외한 나머지 유형을 말함

NoSQL 데이터베이스는 다양한 데이터 모델을 제공하며, 키-값 스토어, 문서형, 열 지향, 그래프 등 다양한 모델을 포함

RDBMS 장, 단점

장점

  • 스키마가 명확하게 정의
  • 데이터 무결성 보장
  • 데이터의 중복이 없음

단점

  • 데이터 스키마를 사전에 계획해야 하므로 유연성이 떨어지며 추후 수정이 어려움
  • 관계를 맺고 있어서 조인문이 많은 복잡한 쿼리가 만들어질 수 있음
  • 수직적 확장의 한계 즉, 단일 서버의 성능을 업그레이드가 한계에 이르면 더 이상 스펙 없을 할 수 없음

NoSQL 장, 단점

장점

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

단점

  • 유연성으로 인해 데이터 구조 결정을 미루게 될 수 있음
  • 데이터 중복을 계속 업데이트 해야 함
  • 데이터가 여러 컬렉션에 중복되어 있기 때문에 수정이 필요한 경우 모든 컬렉션이 수행되어야 함
  • SQL 에 비해서 쿼리의 기능이 제한적이며, 복잡한 쿼리를 입력할 수 없음

RDBM, NoSQL 차이점

데이터 저장 방식

  • RDBMS : 미리 설정된 스키마를 기반으로 형식에 맞게 데이터를 저장
  • NoSQL : key-value, document, wide-column, graph 등의 방식으로 데이터 저장

확장성

  • RDBMS : 수직적 확장
  • NoSQL : 수평적 확장

용도

  • RDBMS : 관계형 데이터를 중심으로 한 전통적인 응용 프로그램에 적합하며, 대규모 트랜잭션 처리와 복잡한 데이터 분석을 지원
    • 회계, 재무, 뱅킹 시스템, 재고 관리 시스템, 트랜잭션 관리 시스템
  • NoSQL : 대용량 및 분산 데이터를 처리하는데 적합하며, 반정형 및 비정형 데이터를 다루는 웹 및 모바일 애플리케이션, 소셜 미디어, 로그 및 이벤트 처리 등에 많이 사용
    • 모바일 앱, 실시간 분석, 콘텐츠 관리, 맞춤화, IoT 앱, 데이터베이스 마이그레이션

NoSQL 데이터베이스 유형

key-value

  • 해시 테이블을 사용하여 key, value 의 쌍을 저장
  • key 는 알려져있지만, value 가 알려지지 않은 경우에 사용하기 적합

document

  • 문서 전체를 컬렉션이라 부르는 그룹으로 구성하여 key-value 데이터베이스의 개념을 확장
  • 중첩된 key-value 쌍을 지원
  • 문서 내의 모든 속성에 대한 쿼리를 허용

wide-column

  • 희소 데이터 행에 걸쳐 데이터와 쿼리를 효율적으로 저장
  • 데이터베이스의 특정 열에 대한 쿼리 실행 시 이점을 제공

graph

  • 노드 및 에지 기반 모델을 바탕으로 상호 연결된 데이터를 표현
  • 복잡한 관계를 간단하게 표현

참고 자료

RDBMS와 NoSQL의 차이

NoSQL 데이터베이스란? | IBM

관계형 마이닝 모델과 NoSQL 데이터 비교 - .NET

profile
새로운 것을 시도하고 도전하는 것을 좋아하는 Engineer 입니다..

0개의 댓글