You need to enable JavaScript to run this app.
Hwanny
D
L
RDBMS vs NoSQL
November 09, 2021
RDBMS
관계형 데이터베이스 관리 시스템
관계형 데이터 모델을 기초로 두고 모든 데이터를 2차원 테이블 형태로 표현하는 데이터베이스
2차원 구조의 테이블 형태를 통해 자료를 표현
테이블이 다른 테이블과 관계를 맺고 모여있는 집합체
관계를 나타내기 위해
외래 키 (foreign key)
라는 것을 사용함
테이블 간의 관계에서 외래 키를 이용한 테이블 간 Join이 가능하다는 것이 가장 큰 특징
장점
정해진 스키마에 따라 데이터를 저장하여야 하므로 명확한 데이터 구조를 보장함
각 데이터를 중복없이 한 번만 저장할 수 있음
단점
테이블 간 관계를 맺고 있어 시스템이 커질 경우 Join 문이 많은 복잡한 쿼리가 만들어 질 수 있음
성능 향상을 위해서는 서버의 성능을 향상시켜야하는 Scale-Up 만을 지원함 -> 비용 증가
스키마로 인해 데이터가 유연하지 못함. 스키마가 변경될 경우 번거롭고 어려움
NoSQL
관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술
테이블 간 관계를 정의하지 않음
테이블 간 Join도 불가능
데이터 일관성은 포기하되 비용을 고려햐여 여러 곳에 분산하여 저장하는 Scale-Out을 목표로 함
장점
스키마가 없기 때문에 유연하며 자유로운 데이터 구조를 가질 수 있음. - 언제든지 저장된 데이터를 조정하고 새로운 필드를 추가할 수 있음
데이터 분산이 용이하며 성능 향상을 위한 Scale-up 뿐만이 아닌 Scale-out도 가능함
단점
데이터 중복이 발생할 수 있으며 중복된 데이터가 변경될 경우 수정을 모든 컬렉션에서 수행해야 함
스키마가 존재하지 않기 때문에 명확한 데이터 구조를 보장하지 않으며 데이터 구조 결정이 어려울 수 있음
Share on Facebook
Share on Twitter
Buy me a coffee
Written by
@Myunghwan
Nothing changes if nothing changes
GitHub
← TIL_11092021
추상클래스와 인터페이스 →