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