728x90
반응형
최근에 이런저런 공부를 하고 인터뷰를 하면서 받은 질문들에 대해서 정리해보려고 한다. mysql과 mongoDB에 대한 질문과 선택의 기준에 대해서 많이 물어보는 것 같으니 한 번쯤 나의 머릿속에 확실하게 정리를 하려고 한다.
mysql와 mongoDB의 비교
일단 mysql 이 갖는 RDBMS의 장점과 mongoDB가 가지고 있는 장점에 대해서 알아보자.
mysql와 mongoDB의 장점
mysql(RDS)을 사용하면 좋은 경우
- 스키마가 정의되어 있는 경우
- 데이터 무결성 보장이 필요한 경우
- 관계를 맺고있는 데이터가 자주 수정(변경)되는 애플리케이션일 경우
여기서 주의할 점은 mysql의 5.7.8 이상인 경우 json을 저장할 수 있다. 여기서 json을 저장하는 것과 nosql을 사용하는 것의 차이점은?이라는 질문이 있을 수 있는데 생각을 해보자.
[mysql] MYSQL 5.7의 기본 JSON 지원 : MYSQL에서 JSON 데이터 유형의 장단점은 무엇입니까? - 리뷰나라
MySQL 5.7에서는 MySQL 테이블에 JSON 데이터 를 저장하기위한 새로운 데이터 유형 이 추가되었습니다. 분명히 MySQL에서 큰 변화가 될 것입니다. 몇 가지 이점을 나열했습니다. 문서 유효성 검사 -유효
daplus.net
nosql을 사용하면 좋은 경우
- 정확한 데이터 구조를 할 수 없거나 변경/확장될 수 있는 경우
- 읽기(read) 처리를 자주 하지만, 데이터를 자주 변경(update) 하지 않는 경우 (즉, 한 번의 변경으로 여러 문서를 변경할 일이 없는 경우)
- 데이터베이스를 수평으로 확장해야 하는 경우 - 대량의 데이터를 핸들링 하는 경우
mysql와 mongoDB의 단점
mysql(RDS)의 단점
- 상대적으로 덜 유연하고 데이터베이스 스키마는 사전에 계획하여 사용해야 합니다.
- 스키마는 나중에 수정하기가 힘들거나 불가능할 수 있습니다.
- 관계를 맺고 있기 때문에, Join문이 많은 매우 복잡한 쿼리가 만들어질 수 있습니다.
NoSQL의 단점
- 데이터 중복은 여러 컬렉션과 문서가 여러 개의 레코드가 변경된 경우 업데이트를 해야 합니다.
- 수정하는 경우 모든 컬렉션에서 수정해야 합니다.
둘중 무엇을 선택할지는 정답이 없다고 하지만 시스템 성격이 주어진다면 현재 선택할 데이터 베이스는 정해진 것으로 보인다.
728x90
반응형
'개발자의삶 > mysql' 카테고리의 다른 글
mysql과 Nosql 의 선정 기준 (0) | 2025.01.23 |
---|
댓글