오늘은 반드시 이해하고 가야겠다고 생각했던
RDBMS 와 NoSQL 에 대해 알아 보았습니다.
What is RDBMS ?
RDBMS는 관계형 데이터베이스 관리 시스템입니다.
테이블이 다른 테이블들과 관계를 맺고 모여있는 집합체로 볼 수 있고,
이러한 관계를 나타내기 위해 외래 키라는 것을 사용하는 특징이 있습니다.
예시로는 MySQL과 PostgreSQL 등이 있습니다.
What is NoSQL ?
NoSQL은 빅데이터가 등장하면서, 점점 데이터와 트래픽이 기하급수적으로 증가하는 상황에서 고안되었습니다.
테이블 간 관계를 정의하지 않고, 데이터 테이블은 그냥 하나의 테이블로 테이블 간 Join 이 불가능합니다.
예시로는 MongoDB, Redis 등이 있습니다.
RDBMS vs NoSQL
1Round : 장점
RDBMS
- 데이터 일관성을 지킬 수 있습니다.
- 정해진 스키마에 따라 데이터를 저장해야하므로 명확한 데이터 구조를 보장합니다.
- 각 데이터를 중복없이 한 번만 저장할 수 있습니다.
NoSQL
- 유연하고 자유로운 데이터 구조를 가질 수 있습니다.
- 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있습니다.
- 데이터 분산이 용이하여 수평적 확장을 쉽게 할 수 있고, 비용이 적게 듭니다.
2Round : 쓰임새
RDBMS
- 데이터 구조가 명확하며 변경 될 여지가 없으며 명확한 스키마가 중요한 경우 사용됩니다.
- 데이터 무결성이 지켜져 변경이 용이하므로 관계를 맺고 있는 데이터가 자주 변경되는 시스템에 적합합니다.
NoSQL
- 막대한 데이터를 저장해야 하는 시스템에 적합합니다.
- 데이터 중복이 발생할 수 있으므로 수정이 별로 없는 시스템에 적합합니다.
참고 : https://velog.io/@betterfuture4/DB-RDBMS-vs-NOSQL