본문 바로가기
개발자의삶/mysql

Mysql 과 MongoDB를 선택할 때 고려할 점 및 비교

by 트라네스 2022. 4. 6.
728x90
반응형

 최근에 이런저런 공부를 하고 인터뷰를 하면서 받은 질문들에 대해서 정리해보려고 한다. mysql과 mongoDB에 대한 질문과 선택의 기준에 대해서 많이 물어보는 것 같으니 한 번쯤 나의 머릿속에 확실하게 정리를 하려고 한다.

 

mysql와 mongoDB의 비교

 일단 mysql 이 갖는 RDBMS의 장점과 mongoDB가 가지고 있는 장점에 대해서 알아보자.

 

 

mysql와 mongoDB의 장점

mysql(RDS)을 사용하면 좋은 경우

  1. 스키마가 정의되어 있는 경우
  2. 데이터 무결성 보장이 필요한 경우
  3. 관계를 맺고있는 데이터가 자주 수정(변경)되는 애플리케이션일 경우

 여기서 주의할 점은 mysql의 5.7.8 이상인 경우 json을 저장할 수 있다. 여기서 json을 저장하는 것과 nosql을 사용하는 것의 차이점은?이라는 질문이 있을 수 있는데 생각을 해보자.

 

 

[mysql] MYSQL 5.7의 기본 JSON 지원 : MYSQL에서 JSON 데이터 유형의 장단점은 무엇입니까? - 리뷰나라

MySQL 5.7에서는 MySQL 테이블에 JSON 데이터 를 저장하기위한 새로운 데이터 유형 이 추가되었습니다. 분명히 MySQL에서 큰 변화가 될 것입니다. 몇 가지 이점을 나열했습니다. 문서 유효성 검사 -유효

daplus.net

 

nosql을 사용하면 좋은 경우

  1. 정확한 데이터 구조를 할 수 없거나 변경/확장될 수 있는 경우
  2. 읽기(read) 처리를 자주 하지만, 데이터를 자주 변경(update) 하지 않는 경우 (즉, 한 번의 변경으로 여러 문서를 변경할 일이 없는 경우)
  3. 데이터베이스를 수평으로 확장해야 하는 경우 - 대량의 데이터를 핸들링 하는 경우

 

mysql와 mongoDB의 단점

mysql(RDS)의 단점

  1. 상대적으로 덜 유연하고 데이터베이스 스키마는 사전에 계획하여 사용해야 합니다.
  2. 스키마는 나중에 수정하기가 힘들거나 불가능할 수 있습니다.
  3. 관계를 맺고 있기 때문에, Join문이 많은 매우 복잡한 쿼리가 만들어질 수 있습니다.

 

NoSQL의 단점

  1. 데이터 중복은 여러 컬렉션과 문서가 여러 개의 레코드가 변경된 경우 업데이트를 해야 합니다.
  2. 수정하는 경우 모든 컬렉션에서 수정해야 합니다.

 

둘중 무엇을 선택할지는 정답이 없다고 하지만 시스템 성격이 주어진다면 현재 선택할 데이터 베이스는 정해진 것으로 보인다.

728x90
반응형

'개발자의삶 > mysql' 카테고리의 다른 글

mysql과 Nosql 의 선정 기준  (0) 2025.01.23

댓글


TOP

TEL. 02.1234.5678 / 경기 성남시 분당구 판교역로