sql nosql
--sql
관계형 데이터 베이스
엄격한 데이터 스키마
데이터를 동일한 테이블에 저장하고 참조하는 방식
장점
데이터의 무결성
데이터의 중복이 없음
정해진 스키마 틀이 있기 떄문에 구조 예측 용이
여러 데이터를 합쳐서 불러오기 수월
단점
테이블 재구성이 어렵고, 구조가 복잡
수직적 확장 가능, 수평적 확장 어려움
데이터 분산이 불가
--nosql
비관계형 데이터 베이스
스키마가 없음
모든 데이터를 하나의 컬렉션 안에 저장
데이터를 분산
장점
스키마가 없어서 유연하게 데이터 조정
데이터 저장이 편리
수직, 수평 확장이 가능
복잡한 조인을 사용 X
단점
유연성 데이터로 구조 결정이 힘듦
데이터의 중복으로 불완전한면
원하는 데이터 한번에 추출이 어려움
--어느때 어떤 sql을 사용?
sql
데이터가 자주 변경
변경 여지가 없는 명확한 스키마가 사용자,데이터에게 중요할때
nosql
정확한 데이터 구조를 알수 없거나 변경/확장 될 가능성이 있을때
데이터 읽기를 자주하고, 변경을 자주 안할때
데이터를 수평 확장 고려