- RDBMS와 NoSQL 데이터베이스는 구조와 기능에서 차이가 있음.
- RDBMS는 행과 열이 있는 테이블로 데이터를 구조화함.
- NoSQL 데이터베이스는 미리 정의된 스키마가 없으며 테이블로 구성되지 않습니다. → 콜렉션, 도큐먼트
- RDBMS와 NoSQL 데이터베이스 간의 중요한 차이점 중 하나는 확장성임.
RDBMS 시스템은 수평적으로, 즉 여러 서버를 거쳐 확장하기 어려울 수 있지만
→ NoSQL에 비해 상대적으로.
NoSQL 데이터베이스는 수평으로 확장하기에 적합하여 대량의 데이터를 처리하는 데 더 적합
→ 다수의 스토리지를 사용해 분산(복제).
- RDBMS 데이터베이스는 엄격한 데이터 일관성과 잘 정의된 스키마가 필요한 애플리케이션에 더 적합하며, NoSQL 데이터베이스는 유연성과 확장성이 필요한 애플리케이션에 더 적합.
- 최종적으로 선택은 데이터 유형, 일관성 수준 및 확장성 및 성능 요구 사항을 고려하여 결정해야함
→ 일반적으론 둘다 쓰는게 더 좋았음. + Redis까지
RDB와 NoSQL: 장단점
관계형 데이터베이스 관리 시스템(RDBMS)
장점:
- 데이터 일관성: RDBMS 시스템은 데이터 일관성을 보장하기 위해 설계되어 데이터 일관성이 엄격하게 필요한 애플리케이션에 이상적.
- 잘 정의된 스키마: RDBMS의 구조는 정의된 스키마에 기반하여 데이터의 구조와 관련성을 구조화함.
- ACID 준수: RDBMS 데이터베이스는 일반적으로 ACID 준수를 유지하여
데이터의 원자성, 일관성, 격리성 및 지속성을 보장.
단점:
- 수평적으로 확장하기 어려움: RDBMS 시스템은 여러 서버에 분산해두어도 데이터의 일관성을 항상 보장하기 위해서 동기화 하는 과정에서 네트워크 오버헤드가 발생할수 있고 이는 상대적 으로 확장이 어려워짐
- 비구조화된 데이터에 적합하지 않음: RDBMS는 재무 거래 또는 재고 관리에서 찾을 수 있는 데이터와 같은 구조화된 데이터에 더 적합함.
NoSQL 데이터베이스
장점:
- 유연성: NoSQL 데이터베이스는 미리 정의된 스키마가 없으므로 데이터를 저장하는 데 더 큰 유연성을 제공합니다.
- 확장성: NoSQL 데이터베이스는 수평적으로 확장하기 적합하여 대량의 데이터를 처리하는 데 더 적합함.
여러 노드에 데이터를 분산해두기에 새로운 레플리카를 만들어도 노드가 추가되는 개념임
- 비구조화된 데이터에 적합: NoSQL 데이터베이스는 소셜 미디어나 실시간 분석에서 찾을 수 있는 비구조화된 데이터에 더 적합합니다.