코드코코

MySQL VS mongoDB 본문

이것저것

MySQL VS mongoDB

코드코코 2022. 5. 5. 13:33

SQL(Structured Query Language)

SQL은 RDBMS(관계형 데이터베이스 관리 시스템)의 데이터를 관리하기 위해 설계된 프로그래밍 언어

NoSQL보다 오래되고 많이 사용되어 옴.

예시 :  MySQL, PostgreSQL 등

SQL은 데이터베이스가 아니라 언어지만, 글 작성의 편리함을 위해 이 글에서는 SQL을 RDBMS의 의미로 사용

NoSQL(Not Only Structured Query Language)

SQL보다 덜 제한적인 모델을 이용해 데이터의 저장 및 검색 메커니즘을 제공

예시 : mongoDB, redis 등

 


차이점

1. 데이터 구조(structure)

SQL에서는 엄격한 스키마(데이터 저장 구조)를 원칙으로 하기 때문에, 스키마에 맞지 않는 형식의 데이터는 저장할 수 없습니다.

 

NoSQL은 데이터의 구조가 같을 필요가 없습니다. 

2. 관계(Relationship)

SQL은 각 테이블 간의 관계 지정을 통해 테이블을 접근할 수 있고, 따라서 중복 없이 해당 데이터만을 다룰 수 있습니다.

 

NoSQL에서는 보통 하나의 컬렉션(SQL에서의 테이블)에 관련 데이터를 모두 작성합니다. 이런 방식은 SQL과 다르게 중복된 데이터가 생기게 됩니다. 그래서 데이터를 업데이트할 때마다 주의해야 합니다.

3. 확장성(Scalability)

SQL은 일반적으로 수직적 확장(vertical scale)만을 지원합니다. 수직적 확장은 하드웨어를 업그레이드하거나 추가하여 서버의 성능을 향상시키는 것을 말합니다. 

 

NoSQL에서는 수평적 확장(horizontal scale)이 가능합니다. 서버를 추가하면서 데이터베이스를 분산시킬 수 있습니다.

 

 

SQL vs NoSQL 정리

참고 : https://mjmjmj98.tistory.com/43

 

[DB] SQL vs NoSQL(mySQL vs MongoDB) 비교, 차이점

SQL과 NoSQL 소개 [SQL(Structured Query Language)] SQL은 RDBMS(관계형 데이터베이스 관리 시스템)의 데이터를 관리하기 위해 설계된 프로그래밍 언어로, NoSQL보다 오래되고 많이 사용되어 왔습니다. SQL의 예.

mjmjmj98.tistory.com

 

'이것저것' 카테고리의 다른 글

[Typescript] class  (0) 2022.06.20
[OOP] Object-Oriented-Programming - 객체지향 프로그래밍  (0) 2022.06.19
[SASS] Sass 7-1 Architecture  (0) 2022.06.18
프로토콜이란?  (0) 2022.05.16