RDBMS
- 테이블 구조를 기반으로 한 정형 데이터 저장
- SQL을 사용한 복잡한 쿼리 지원
- ACID(Atomicity, Consistency, Isolation, Durability) 속성 보장
NoSQL (Not Only SQL)
- 다양한 데이터 모델(Document, Key-Value, Column-Family, Graph)을 지원
- 스키마가 없거나 유연한 스키마
- 분산 아키텍처를 통한 높은 확장성
성능 비교
- 읽기/쓰기 속도
RDBMS: 복잡한 쿼리를 지원하지만, 대량의 데이터를 처리할 때 성능 저하 가능
NoSQL: 단순한 키-값 조회에 최적화되어 높은 읽기/쓰기 성능 제공
- 확장성
RDBMS: 수직 확장(Scale-Up)이 일반적이며, 수평 확장(Scale-Out)은 어려움
NoSQL: 수평 확장(Scale-Out)에 최적화되어 있어 데이터 증가에 따라 용이하게 확장 가능
- 일관성 및 가용성
RDBMS: 일관성을 우선시하며, 트랜잭션 관리가 뛰어남
NoSQL: 가용성을 우선시하며, eventual consistency 모델을 채택하는 경우가 많음
eventual consistency 관련
RDBMS의 장단점
- 장점
- 데이터 무결성 보장
- 복잡한 쿼리 및 조인 지원
- 성숙한 기술 및 도구 지원
- 단점
NoSQL의 장단점
- 장점
- 높은 확장성
- 유연한 스키마
- 빠른 데이터 읽기/쓰기 속도
- 단점
참고
https://node-js.tistory.com/23
https://ud803.github.io/%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4/2021/11/16/RDB-vs.-NoSQL-%EC%96%B8%EC%A0%9C-%EB%88%84%EA%B5%AC%EB%A5%BC-%EC%8D%A8%EC%95%BC%ED%95%A0%EA%B9%8C/