DB/이론

[DB] SQL vs NoSQL 차이점

yubi5050 2022. 5. 17. 11:57

SQL (관계형 DB) vs NoSQL (비관계형 DB)

  SQL NoSQL
종류 MySQL, PostgreSQL, MariaDB, SQLite MongoDB, Amazon Dynamo DB, Redis
특징 장점
정해진 Schema와 데이터 관계에 따라 저장
정규화가 잘되어 있음 (데이터 중복에 최적화 됨)

단점
다만, 스키마 변경시 어렵다는 점
장점
자유로운 Schema로 비관계형 데이터 저장 형태
데이터 중복(비정규화)이 발생하기 쉬움
스케일링 고려 하기 좋고 가용성이 좋다.

단점
데이터 중복 저장 발생 가능
Join이 힘들 수 있음
(서로 다른 컬렉션의 깊은 depth에 각각 Data 존재)
역할 관계가 중요하고 데이터가 자주 수정되는 경우 연관 테이블이 없는 경우,
CRUD 읽기(R) 위주고 업데이트가 별로 없을 경우
단위 Database -> Table -> Rows(레코드) -> Columns Database -> Collecitons -> Documents -> Fields 

 

SQL vs NoSQL 선택 방법

일반적으로는 SQL (RDBMS)로 설계 해보는 것이 기본. 단, 정규화를 이용한 데이터 중복 해결에 대한 소요가 적을 때는 NOSQL 로 진행

'DB > 이론' 카테고리의 다른 글

[DB] Replication 이란? (Feat. Mysql, Mongo)  (0) 2022.10.03
[DB] Index란?  (0) 2022.08.11
[DB] Transaction 격리 수준 종류 (Isolation Level)  (0) 2022.08.10
[DB] PostgreSQL vs MySQL  (0) 2022.08.10
[DB] ORM 이란?  (0) 2022.06.02